Tengo un sitio web completo con la siguiente estructura de directorios:
/example.com
/html (public)
/css
/js
index.php
/lib
session.php
other_lib_files.php
/views
index.php
/models
/controllers
Como se ilustra, el html es público y todo lo que esté encima es privado.
Mi sitio ahora necesita actualizar los servidores, y el nuevo servidor (Linux con Plesk) tiene la siguiente estructura (reducida a las partes problemáticas a continuación):
/myplesksite.com
/httpdocs
/css
/js
index.php
/private
/lib
/models
/views
Lo que PENSARÍA es que debería poder colocar mi /lib, /views, /models, etc. en el directorio directamente encima de /httpdocs, de la misma manera que lo tenía en mi servidor anterior.
¿Es eso posible? O tengo que ponerlo en privado?
Realmente me encantaría no tener que ajustar mis rutas internas en todo el sitio si no es necesario...
Respuesta1
Porque Plesk usa php open_basedir para evitar el acceso a otros archivos fuera de la carpeta httpdocs y /temp desde php
php_admin_value open_basedir "/var/www/vhosts/domain.com/httpdocs:/tmp"
Si tiene acceso de root, es fácil cambiar el archivo conf. Si no tiene acceso root, puede preguntarle a su proveedor de hosting si puede hacerlo.
Respuesta2
La estructura propuesta debería estar bien.