Article ID: 432, created on Oct 6, 2008, last review on Aug 12, 2014

  • Applies to:
  • Plesk for Linux/Unix
  • Plesk 11.5 for Windows

Síntomas

El dominio muestra el error "404 file not found". El registro de errores de Apache en el dominio genera lo siguiente:

PHP Warning:  Unknown: open_basedir restriction in effect.  

Causa

Este error indica que el script PHP está intentando acceder a una carpeta cuyo acceso no está autorizado. Por motivos de seguridad, las opciones PHP para dominios alojados en Parallels Plesk Panel sólo permiten acceso por omisión a las carpetas/tmp y http(s)docs . Las restricciones son limitadas por la variable PHP open_basedir de forma independiente para cada host virtual.

Resolución

Si necesita permitir el acceso con scripts PHP de un host virtual determinado a carpeta(s) adicional(es), debería definir la opción 'open_basedir' para el host virtual con el nuevo valor de ruta, separando los nombres de las carpetas con dos puntos tal y como se describe a continuación.

Importante: esta acción puede comprometer su servidor, por lo que debe entender las consecuencias.

Para Parallels Plesk Panel 10.3 y versiones posteriores:

La resolución puede llevarse a cabo mediante el interfaz web de Parallels Plesk Panel. Para más información, consulte el siguiente artículo de nuestra base de conocimiento:

113861: [Info] Personalización de la configuración PHP para un dominio determinado en Parallels Panel 10.3 y versiones posteriores

Para Parallels Plesk Panel anteriores a la versión 10.3:

Esta resolución sólo puede ser realizada por un usuario que disponga de privilegios root en los archivos vhost.conf o vhost_ssl.conf del dominio (para host virtual SSL). Si desea más información, consulte el artículo 'Including Directives into Configuration File of Web Server' de la documentación de Parallels Plesk Panel.

Una vez haya aplicado estos cambios, debería volver a crear los archivos de configuración de Apache y reiniciar el servicio Apache mediante el siguiente comando en el shell. De encontrarse el archivo vhost(_ssl).conf, este se añadirá automáticamente al archivo httpd.include del dominio:

Este comando es válido para Parallels Panel 10.x:

~# /usr/local/psa/admin/sbin/httpdmng --reconfigure-all

En el caso de versiones 9.x y versiones anteriores, ejecute el siguiente comando:

~# /usr/local/psa/admin/sbin/websrvmng -a -v

NOTA: si no ejecuta este comando, vhost.conf o vhost_ssl.conf no se incluirá en la configuración de Apache y los cambios no tendrán efecto.

Ejemplo:

NOTA: HTTPD_VHOSTS_D debe reemplazarse por la ruta real a la ubicación del dominio, que puede variar en función del SO y de la versión de Parallels Plesk Panel. Puede averiguar el valor actual en el archivo /etc/psa/psa.conf. ADD_PATH debe reemplazarse por la ruta real a la carpeta para la que estamos concediendo el acceso.

Cree HTTPD_VHOSTS_D/domain.com/conf/vhost.conf:

php_admin_value open_basedir HTTPD_VHOSTS_D/domain.com/httpdocs:/tmp:/ADD_PATH

Cree HTTPD_VHOSTS_D/domain.com/conf/vhost_ssl.conf:

php_admin_value open_basedir HTTPD_VHOSTS_D/domain.com/httpsdocs:/tmp:/ADD_PATH

En el caso de subdominios, cree el archivo HTTPD_VHOSTS_D/domain.tld/subdomains/subdomain/conf/vhost.conf correspondiente:

php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/subdomains/subdomain/httpdocs:/tmp:/ADD_PATH"

Además, también puede definir un 'open_basedir' global para una ubicación específica requerida en /etc/php.ini. Por ejemplo:

open_basedir = "/tmp"

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8 46a8e394d6fa13134808921036a34da8 bd7fc88cf1b01f097749ae6f87272128

Email subscription for changes to this article
Save as PDF