Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
Dieses Dokument ist verfübar auf: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Turkce  Korean  

[Photo of the Author]
by Atif Ghaffar

About the author:

Ich lebe in der Schweiz und arbeite als Webmaster/Unix Systemadministrator. Meine Vorlieben sind Linux, Unix, Perl, Apache und Software unter der GPL. Sie k�nnen auf meiner Homepage
mehr �ber mich erfahren.

Content:

Mehrfache Verwendung einer IP Adresse mit Apache

[Illustration]

Abstract:

Dieser Artikel beschreibt, wie man mehrere virtuelle Webserver mit der gleichen IP Adresse verwenden kann. Kenntnisse von Apache, DNS und Unix werden vorausgesetzt.
Dieser Artikel richtet sich an ISPs, System Administratoren und jeden der gerne liest und lernt.



 

Wieso sollte man eine IP Adresse mehrfach verwenden?

Die mehrfach Verwendung von IP Adressen ist aus verschieden Gr�nden sinnvoll:

  1. man hat nicht gen�gend IP Adressen
  2. man hat nur eine einzige IP Adresse (wie in meinem Fall)
  3. Zeitersparnis des Administrators, er mu� einem Rechner nicht mehrere IP Adressen zuweisen.
 

Wie verwende ich eine IP Adresse mehrmals?

Es ist sehr einfach mit Apache mehrere Domains mit der selben IP Adresse zu verwenden.
Ich nehme f�r diesen Artikel an das wir die IP Adresse 192.168.1.1 und den Hostname hometranet.home verwenden.
F�gen Sie einfach folgende Zeile zu ihrer httpd.conf hinzu:
NameVirtualHost 192.168.1.1:80
Als n�chstes werden wir drei virtuelle Webserver mit der gleichen IP Adresse erstellen.
#Host f�r Unix Dateien
<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>

#Host f�r Perl Dateien
<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>


#Und hier legen wir alles rund um Apache ab.

<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>


So, jetzt haben wir 3 virtuelle Hosts mit nur einer IP Adresse erzeugt.

Als n�chstes m�ssen wir CNAME bzw. A Records f�r diese Namen in unseren Nameserver
Zonen Datei eintragen (und nicht vergessen die Seriennummer. zu erh�hen).
In unserem Beispiel w�rde ich folgendes in /var/named/homtraned.hom.fwd hinzuf�gen:
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
Beachten sie: Falls sie den Host mit irgendeinem anderen als den angegeben Namen aufrufen, so wird der erste virtuelle Host antworten.
In Versionen vor Apache 1.3.x h�tte der letzte geantwortet.
Beispiel: Wenn sie der host madmag hei�t, und sie ihn mit http://madmag.hometranet.home aufrufen, f�hrt dies zu dem gleichen Ergebnis wie der Aufruf von unix.hometranet.home
 

Benutzung von Wildcards und Dynamischen Hostnamen

Jetzt kommt der interessante Teil. Apache erlaubt Wildcards in Hostnamen.
Dies bedeutet, das sie einen domian Name *.home.hometranet,home setzen k�nnen und alle Zugriffe user1.hometranet.home, user2.hometranet.home und user3.hometranet.home werden antworten
Beispiel:

#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>

sowie einen Eintrag in der named Zonen Datei.

*.home.hometranet.home.  IN      A       192.168.1.1

Anmerkung: Dieser Trick funktioniert nicht mit einem Microsoft DNS Server. Er verweigert Wildcards in Hostnamen
(Aber sie verwenden ja sicher auch keinen, oder?)
Ich habe ein kleines Programm geschrieben, da� es den Benutzern im Netzwerk erlaubt ihre CV zur Datenbak hinzuzuf�gen um den ober vorgestellten Trick zu verwenden. Ihre CV sind dann unter http://IhrBenutzerName.cv.developer.ch zu erreichen.

 

Meine Konfigurationsdatei f�r virtuelle Hosts

Hier finden sie ein ausf�hrliches Beispiel f�r eine Konfiguration, die ich aus meiner httpd.conf entnommen habe

Um diese Datei in ihre httpd.conf einzubinden, k�nnen sie die Include Anweisung in ihrer httpd.conf verwenden.
Include "/etc/vhosts.conf"

 

Weitere Informationen

[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 form for this article

Every article has its own talkback page. On this page you can submit a comment or look at comments from other readers:
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Atif Ghaffar
LinuxFocus.org 2000

Click here to report a fault or send a comment to Linuxfocus
Translation information:
en -> -- Atif Ghaffar
en -> de Jens Link

2000-04-23, generated by lfparser version 1.5