On Wed, Jan 12, 2005 at 09:43:11PM +0100, Ruediger Meier wrote:
Hallo, Ich versuche mich gerade an Apache. Im Moment befindet er sich in deufault config von SuSE 9.1.
In meine http.conf.local habe ich folgendes reingeschrieben
NameVirtualHost *
ServerName www.domain.net DocumentRoot /srv/www/htdocs/www.domain.net </VirtualHost>
ServerName users.domain.net DocumentRoot /srv/www/htdocs/users.domain.net </VirtualHost>
Tip: Die Angabe des Ports (*:80) ist prinzipiell sinnvoll, um Mehrdeutigkeit zu vermeiden, falls mal spaeter noch was anderes dazu kommt. Noch ein Tip: Um sicher zu stellen, dass die NameVirtualHost-Anweisung frueh genug geladen wird (bevor irgendwelche Hosts definiert werden), kann man sie direkt in /etc/apache2/listen.conf schreiben, welches sehr frueh inkludiert wird. (Ist nicht zwingend erforderlich, kann aber Konfusion vermeiden. :)
Nun moechte ich prinzipiell zwar die UserDirs /home/user/~public_html zulassen, haette es aber gerne so, daß http://www.domain.net/~$USER oder http://meine_IP/~$USER NICHT funktioniert sondern NUR http://users.domain.net/~$USER
Dann darf die Konfiguration, die dafuer verantwortlich ist, nicht von allen Servern inkludiert werden. Editier mal /etc/apache2/default-server.conf, und loesch dort die UserDir Geschichte (oder kommentier sie aus). Dann editierst Du httpd.conf.local und packst UserDir public_html Include /etc/apache2/mod_userdir.conf in genau die VirtualHost Container, die die Konfiguration verwenden sollen.
Noch ne Zusatzfrage. Wie kann ich es verhindern, das der Apache auf auf http://meine_IP Anfragen reagiert? Ich haette gern, daß man einen vollständigen (VirtualHost) ServerName benutzen MUSS.
Dann waere die Frage, was genau passieren soll, wenn man auf http://meine_IP geht. Es koennte einer der VirtualHosts antworten, es koennte ein Redirect sein (moeglicherweise auf einen der VirtualHosts), es koennte eine Fehlermeldung sein, oder einfach ne leere Seite oder einfach "forbidden". Auf alle Faelle hilft 'httpd2 -S' bei diesen Dingen sehr -- es zeigt die momentane Konfiguration Deiner Server an.
Kann man eigentlich die definierten VirtualHosts von aussen in Erfahrung bringen.
Kann man nicht, jedenfalls faellt mir spontan keine Moeglichkeit dazu ein. Hoechstens teilweise -- zum Beispiel wenn man per Default auf einem bestimmten VirtualHost landet, weiss man ja zumindest schon mal den.
besten Dank im vorraus, Ruediger
Peter