crear configurar apache debugging virtualhost

configurar - ¿Cómo depurar una configuración de host virtual de Apache?



crear virtual host apache linux (7)

Una vez más, tengo un problema con mi configuración de host virtual de apache. (Se usa la configuración predeterminada en lugar de la específica).

El problema no es realmente la mala configuración sino cómo resolverla.

¿Alguien tiene buenos consejos para resolver este tipo de problema rápidamente?

Algunas más informaciones.

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>


Comprobación de sintaxis

Para verificar los archivos de configuración de errores de sintaxis:

# Fedora, RHEL, CentOS, OSX httpd -t # Debian, Ubuntu apache2ctl -t # MacOS apachectl -t

Lista de hosts virtuales

Para enumerar todos los hosts virtuales y sus ubicaciones:

# Fedora, RHEL, CentOS, OSX httpd -S # Debian, Ubuntu apache2ctl -S # MacOS apachectl -S


Aquí hay un comando que creo que podría ser de alguna ayuda:

apachectl -t -D DUMP_VHOSTS

Obtendrá una lista de todos los fantasmas, sabrá cuál es el predeterminado y se asegurará de que su sintaxis sea correcta (lo mismo que apachectl configtest sugerido por yojimbo87).

También sabrá dónde se declara cada vhost. Puede ser útil si tus archivos de configuración son un desastre. ;)


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 de sitios 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.


Primero revisa los archivos de config para apachectl configtest errores de sintaxis con apachectl configtest y luego mira en los logs errores de apache.


Recientemente tuve algunos problemas con VirtualHost. Utilicé a2ensite para mover habilitar un host, pero antes de ejecutar un reinicio (lo que mataría al servidor si fallaba) ejecuté

apache2ctl -S

Lo que le da algo de información sobre lo que está sucediendo con sus hosts virtuales. No es perfecto, pero ayuda.


Si está tratando de depurar la configuración de su host virtual, puede encontrar el conmutador de línea de comando Apache -S útil. Es decir, escriba el siguiente comando:

httpd -S

Este comando arrojará 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 comando).


Tenía un nuevo archivo de configuración de VirtualHost que no se mostraba al usar el comando apachectl -S . Después de mucho rascarse la cabeza, me di cuenta de que mi archivo no tenía el sufijo ".conf". Una vez que renombré el archivo con ese sufijo, ¡mi Vhost comenzó a mostrar y funcionar!