[LinuxFocus-icon]
Home  |  Map  |  Index  |  Zoek

Nieuws | Archieven | Links | Over LF
Dit document is beschikbaar in: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Turkce  Korean  

convert to palmConvert to GutenPalm
or to PalmDoc

[Foto van de Auteur]
door Atif Ghaffar
<aghaffar/at/developer.ch>

Over de auteur:
Ik woon en werk in Zwitserland als web- en Unixbeheerder. Mijn interesses zijn onder andere Linux, Unix, Perl, Apache en GPL-software. Meer informatie over mijzelf is te vinden op mijn homepagina

Vertaald naar het Nederlands door:
Tom Uijldert <Tom.Uijldert/at/cmgplc.com>

Inhoud:

 

Hergebruik van IP-adressen met Apache

[Illustratie]

Kort:

Dit artikel legt uit hoe meerdere webservers kunnen worden bediend met het gebruik van slechts één IP-adres met Apache op Unix/Linux. Aangenomen wordt dat de lezer enigszins op de hoogte is met Apache, DNS en Linux.
Doelgroep voor dit artikel zijn ISP's, systeembeheerders en eenieder met interesse voor dit onderwerp.

_________________ _________________ _________________

 

Waarom IP-adressen hergebruiken?

Er zijn een aantal redenen aan te voeren voor het hergebruik van IP-adressen.
  1. Je komt meestal al snel IP-adressen tekort
  2. Je hebt maar één IP-adres (bij mij het geval)
  3. Het gebruik van meerdere adressen vergt meer administratie en beheer
 

Hoe een IP-adres opnieuw te gebruiken

Met Apache is het simpel om meerdere domains te bedienen met een enkel IP-adres.
Voor dit artikel nemen we aan dat het IP-adres 192.168.1.1 is en de naam van de machine hometranet.home. Voeg gewoon onderstaande regel toe aan je httpd.conf bestand. NameVirtualHost 192.168.1.1:80 Vervolgens voegen we drie verzonnen servers toe met hetzelfde IP-adres.
#Machine voor Unix bestanden
<VirtualHost 192.168.1.1:80>
	ServerName	unix.hometranet.home
	DocumentRoot	/www/unix/html
	ScriptAlias	/cgi-bin/ /www/unix/cgi-bin/
	TransferLog	/www/unix/logs/access_log
	ErrorLog	/www/unix/logs/error_log
</VirtualHost>

#Machine voor Perl bestanden
<VirtualHost 192.168.1.1:80>
	ServerName	perl.hometranet.home
	DocumentRoot	/www/perl/html
	ScriptAlias	/cgi-bin/ /www/perl/cgi-bin/
	TransferLog	/www/perl/logs/access_log
	ErrorLog	/www/perl/logs/error_log
</VirtualHost>


#Hierop zetten we gave Apache programma's
<VirtualHost 192.168.1.1:80>
	ServerName	apache.hometranet.home
	DocumentRoot	/www/apache/html
	ScriptAlias	/cgi-bin/ /www/apache/cgi-bin/
	TransferLog	/www/apache/logs/access_log
	ErrorLog	/www/apache/logs/error_log
</VirtualHost>

Aldus hebben we hiermee eenvoudig 3 verschillende, verzonnen, machines onder beheer.

Voeg vervolgens CNAMES of A records toe aan het zonebestand van je nameserver voor alle drie de machines en vergeet niet het serienummer op te hogen :) Voor bijvoorbeeld mijn bestand /var/named/hometranet.home.fwd zou ik het volgende toevoegen:

perl.hometranet.home. IN A 192.168.1.1 apache.hometranet.home. IN A 192.168.1.1 unix.hometranet.home. IN A 192.168.1.1 Let op: als je de machine een andere naam geeft dan geconfigureerd dan zal alleen de eerstgenoemde machine reageren.
Vóór versie 1.3 van Apache was het de laatstgenoemde machine.
Voor dit voorbeeld: als de machine madmag heet dan zal de aanroep http://madmag.hometranet.com hetzelfde zijn als het aanroepen van unix.hometranet.home.

 

Het gebruik van wildcards en dynamische machinenamen

Dit is het leuke gedeelte. Apache staat het gebruik van wildcards toe in namen van machines.
Dit betekent dat het gebruik van een naam als *.home.hometranet.home reacties oplevert van machines als user1.home.hometranet.home, user2.home.hometranet.home, user3.home.hometranet.home enz.
Voorbeeld:
#host for users
<VirtualHost 192.168.1.1:80>
	ServerName	home.hometranet.home
	ServerAlias     *.home.hometranet.home
        DocumentRoot	/www/home/html
	TransferLog	/www/home/logs/access_log
	ErrorLog	/www/home/logs/error_log
</VirtualHost>
en een toevoeging in het named zone bestand:
*.home.hometranet.home.  IN      A       192.168.1.1
Let op: deze truc gaat niet op als je gebruik maakt van Microsoft DNS Server. Kennelijk weigert deze wildcards in machinenamen (maar die gebruik je niet, toch?).
Op deze manier heb ik eens een klein systeem gemaakt die gebruikers in staat stelt hun CV aan een database toe te voegen waarbij, met gebruikmaking van bovenstaande truc, je de CV kon raadplegen via hunUserNaam.cv.developer.ch.  

Mijn configuratiebestand met verzonnen machines

Hier tref je een wat uitgebreider configuratiebestand die ik uit mijn httpd.conf bestand heb gehaald. Deze staat op mijn server.

Om het bestand aan je httpd.conf toe te voegen kun je de include opdracht gebruiken:

include "/etc/vhosts.conf"
 

Verdere informatie

[Apache name-based Virtual Host Support]
http://www.apache.org/docs/vhosts/name-based.html
[Apache Virtual Host documentation]
http://www.apache.org/docs/vhosts/index.html
[An In-Depth Discussion of Virtual Host Matching]
http://www.apache.org/docs/vhosts/details.html
 

Talkback voor dit artikel

Elk artikel heeft zijn eigen talkback pagina. Daar kan je commentaar geven of commentaar van anderen lezen:
 talkback pagina 

Site onderhouden door het LinuxFocus editors team
© Atif Ghaffar, FDL
LinuxFocus.org
Vertaling info:
en --> -- : Atif Ghaffar <aghaffar/at/developer.ch>
en --> nl: Tom Uijldert <Tom.Uijldert/at/cmgplc.com>

2004-06-30, generated by lfparser version 2.36