Hergebruik van IP-adressen met Apache
ArticleCategory:
System Administration
AuthorImage:
![[Foto van de Auteur]](../../common/images/Atif-Ghaffar.jpg) 
TranslationInfo:
original in en Atif Ghaffar 
en to nl Tom Uijldert
AboutTheAuthor:
 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
Abstract:
 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.
ArticleIllustration:
![[Illustratie]](../../common/images/illustration129.gif) 
ArticleBody:
Waarom IP-adressen hergebruiken?
 Er zijn een aantal redenen aan te voeren voor het hergebruik van 
 IP-adressen.
  -  Je komt meestal al snel IP-adressen tekort
  
-  Je hebt maar één IP-adres (bij mij het geval)
  
-  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