Ich habe erneut ein Problem mit meiner Konfiguration des virtuellen Apache-Hosts. (Die Standardkonfiguration wird anstelle meiner spezifischen Konfiguration verwendet.)
Das Problem ist nicht wirklich die Fehlkonfiguration, sondern wie man es löst.
Hat jemand gute Ratschläge, um diese Art von Problem schnell zu lösen?
Noch ein paar Informationen.
Die Standard-Conf-Datei ist folgende:
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>
Die Konfiguration des virtuellen Hosts, die nicht gilt, ist die folgende:
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://ip.ip.ip.ip:8088/
ProxyPassReverse / http://ip.ip.ip.ip:8088/
ServerName wiki.mydomain.com
</VirtualHost>
apache
debugging
virtualhost
GaetanZ
quelle
quelle
-S
ist ein Synonym für-t -D DUMP_VHOSTS
so sind diese beiden gleichc:\\wamp\\bin\\apache\\apache2.4.9\\bin\\httpd.exe -S
Hier ist ein Befehl, von dem ich denke, dass er hilfreich sein könnte:
Sie erhalten eine Liste aller vhosts, wissen, welche die Standardeinstellung ist, und stellen sicher, dass Ihre Syntax korrekt ist (wie die von yojimbo87 vorgeschlagene apachectl configtest).
Sie wissen auch, wo jeder vhost deklariert ist. Es kann praktisch sein, wenn Ihre Konfigurationsdateien durcheinander sind. ;)
quelle
Wenn Sie versuchen, Ihre virtuelle Hostkonfiguration zu debuggen, ist der Befehlszeilenschalter Apache -S möglicherweise hilfreich. Geben Sie den folgenden Befehl ein:
Dieser Befehl gibt eine Beschreibung aus, wie Apache die Konfigurationsdatei analysiert hat. Eine sorgfältige Prüfung der IP-Adressen und Servernamen kann dazu beitragen, Konfigurationsfehler aufzudecken. ( Weitere Befehlszeilenoptionen finden Sie in den Dokumenten zum httpd- Programm.)
quelle
apache2ctl -S
APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data /usr/sbin/apache2 -S
Zuerst überprüfen Konfigurationsdateien auf Syntaxfehler mit
apachectl configtest
und dann Apache Fehler suchen in Protokollen .quelle
Ich hatte eine neue VirtualHost-Konfigurationsdatei, die bei Verwendung des
apachectl -S
Befehls nicht angezeigt wurde . Nach langem Kopfkratzen wurde mir klar, dass meine Datei nicht das Suffix ".conf" hatte. Nachdem ich die Datei mit diesem Suffix umbenannt hatte, begann mein Vhost zu zeigen und zu arbeiten!quelle
Ich hatte kürzlich einige Probleme mit einem VirtualHost. Früher habe ich
a2ensite
einen Host aktiviert, aber bevor ich einen Neustart ausführte (der den Server bei einem Fehler töten würde), habe ich ausgeführtHier erhalten Sie einige Informationen darüber, was mit Ihren virtuellen Hosts los ist. Es ist nicht perfekt, aber es hilft.
quelle
Ich habe meinen eigenen Fehler gefunden und keinen Protokolldateinamen hinzugefügt: ErrorLog / var / log / apache2
Und dieser Pfad: Verzeichnis "/ usr / share / doc /" Enthält keine Website-Quellen.
Nachdem ich diese beiden geändert hatte, funktionierten alle. Interessanterweise hat Apache keine Fehler ausgegeben, sondern meine Website auf meinem Mac OS Sierra nicht stillschweigend geöffnet.
quelle