Error Unknown: failed to open stream: Permission denied in… [SOLUCIONADO]

Error Unknown: failed to open stream: Permission denied in… [SOLUCIONADO]

Si estamos recibiendo el siguiente error en alguno de nuestros dominios al ejecutar una página

Unknown: failed to open stream: Permission denied in Unknown on line 0 Fatal error: Unknown: Failed opening required ‘/var/www/vhosts/dominio.com/httpdocs/checkdominios.php’ (include_path=’.:/usr/share/pear:/usr/share/php’) in Unknown on line 0

El problema viene por que no tenemos suficientes permisos para la ejecución de los scripts, en ocasiones por los permisos de usuario de los archivos, en otros por los permisos de escritura y en otros por selinux que protege en ocasiones más de la cuenta. (basado en CentOS 6.x)

Lo que vamos a hacer es arreglarlos en 3 sencillos pasos  (ve revisando por cada uno ya que quizás no necesites ejecutarlos todos).

Empezamos por solucionar el problema de permisos por parte de selinux, para eso ejecutamos desde ssh el siguiente comando (sustituir httpdocs por el nombre de la carpeta que tiene nuestra web)

nos vamos hasta la carpeta superior al root de nuestra web:

cd /path/a/nuestra/carpeta

y ejecutamos el siguiente comando

chcon -R -h -t httpd_sys_content_t httpdocs

Probamos y si con esto no funciona pasamos al siguiente paso que será restaurar los permisos de todos los archivos de nuestra web incluída la carpeta padre (en plesk el usuario y grupo de usuario suelen ser usuario.psacln, debes mirar en la estructura de directorios cuales son los tuyos teniendo en cuenta que el usuario es el que coincide con el que te conectas al ssh y ftp)

chown -R usuario.psacln httpdocs

Revisamos de nuevo y si con esto seguimos sin poder ejecutar dicho script modificamos los permisos de todos los archivos (escritura, lectura y ejecución) para dejarlos como deben estar en un sitio web normal

chmod -R a+rX httpdocs

Todos los comandos seguidos para que los puedas ejecutar de una tirada.

chcon -R -h -t httpd_sys_content_t httpdocs
chown -R usuario.psacln httpdocs
chmod -R a+rX httpdocs

Con estos comandos debería quedar el sitio con todos los scripts funcionando perfectamente.


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.