Virtual Hosts unter Apache (Win98)
Jürgen Nimis
- webserver
Hi Folks,
Bin gerade dabei, auf meinem Apache unter Win98 mehrere Virtual Hosts einzurichten, aber irgendwie klappt's nicht. Habe aber brav im alten Forum gestöbert!
Meine Konfiguration:
Datei "hosts" unter c:\windows:
127.0.0.1 localhost
192.168.0.1 nimis
192.168.0.2 stema
192.168.0.3 fc
Datei "http.conf", Abschnitt für Virtual Hosts:
NameVirtualHost localhost
<VirtualHost localhost>
ServerAdmin you@your.address
DocumentRoot "C:\apache\htdocs"
ServerName localhost
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common
</VirtualHost>
NameVirtualHost 192.168.0.1
<VirtualHost 192.168.0.1>
ServerAdmin you@your.address
DocumentRoot "C:\apache\htdocs\nimis"
ServerName nimis
ErrorLog logs/nimis-error_log
CustomLog logs/nimis-access_log common
</VirtualHost>
NameVirtualHost 192.168.0.3
<VirtualHost 192.168.0.3>
ServerAdmin you@your.address
DocumentRoot "C:\apache\htdocs\fc"
ServerName fc
ErrorLog logs/fc-error_log
CustomLog logs/fc-access_log common
</VirtualHost>
NameVirtualHost 192.168.0.2
<VirtualHost 192.168.0.2>
ServerAdmin you@your.address
DocumentRoot "C:\apache\htdocs\stema"
ServerName stema
ErrorLog logs/stema-error_log
CustomLog logs/stema-access_log common
</VirtualHost>
Der Localhost wird bei Aufruf richtig angezeigt, das andere nicht. Apache wurde nach Änderung der Dateien neu gestartet.
Wer kann helfen?
Viele Grüße,
Jürgen
Meine Konfiguration:
Datei "hosts" unter c:\windows:
127.0.0.1 localhost
192.168.0.1 nimis
192.168.0.2 stema
192.168.0.3 fc
Du hast also insgesamt vier Rechner in Deinem Netzwerk (wahrscheinlich nicht, aber ich frag mal Deiner Liste entsprechend:)?
Datei "http.conf", Abschnitt für Virtual Hosts:
NameVirtualHost localhost
<VirtualHost localhost>
ServerName localhost
</VirtualHost>
NameVirtualHost 192.168.0.1
<VirtualHost 192.168.0.1>
ServerName nimis
</VirtualHost>
NameVirtualHost 192.168.0.3
<VirtualHost 192.168.0.3>
ServerName fc
</VirtualHost>
NameVirtualHost 192.168.0.2
<VirtualHost 192.168.0.2>
ServerName stema
</VirtualHost>
Der Localhost wird bei Aufruf richtig angezeigt, das andere nicht. Apache wurde nach Änderung der Dateien neu gestartet.
Wer kann helfen?
Die Apache-Anleitung, Kapitel Virtual Hosts, insbesondere "Name-based Virtual Hosts": http://httpd.apache.org/docs/vhosts/name-based.html.
NameVirtualHost ist dafür gedacht, auf einem Rechner unter _einer_ IP "verschiedene" Server laufen zu lassen. Dazu wird mit _einem_ NameVirtualHost die Adresse des echten Servers angegeben und dann mittels mehrerer <virtualhost>-Blöcke mehrere Server dieser Adresse zugewiesen, jeweils mit einem eigenen Namen unter ServerName.
Zusätzlich hast Du vielleicht vergessen, Deinem Rechner die ganzen IP-Adressen zuzuweisen. Ein Eintrag in der Hosts-Datei bewirkt noch nicht, daß der Rechner unter diesen Adressen "zuhört". Mit Hilfe dieser Datei werden lediglich Namen in IP-Adressen umgewandelt.
Deine Hosts-Datei müsste also IMHO ganz einfach so aussehen:
127.0.0.1 localhost nimis stema fc
In der Apache-Konfiguration müsste entsprechend folgendes stehen:
NameVirtualHost 127.0.0.1
<virtualhost 127.0.0.1>
ServerName localhost
[weitere Angaben..]
</virtualhost>
<virtualhost 127.0.0.1>
ServerName nimis
[weitere Angaben..]
</virtualhost>
<virtualhost 127.0.0.1>
ServerName stema
[weitere Angaben..]
</virtualhost>
<virtualhost 127.0.0.1>
ServerName fc
[weitere Angaben..]
</virtualhost>
Gruß,
soenk.e
Deine Hosts-Datei müsste also IMHO ganz einfach so aussehen:
127.0.0.1 localhost nimis stema fc
In der Apache-Konfiguration müsste entsprechend folgendes stehen:
NameVirtualHost 127.0.0.1
<virtualhost 127.0.0.1>
ServerName localhost
[weitere Angaben..]
</virtualhost>
<virtualhost 127.0.0.1>
ServerName nimis
[weitere Angaben..]
</virtualhost>
<virtualhost 127.0.0.1>
ServerName stema
[weitere Angaben..]
</virtualhost>
<virtualhost 127.0.0.1>
ServerName fc
[weitere Angaben..]
</virtualhost>
Gruß,
soenk.e
Genau das war's.
Danke,
Jürgen
hallo ihr beiden,
ich habe eben ein großes Problem gehabt, ich habe im Selfbrowser(beta) und im IE weder das Ausgangsposting noch Sönkes Antwort richtig lesen können, nur im Netscape 7 habe ich plötzlich Text gesehen, den mir die beiden anderen nicht anzeigen wollten. Zum Nachweis lege ich mal einen Screenshot bei:
<img src="http://home.arcor.de/schnauss/bilder/screen02.gif" border=0 alt="">
ich konnte also gar nicht "richtig" auf das posting von nimis eingehen. Und weil Sönke in seiner Antwort wie gewohnt zitiert hat, habe ich auch Sönkes Antwort überhaupt nicht "verstanden".
Ist das ein "bug" ???
Aber der Selfbrowser (den ich inzwischen seit einer Woche benutze, und den Thomas nun endlich freigeben sollte) stellt _sämtliche_ anderen aktuellen postings korrekt dar ... (und der IE auch)
Grüße aus Berlin
Christoph S.
hallo Jürgen,
Meine Konfiguration:
Datei "hosts" unter c:\windows:
diese Datei hat mit den virtualhosts so gut wie nichts zu tun. Sie ist ein (sehr schwacher) Ersatz für ein DNS, wenn du ein lokales Netzwerk haben solltest. Den Apache interessiert sie im Normalfall nicht, es sei denn, du liest sie irgendwie ein per include-Befehl
Wie das mit virtualhosts gemacht werden kann, liest du in http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf05.htm#a4 nach.
Grüße aus Berlin
Christoph S.
Jetzt kommt das nächste Problem:
Das Verzeichnis vom "cgi-bin" vom Apache liegt unter "C:\apache\cgi-bin"
Wenn ich einen Virtual Host "nimis" unter "d:\nimis" mit einem Verzeichnis "d:\nimis\cgi-bin" habe, kann ich dann dem Apache beibringen, dass er neben "C:\apache\cgi-bin" auch "d:\nimis\cgi-bin" akzeptiert? Das muss man doch in der httpd.conf im Bereich ScriptAlias irgendwie eintragen können, oder?
Grüße,
Jürgen
hi,
Wenn ich einen Virtual Host "nimis" unter "d:\nimis" mit einem Verzeichnis "d:\nimis\cgi-bin" habe, kann ich dann dem Apache beibringen, dass er neben "C:\apache\cgi-bin" auch "d:\nimis\cgi-bin" akzeptiert?
ja, das geht völlig problemlos. Dazu muß für das Verzeichnis "d:\nimis" ein Alias erstellt werden:
Alias /nimis "D:"
<Directory "D:/nimis">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
und bei den VirtualHosts muß dann ungefähr sowas stehen:
<VirtualHost 192.168.0.2>
DocumentRoot "D:/nimis"
ServerName nimis.opt
ScriptAlias /cgi-bin/ "D:/nimis/cgi-bin/"
Options Indexes +Includes FollowSymLinks All
</VirtualHost>
Grüße aus Berlin
Christoph S.
ups ...
Alias /nimis "D:"
muß natürlich
Alias /nimis "D:/nimis"
heißen
;-)