Permiso denegado: /home/.htaccess pcfg_openfile: no se puede verificar el archivo htaccess

13

Este dominio funcionaba esta mañana, ahora recibo un error 403 y el mensaje anterior en mi registro de errores. No estoy usando archivos .htaccess, pero he estado haciendo algunas copias en el servidor, por lo que es posible que haya estropeado las cosas pero no haya cambios en este dominio (¡a menos que sea por accidente!). ¿Qué es esta cosa pcfg_openfile de todos modos?

Hice mucho googleing pero ninguna de las soluciones parecía encajar en estas circunstancias. El servidor es ubuntu Hardy Heron.

usuario19196
fuente

Respuestas:

19

probablemente haya cambiado los permisos en el directorio (o uno de sus padres) en el que el servidor web está buscando .htaccess, de modo que el servidor web ya no puede verificar si hay un archivo .htaccess.

primero corrija los permisos en el directorio (debe ser rx por el proceso del servidor web, por lo tanto, 755 o 775, dependiendo de si desea que el directorio se pueda escribir en grupo o no). Tenga en cuenta que debe asegurarse de que los permisos de cada directorio principal de copia de seguridad a la raíz del sistema de archivos (es decir, /) son rx por el servidor web.

y luego, si en realidad no está usando archivos .htaccess y no tiene intención de usarlos en el futuro (es decir, tiene la intención de poner toda su configuración en httpd.conf / apache.conf), desactive los archivos htaccess en la configuración de apache.

existe una pequeña penalización de rendimiento por verificar la existencia, lectura y análisis de archivos .htaccess en el directorio actual y en cada directorio principal de nuevo a la raíz del documento. es muy pequeño pero se acumula cuando hay muchas solicitudes.

cas
fuente
Correcto. Alguien había logrado cambiar los permisos en el directorio / home y eso había estropeado todo lo demás. Enormes gracias!
user19196
2

Si no es obvio que el servidor no puede leer .htaccess (ya sea 0755 o .htacess y el resto del árbol está en el grupo www-data), busque una raíz de directorio más alta solo una vez: grupo que sí *** * no **** tiene acceso de ejecución mundial.

Para que apache encuentre un archivo, debe buscar en el árbol. No puede hacer esto si un directorio que es root: root no tiene acceso de ejecución global.

He tropezado con esto varias veces ... :-)

John Logsdon
fuente
"No puede hacer esto si un directorio que es root: root no tiene acceso de ejecución global". Eso no siempre es cierto. Si está ejecutando suPHP, entonces PHP se está ejecutando como el propietario del archivo. Teóricamente, deberías poder probar el acceso de Apache cambiando al usuario propietario del archivo y ver si puedes navegar allí.
Buttle Butkus