Virtueller Apache2-Host funktioniert nicht

Virtueller Apache2-Host funktioniert nicht

Ich verwende Debian 7 und habe gemäß diesem Tutorial einen virtuellen Host mit der Adresse sub.domain.com installiert:http://www.debian-administration.org/articles/412

Ich habe es aktiviert, den PC neu gestartet, aber die Subdomäne öffnet immer noch /var/www

Hier ist der Dateiinhalt der Datei mit dem Namen „sub.domain.com“, die sich unter /etc/apache2/sites-available/ befindet:

<VirtualHost *>
    ServerName sub.domain.com
    DocumentRoot /usr/share/destfolder
    ServerAdmin [email protected]
    ErrorLog /var/log/apache2/sub.domain.com-error_log
    CustomLog /var/log/apache2/sub.domain.com-access_log common
</VirtualHost>

Übrigens, wenn ich die Apache-Konfiguration neu lade, erhalte ich: NameVirtualHost *:80 has no VirtualHosts

Irgendwelche Vorschläge?

Antwort1

Nur das Tutorial zu verlinken ist nicht genug Information, besser ist es, wenn du deine Konfigurationsdatei postest. Das Ergebnis, das du bekommst, /var/wwwwenn du deine Virtualhost-Adresse öffnest, kann mehrere Ursachen haben.

Die Apache-Konfigurationsdatei ist so aufgebaut, dass die Anweisungen ohne Kontext global angewendet werden. Andernfalls gelten sie nur innerhalb des Kontexts. Die virtuellen Hosts werden so erstellt, wie der defaultoder *virtuelle Host als Standard festgelegt ist. Wenn es keinen solchen gibt, wird der erste virtuelle Host, der beim Parsen der Konfiguration gefunden wird, als Standard verwendet.

Nun abschließend zur möglichen Antwort:

1) Sie haben in Ihrem virtuellen Host die Direktive „DocumentRoot“ nicht festgelegt und das (vermutlich standardmäßige) globale „DocumentRoot“ verweist auf /var/www.

2) Ihr virtueller Host funktioniert nicht wie erwartet. Dies passiert manchmal, wenn Sie einen Fehler bei der Benennung machen. Aktivieren Sie LogLevel debugdie Debug-Protokollierung und beobachten Sie, was passiert und welcher virtuelle Host aufgerufen wird, wenn Sie die gewünschte Adresse öffnen. Die Protokolldateien unter Debian befinden sich in (nicht 100 % sicher) /var/log/apache2/.

Posten Sie Ihre Konfigurationsdateien und Debug-Meldungen. Dadurch erhöhen Sie die Chance auf nützliche Vorschläge erheblich.

Aktualisieren: Nun, es scheint, Sie haben namensbasiertes virtuelles Hosting aktiviert. Grundsätzlich sieht Ihre Konfiguration vernünftig aus. In der <VirtualHost ...>Klausel sollten Sie den Zielport wie <VirtualHost *:443>folgt angeben.

Die Anweisungen DocumentRootund ServerNamesind hier, es ist ok. Wahrscheinlich wird Ihr virtueller Host nicht aufgerufen, wenn Sie die Seite anfordern.

Dies kann daran liegen, dass Apache nicht weiß, auf welche IP-Adresse es sub.domain.comverweist. Hast du es sub.domian.comim DNS oder zumindest in der Hosts-Datei?

Mehr zu namenbasierten virtuellen Hosts:http://httpd.apache.org/docs/2.2/vhosts/name-based.html

verwandte Informationen