Una vez más, tengo un problema con mi configuración de host virtual apache. (Se utiliza la configuración predeterminada en lugar de la específica).
El problema no es realmente la configuración incorrecta, sino cómo resolverlo.
¿Alguien tiene buenos consejos para resolver este tipo de problema rápidamente?
Algunas informaciones más.
El archivo conf predeterminado es este:
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>
Y la configuración de host virtual que no se aplica es esta:
<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
fuente
fuente
-S
es sinónimo de-t -D DUMP_VHOSTS
lo que los dos son la mismac:\\wamp\\bin\\apache\\apache2.4.9\\bin\\httpd.exe -S
Aquí hay un comando que creo que podría ser de ayuda:
Obtendrá una lista de todos los vhosts, sabrá cuál es el predeterminado y se asegurará de que su sintaxis sea correcta (igual que apachectl configtest sugerido por yojimbo87).
También sabrá dónde se declara cada vhost. Puede ser útil si sus archivos de configuración son un desastre. ;)
fuente
Si está tratando de depurar la configuración de su host virtual, puede encontrar útil el interruptor de línea de comandos Apache -S. Es decir, escriba el siguiente comando:
Este comando desplegará una descripción de cómo Apache analizó el archivo de configuración. Un examen cuidadoso de las direcciones IP y los nombres de los servidores puede ayudar a descubrir errores de configuración. (Consulte los documentos del programa httpd para ver otras opciones de línea de comandos).
fuente
apache2ctl -S
APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data /usr/sbin/apache2 -S
Primero revise los archivos de configuración para errores de sintaxis con
apachectl configtest
y luego busque en los registros de errores de apache .fuente
Tenía un nuevo archivo de configuración de VirtualHost que no se mostraba al usar el
apachectl -S
comando. Después de mucho rascarme la cabeza, me di cuenta de que mi archivo no tenía el sufijo ".conf". Una vez que cambié el nombre del archivo con ese sufijo, ¡mi Vhost comenzó a mostrarse y funcionar!fuente
Recientemente tuve algunos problemas con un VirtualHost. Solía
a2ensite
habilitar un host, pero antes de ejecutar un reinicio (que mataría al servidor en caso de error) ejecutéLo que le brinda información sobre lo que sucede con sus hosts virtuales. No es perfecto, pero ayuda.
fuente
Encontré mi propio error, no agregué el nombre del archivo de registro: ErrorLog / var / log / apache2
Y esta ruta: Directorio "/ usr / share / doc /" No contenía fuentes del sitio web.
Después de cambiar estos dos, todo funcionó. Curiosamente, apache no emitió ningún error, simplemente no abrió mi sitio web en silencio en mi Mac OS Sierra.
fuente