Apache Probleme mit Virtuellen Hosts
Frank Fischer
- webserver
Hi,
ich hab zu den Thema schon recht viel im Archiv gefunden aber anscheinend hatte keiner das Problem, wie ich es hab.
Ich hab Windows XP und nen Apache 2.x.
Ich habe meiner Netzwerkkarte verschiedene IPs gegeben und Virtuelle Hosts angelegt. Diese sollen Namensbasiert laufen und genau das funktioniert nicht. Über die IPs klappts also scheint ja was mit der Namensauflösung nicht hinzuhauen. Ich habe darüber gelesen, dass man die IPs und die Namen in der Hosts-Datei ablegen muss, was ich auch getan habe. Leider macht er immernoch nix. Selbst ein genanntes Beispiel mal den Name localhost zu ändern macht er nicht. Ich speichere die Datei Hosts, starte den Server neu, geb den geänderten Name ein und nix tut sich, aber localhost funktioniert immernoch.
Kann es sein, dass er die Datei Hosts nicht richtig auswertet ?
Vielleicht hängt das damit zusammen, dass ich einen Router nutze und dieser ist in meiner LAN-Verbindung als Standard-DNS-Server eingestellt, weil ich sonst keine Namensauflösung im Web bekomme.
Vielleicht kann mir ja jemand helfen.
mfg
Frank Fischer
P.S. die LMHOSTS Abfrage hab ich deaktiviert.
Moin!
Zunächst mal: Du brauchst entweder mehrere definierte IPs für deinen Rechner, _oder_ nur eine, dafür dann aber mehrere definierte Namen.
Es ist unsinnig, erst kompliziert (oder war es das nicht?) mehrere IPs auf der Netzwerkkarte einzurichten, nur um dann namensbasierte virtuelle Hosts zu nehmen. Deswegen sind es ja _namensbasierte_ Hosts - im Gegensatz zu IP-basierten Hosts.
Um alle möglichen Probleme auszuschließen:
Mach eine Eingabeaufforderung auf und gib ein:
ping dein_definierter_name
Wenn als Resultat nicht in den Zeilen irgendwo die IP-Adresse deines Rechners erscheint - und von dem dann auch eine Antwort, dann kannst du den namensbasierten virtuellen Host von diesem Rechner aus nicht ansprechen, und irgendwas in der Hosts-Datei ist falsch.
Wenn das PING funktioniert, dann ist deine httpd.conf irgendwie falsch.
- Sven Rautenberg
Moin!
Guten Morgen
Zunächst mal: Du brauchst entweder mehrere definierte IPs für deinen Rechner, _oder_ nur eine, dafür dann aber mehrere definierte Namen.
Es ist unsinnig, erst kompliziert (oder war es das nicht?)
Ist eigentlich ziemlich einfach. Auf Netzwerkeigenschaften gehen -> Eigenschaften der LAN-Verbindung -> TCP/IP-Eigenschaften und dort auf erweitert. Oben gibts dann den Punkt IP-Adressen und dort kann man dann noch welche einstellen.
mehrere IPs auf der Netzwerkkarte einzurichten, nur um dann namensbasierte virtuelle Hosts zu nehmen. Deswegen sind es ja _namensbasierte_ Hosts - im Gegensatz zu IP-basierten Hosts.
Ich habe das deswegen gemacht:
Mein Router ist so eingestellt, dass er Anfragen von außen (also Anfrage an meine DynDns-Domain) an den Rechner mit der IP ... weiterleitet und dann von dort das Ergebnis bringt. Da dieser Rechner auch Testprojekte hat, die nicht der Öffentlichkeit zugänglich gemacht werden sollen hab ich mir gedacht, dass ich der Netzwerkkarte noch eine IP gebe und über diese IP dann die Virtuellen Hosts laufen lasse.
Mach eine Eingabeaufforderung auf und gib ein:
ping dein_definierter_name
Das funktioniert nicht, er sagt, er könne den Name nicht finden.
Er ist aber in der Hosts-Datei eingetragen und zwar so:
192.168.2.150 datenbank
Wenn ich nen Ping auf die IP mache dann klappts.
Wenn das PING funktioniert, dann ist deine httpd.conf irgendwie falsch.
Dort steht folgendes:
Listen 192.168.2.150:80
.
.
.
NameVirtualHost 192.168.2.150
<VirtualHost 192.168.2.150>
DocumentRoot "bla/bla/bla"
ServerName datenbank
</VirtualHost>
Wie gesagt, über eingabe der IP funktioniert der Virtuelle Host aber halt nicht über den Namen, der aber in der Hosts-Datei eingetragen ist.
mfg
Frank Fischer
Moin!
Wie gesagt, über eingabe der IP funktioniert der Virtuelle Host aber halt nicht über den Namen, der aber in der Hosts-Datei eingetragen ist.
Stelle sicher dass die Datei auch wirklich den Namen *hosts* hat
!!! Ohne Erweiterung !!!
und im richtigen Verzeichnis steht
Windows:
\windows\hosts
NT, XP
\winnt\system32\drivers\etc\hosts
Erwin
Hallo,
ich hab schon die richtige Datei genommen und zwar die, die schon vorhanden war und wo 127.0.0.1 localhost eingetragen war. Da hab ich einfach meinen Eintrag hinzugefügt und abgespeichert, ohne Endung und alles.
mfg
Frank Fischer