hallo ihr beiden,
"localhost" braucht keinen virtuellen host, der localhost ist immer vorhanden. Wenn man denn möchte, kann man allerdings für "phpmyadmin" einen virtuellen host anlegen.
Nimm mal das NameVirtualHost *:80 wieder in die Konfiguration
Das ist sogar zwingend erforderlich, wobei wiederum der port nicht erforderlich ist.
<VirtualHost *:80>
ServerName localhost
Das ist überflüssig.
Etwas leichter ist es, anstelle des * die lokale IP zu verwenden - und wenns keine gibt, dann eben die loopback-Adresse. Also:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName phpmyadmin
...
Darauf hättet ihr auch kommen können, wenn ihr die Fehlermeldung
[Mon Jan 12 15:51:23 2004] [warn] VirtualHost 127.0.0.1:80 overlaps with Virtual Host 127.0.0.1:80, the first has precedence, perhaps you need a NameVirtualHost directive
richtig gelesen hättet. Genau das macht nämlich den Unterschied von IP-gestützten und namensgestützten virtualhosts aus.
Ich persönlich habe (hier im Forum mehrfach geäußerte) Vorbehalte gegenüber der 127.0.0.1 bei virtualhosts - das bedeutet jedoch nicht, daß das nicht funktionieren würde.
Wichtig ist noch, daß dieser virtuelle Host keine Adresse mit einer im Internet vorhandenen TLD bekommt - das hat bis Apache 2.0.3x noch funktioniert, mit den aktuellen Apaches gehts glücklicherweise nicht mehr.
Beispiel: meine eigene Seite http://www.christoph-schnauss.de gibt es im Internet. Wenn ich jetzt für Updatezwecke und irgendwelche Basteleien, die ich später hochladen möchte, auch noch einen virtualhost in der Form
NameVirtualHost 192.168.0.1
<VirtualHost 192.168.0.1>
ServerName www.christoph-schnauss.de
...
einrichte und auch noch die hosts-Datei entsprechend einrichte, bekomme ich grundsätzlich unter http://www.christoph-schnauss.de meinen virtuellen host zu sehen - es sei denn, ich kommentiere den Eintrag in der hosts-Datei wieder aus.
Das ist auch in Ordnung so. Der einzige Weg, _solche_ Konflikte zu umgehen, liegt meines Wissens darin, dem lokalen Apache dann halt eine andere Portnummer zu übergeben, beispielsweise 42 361 *g*. Oder man nimmt eben nach gründlicher Lektüre der Apache-Dokumentation _keine_ im Internet vorhandene TLD für den lokalen Apache, sonderbeispielsweise sowas:
www.christoph-schnauss.test
... dann funktioniert es wieder.
Etwas Lektüre gefällig? Die gibts unter http://httpd.apache.org/docs-2.0/vhosts/
Grüße aus Berlin
Christoph S.
mailto:christoph.schnauss@berlin.de
http://www.christoph-schnauss.de
ss:| zu:) ls:& fo:) va:) sh:| rl:|