Ich habe einige Sites, die mit Apache als VirtualHosts konfiguriert wurden und seit einiger Zeit einwandfrei funktionieren. Ich habe kürzlich den Hostnamen des Servers in einen der Domänennamen geändert, die bereitgestellt wurden, und ihn auch zu / etc / hosts hinzugefügt, die auf die externe IP-Adresse des Servers verweisen.
Seitdem habe ich durch den Zugriff auf die Domain von meinem Laptop aus Apaches Standard "Es funktioniert!" Seite. Wenn ich 000-default aus / etc / apache2 / sites-enabled / entferne, wird die richtige Site angezeigt. Der Versuch, mit dem 'www' auf die Site zuzugreifen. Das Präfix führt mich zur richtigen Site, unabhängig davon, ob 000-default in Sites aktiviert ist oder nicht.
Aufgrund all dessen schätze ich, dass die Standardkonfiguration die Standardseite bereitstellt, da ich den Hostnamen oder / etc / hosts (oder beides) konfiguriert habe, aber ich kann nicht herausfinden, wie ich das währenddessen deaktivieren kann Belassen Sie diese Einstellungen unverändert. Anregungen willkommen!
Bearbeiten - Meine aktuelle VirtualHost-Konfiguration sieht folgendermaßen aus:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@domain.com
DocumentRoot /srv/www/domain
ErrorLog /srv/www/domain/logs/error.log
CustomLog /srv/www/domain/logs/access.log combined
</VirtualHost>
Zusammenfassend: Ich habe mehrere VirtualHosts eingerichtet, und dies ist die einzige, die nicht richtig funktioniert. Ich kann problemlos auf http://www.domain.com zugreifen , aber http://domain.com bringt mich zu Apaches Standard "Es funktioniert!" Seite. Wenn ich die 000-Standardkonfiguration deaktiviere, wird die richtige Seite angezeigt. Dies begann erst, nachdem ich den Hostnamen des Servers auf domain.com festgelegt und eine Zeile zu / etc / hosts hinzugefügt hatte, die domain.com auf die externe IP-Adresse des Servers verweist. Ich würde diese gerne so lassen, wenn es möglich ist.
Bearbeiten: Ich lief apache2ctl -S
seitdem /usr/sbin/apache2 -S
gab mir "apache2: falscher Benutzername $ {APACHE_RUN_USER}". Hier ist die Ausgabe:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost other.com (/etc/apache2/sites-enabled/other:1)
port 80 namevhost another.com (/etc/apache2/sites-enabled/another:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
Syntax OK