Apache Virtual Host zeigt auf falsches DocumentRoot

9

Ich betreibe ein VPS auf Digital Ocean unter Ubuntu 12.04.3 mit virtuellen Hosts. Ich konnte die Dinge nach diesem Tutorial hier einrichten: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

Nach einigen Tagen navigierte ich jedoch zu meiner Hauptdomain (noelforte.com), um zu überprüfen, ob alles reibungslos lief. Statt der Zielseite zu sehen, die ich vorübergehend eingerichtet hatte, wurde ich stattdessen mit einer Verzeichnisliste begrüßt.

Seltsamerweise zeigte die Subdomain, die ich mit VHosts konfiguriert hatte, immer noch auf das richtige Verzeichnis, meine Hauptdomain zeigte jedoch wieder auf das Standarddokumentstammverzeichnis von /var/www.

Das Löschen der Konfigurationsdateien in /etc/apache2/sites-availableund das erneute Einrichten führen zu denselben Ergebnissen: Jede Subdomain zeigt auf den richtigen Speicherort, die Root-TLD zeigt jedoch weiterhin auf /var/www.

Was könnte eine solche Situation verursachen und warum hat sie dann anfangs richtig funktioniert?

Noel Forte
quelle

Antworten:

12

Ich habe es gelöst! Beim Ausführen wurde sudo apache2ctl -SFolgendes zurückgegeben:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost media.noelforte.com (/etc/apache2/sites-enabled/media.noelforte.com:1)

Ich habe beschlossen, alle Websites einschließlich der Standardeinstellungen zu deaktivieren und nur die Websites zu aktivieren, die ich benötigte. Das hat mein Problem gelöst.

Wenn jemand erklären könnte , warum noelforte.comlief als default-000wie hier zu sehen:

port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)

das würde helfen, etwas Licht auf das zu werfen, was möglicherweise falsch konfiguriert wurde. Vielen Dank!

Noel Forte
quelle
Ich hatte das gleiche Problem, weil der Servername für die Domäne in der 000-Standarddatei festgelegt war.
Hart gekochtes Wunderland
1

Erstellen Sie eine 000-defaultDatei in /etc/apache2/sites-availableoder bearbeiten Sie sie, falls sie bereits vorhanden ist. Hier zeigt Ihr Webserver an, ob für die Site, nach der Sie suchen, kein virtueller Host definiert ist.

Stellen Sie sicher, dass die Datei auch in vorhanden ist /etc/apache2/sites-enabled. Wenn nicht:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/

Momo
quelle
defaultIn meinem /etc/apache2/sites-availableVerzeichnis befindet sich bereits eine Datei . Ich habe auch einen virtuellen Host zum noelforte.comEinrichten und Aktivieren, der jedoch nicht auf den in der vhost-Datei definierten Dokumentstamm verweist. Warum?
Noel Forte
0

Sie müssen /etc/apache2/sites-enabled/IhreDomain.conf bearbeiten und "Servername" zu "IhreDomäne" hinzufügen. Ex :

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
Sudip
quelle