Encore une fois, j'ai un problème avec la configuration de mon hôte virtuel Apache. (La configuration par défaut est utilisée à la place de celle spécifique).
Le problème n'est pas vraiment la mauvaise configuration, mais comment le résoudre.
Est-ce que quelqu'un a de bons conseils pour résoudre ce genre de problème rapidement?
Quelques informations supplémentaires.
Le fichier de configuration par défaut est celui-ci:
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/Apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/Apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Et la configuration de l'hôte virtuel qui ne s'applique pas est celle-ci:
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://ip.ip.ip.ip:8088/
ProxyPassReverse / http://ip.ip.ip.ip:8088/
ServerName wiki.mydomain.com
</VirtualHost>
Pour vérifier les erreurs de syntaxe dans les fichiers de configuration:
# Red Hat-based (Fedora, CentOS) and OSX
httpd -t
# Debian-based (Ubuntu)
Apache2ctl -t
# MacOS
apachectl -t
Pour répertorier tous les hôtes virtuels et leurs emplacements:
# Red Hat-based (Fedora, CentOS) and OSX
httpd -S
# Debian-based (Ubuntu)
Apache2ctl -S
# MacOS
apachectl -S
Voici une commande qui, je pense, pourrait être utile:
apachectl -t -D DUMP_VHOSTS
Vous obtiendrez une liste de tous les hôtes virtuels, vous saurez lequel est celui par défaut et vous vous assurerez que votre syntaxe est correcte (identique à apachectl configtest suggéré par yojimbo87).
Vous saurez également où chaque vhost est déclaré. Cela peut être pratique si vos fichiers de configuration sont en désordre. ;)
Si vous essayez de déboguer votre configuration d'hôte virtuel, le commutateur de ligne de commande Apache -S peut s'avérer utile. Autrement dit, tapez la commande suivante:
httpd -S
Cette commande affichera une description de la façon dont Apache a analysé le fichier de configuration. Un examen attentif des adresses IP et des noms de serveur peut aider à découvrir des erreurs de configuration. (Voir la documentation du programme httpd pour d'autres options en ligne de commande).
J'avais un nouveau fichier de configuration VirtualHost qui ne s'affichait pas lors de l'utilisation de apachectl -S
commande. Après beaucoup de mal à la tête, j'ai réalisé que mon fichier n'avait pas le suffixe ".conf". Une fois que j'ai renommé le fichier avec ce suffixe, mon Vhost a commencé à s'afficher et à fonctionner!
J'ai récemment eu quelques problèmes avec un VirtualHost. J'ai utilisé a2ensite
pour activer un hôte mais avant d'exécuter un redémarrage (ce qui tuerait le serveur en cas d'échec), j'ai exécuté
Apache2ctl -S
Ce qui vous donne des informations sur ce qui se passe avec vos hôtes virtuels. Ce n'est pas parfait, mais ça aide.
J'ai trouvé ma propre erreur, je n'ai pas ajouté le nom du fichier journal: ErrorLog/var/log/Apache2
Et ce chemin: Répertoire "/ usr/share/doc /" Ne contenait pas de sources de sites Web.
Après avoir changé ces deux, tout a fonctionné. Fait intéressant, Apache n’a généré aucune erreur, mais n’a pas ouvert mon site Web en mode silencieux sur mon Mac OS Sierra.