Tengo una computadora Ubuntu 14.10 que se usa para pruebas de sitios web locales , no está sirviendo a Internet. En él, tengo siete sitios web configurados. Sin embargo, cuando accedo a dos de los siete, obtengo el Apache2 Ubuntu Default Page
lugar de mi propia página de índice.
Por lo que puedo decir, configuré los siete usando exactamente el mismo proceso, por lo que no sé qué faltan estos dos. Además, en mi directorio de registros de Apache, tengo dos archivos de registro error
y access
para cada uno de los dos sitios que se comportan mal, pero todos están vacíos. Cuando reinicio el apache2
servicio, no hay errores. He vuelto sobre mis pasos varias veces y no puedo ver ninguna diferencia entre los sitios de trabajo y los sitios que no funcionan.
¿Qué opciones tengo para diagnosticar este problema? ¿Puedo forzar registros de error más detallados de alguna manera? ¿Hay otro registro en algún lugar al que pueda hacer referencia?
Aquí hay un ejemplo de un .conf
archivo para uno de los sitios que funciona mal:
<VirtualHost *:80>
ServerName www.local_example.com
ServerAlias local_example.com
ServerAdmin [email protected]
DocumentRoot /var/www/Websites/example.com
<Directory /var/www/Websites/example.com/>
Options Indexes FollowSymLinks MultiViews
# pcw AllowOverride None
AllowOverride All
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
</Directory>
ErrorLog /home/example/Apache_Logs/local_example.com_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/example/Apache_Logs/local_example.com_access.log combined
ServerSignature On
</VirtualHost>
/etc/apache2/sites-available
? Si es así, ¿los habilitósudo a2ensite <your_site_name>
? ¿El archivo de registro de error de Apache predeterminado tiene algo? ¿Y tiene un ServerAlias o ServerName configurado en sus archivos de host virtual? Si deshabilita el sitio predeterminadosudo a2dissite 000-default
(puede volver a habilitarlo consudo a2ensite 000-default
), ¿funciona? Además, ¿podría ser que olvidaste reiniciar Apache?sites-available
. El registro de errores predeterminado no tiene nada. Lo he definidoServerAlias
en el archivo hosts. Inhabilité el000-default
sitio pero eso no cambió nada. Reinicié y volví a cargar Apache muchas veces..conf
archivo a mi pregunta.Respuestas:
Intenta lo siguiente
Habilitar registros detallados
Localice la variable LogLevel y actualícela desde la advertencia predeterminada a información o depuración. la depuración producirá la mayor cantidad de salida.
Reiniciar Apache
Apache incluye una pequeña y agradable herramienta de verificación de sintaxis
Comprobación de definiciones de host virtual
fuente
Para mí, una de las sugerencias de @Dan lo resolvió.
Aparentemente, la configuración predeterminada del sitio anulaba mi configuración de vhost.
fuente
después de la instalación, index.html tiene una prioridad más alta, es por eso que aún ve la página predeterminada de Ubuntu, verifique esta carpeta var / www / html / rename o elimine esta página de manera simple.
fuente
Resulta que el problema eran los permisos.
Cuando está almacenando el sitio web en un directorio externo
/var/www
y conectado mediante un enlace simbólico, entonces el directorio fuente y su directorio principal deben tener permisos755
.Por alguna razón desconocida, los dos sitios que se comportaron mal tenían permisos diferentes, y la ejecución
chmod -R 755
en el directorio del sitio web y su directorio padre resolvió el problema.fuente
chmod -R 755
en un directorio porque todos los archivos allí se marcarán como "ejecutables" ...find
embargo, puede usarlo . Algo como esto:find top-dir-name -type d -exec chmod 755 {} \;
.