J'ai quelques sites configurés comme VirtualHosts utilisant Apache qui fonctionnent bien depuis un certain temps. J'ai récemment changé le nom d'hôte du serveur en l'un des noms de domaine qui était servi, et l'ai également ajouté à / etc / hosts pointant vers l'adresse IP externe du serveur.
Depuis que je l'ai fait, accéder au domaine depuis mon ordinateur portable m'amène au défaut d'Apache "Ça marche!" page. Si je supprime 000-default de / etc / apache2 / sites-enabled /, il affiche le site correct. Essayer d'accéder au site avec le 'www.' le préfixe m'amène au site correct, que 000-default soit ou non activé dans les sites.
Sur la base de tout cela, je suppose que la configuration par défaut sert la page par défaut en raison de la façon dont j'ai configuré le nom d'hôte ou / etc / hosts (ou les deux), mais je ne peux pas comprendre comment désactiver cela pendant que en laissant ces paramètres tels quels. Toutes les suggestions sont les bienvenues!
Modifier - Ma configuration VirtualHost actuelle ressemble à ceci:
<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>
Pour résumer: j'ai plusieurs VirtualHosts configurés, et c'est le seul qui ne fonctionne pas correctement. Je peux très bien accéder à http://www.domain.com , mais http://domain.com m'amène au défaut d'Apache "Ça marche!" page. Si je désactive la configuration 000 par défaut, elle affiche la page appropriée. Cela ne s'est produit qu'après avoir défini le nom d'hôte du serveur sur domain.com et ajouté une ligne vers / etc / hosts pointant domain.com vers l'adresse IP externe du serveur. J'aimerais les laisser de cette façon si possible.
Edit: j'ai couru apache2ctl -S
depuis /usr/sbin/apache2 -S
m'a donné "apache2: mauvais nom d'utilisateur $ {APACHE_RUN_USER}". Voici la sortie:
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