Base de conocimientos · Fantastico
No se puede modificar por FTP una plantilla de Joomla instalada por Joomla
Última actualización: 2020-04-05
Este es un problema específico de los servidores que no ejecutan SuExec/phpSuExec. La solución es subir los archivos por FTP y, a continuación, realizar una instalación manual del componente o plantilla de Joomla.
Esto se explica en http://forum.joomla.org/index.php/topic,30796.0.html. A continuación se presenta un resumen de los motivos, citando textualmente:
"En primer lugar... No importa si el propietario de los archivos principales de Joomla es su usuario o httpd (o nobody, apache, o el usuario que utilice apache). La propiedad de un archivo se determina en el momento de su creación: depende del usuario propietario del proceso del sistema operativo que crea el archivo en el sistema de archivos.
Escenario: usted ha iniciado sesión como usuario y crea un archivo nuevo... something.txt con su editor de texto favorito (vi, por ejemplo).
Dado que ejecuta el programa vi con su propia sesión (supondremos que el nombre de usuario será USER a partir de ahora), USER es el propietario del proceso vi que creó el archivo something.txt en el sistema de archivos. Esto significa que el archivo something.txt pertenecerá a USER.
Escenario: Usted sube un archivo ... somethingElse.txt mediante FTP.
Dado que usted ha iniciado sesión en FTP con su combinación de usuario y contraseña... el proceso FTP con el que está trabajando ha cambiado de usuario y pertenece a USER. Por lo tanto, cuando el archivo somethingElse.txt se sube (se crea) en el sistema de archivos... pertenecerá al propietario del proceso que lo creó, USER.
Escenario: Usted sube un archivo a un script PHP que lo guarda como yetSomethingElse.txt (sin usar suexec con PHP).
Por razones de seguridad, Apache ejecuta sus procesos bajo un usuario "especial"... a menudo llamado nobody, apache, httpd o cualquier otro nombre que el administrador del sistema haya definido en el archivo de configuración. En este caso diremos que el usuario de apache se llama httpd. Entonces, usted sube su archivo al script PHP. PHP se ejecuta en un módulo de Apache, que a su vez se ejecuta en el proceso de Apache... ¿adivine quién es el propietario? ... así es... el usuario httpd. Por este motivo... cuando PHP ejecuta move_uploaded_file() y guarda el archivo yetSomethingElse.txt ... este pertenecerá al usuario httpd y a nadie más. ¿Es un error de PHP? No. ¿Es un error de Apache? No. ¿Es un error del script PHP? No. Simplemente es así como funciona la propiedad de archivos en el sistema de archivos.
suexec es un sistema mediante el cual apache cambia de usuario (Switches User) y ejecuta (EXECutes) el proceso según el usuario propietario del document root del host virtual solicitado. (¿Notó el juego de palabras con SUEXEC?) Esta es una solución que ofrecen algunos proveedores de hosting y permite que todos los archivos creados, modificados, etc. por los procesos de apache pertenezcan al usuario correspondiente.
Es posible que se pregunte por qué Apache se comporta de esta manera... Le sugiero que dirija todas esas preguntas a http://www.apache.org
En resumen, esto no es un error del sistema, sino exactamente la forma en que fue diseñado para funcionar... ¿le facilita eso la vida? No. Pero es la explicación. Existen varias soluciones alternativas... una de ellas es la capa de cliente FTP que he escrito para la versión 1.1, supongo.
Louis "
Esto se explica en http://forum.joomla.org/index.php/topic,30796.0.html. A continuación se presenta un resumen de los motivos, citando textualmente:
"En primer lugar... No importa si el propietario de los archivos principales de Joomla es su usuario o httpd (o nobody, apache, o el usuario que utilice apache). La propiedad de un archivo se determina en el momento de su creación: depende del usuario propietario del proceso del sistema operativo que crea el archivo en el sistema de archivos.
Escenario: usted ha iniciado sesión como usuario y crea un archivo nuevo... something.txt con su editor de texto favorito (vi, por ejemplo).
Dado que ejecuta el programa vi con su propia sesión (supondremos que el nombre de usuario será USER a partir de ahora), USER es el propietario del proceso vi que creó el archivo something.txt en el sistema de archivos. Esto significa que el archivo something.txt pertenecerá a USER.
Escenario: Usted sube un archivo ... somethingElse.txt mediante FTP.
Dado que usted ha iniciado sesión en FTP con su combinación de usuario y contraseña... el proceso FTP con el que está trabajando ha cambiado de usuario y pertenece a USER. Por lo tanto, cuando el archivo somethingElse.txt se sube (se crea) en el sistema de archivos... pertenecerá al propietario del proceso que lo creó, USER.
Escenario: Usted sube un archivo a un script PHP que lo guarda como yetSomethingElse.txt (sin usar suexec con PHP).
Por razones de seguridad, Apache ejecuta sus procesos bajo un usuario "especial"... a menudo llamado nobody, apache, httpd o cualquier otro nombre que el administrador del sistema haya definido en el archivo de configuración. En este caso diremos que el usuario de apache se llama httpd. Entonces, usted sube su archivo al script PHP. PHP se ejecuta en un módulo de Apache, que a su vez se ejecuta en el proceso de Apache... ¿adivine quién es el propietario? ... así es... el usuario httpd. Por este motivo... cuando PHP ejecuta move_uploaded_file() y guarda el archivo yetSomethingElse.txt ... este pertenecerá al usuario httpd y a nadie más. ¿Es un error de PHP? No. ¿Es un error de Apache? No. ¿Es un error del script PHP? No. Simplemente es así como funciona la propiedad de archivos en el sistema de archivos.
suexec es un sistema mediante el cual apache cambia de usuario (Switches User) y ejecuta (EXECutes) el proceso según el usuario propietario del document root del host virtual solicitado. (¿Notó el juego de palabras con SUEXEC?) Esta es una solución que ofrecen algunos proveedores de hosting y permite que todos los archivos creados, modificados, etc. por los procesos de apache pertenezcan al usuario correspondiente.
Es posible que se pregunte por qué Apache se comporta de esta manera... Le sugiero que dirija todas esas preguntas a http://www.apache.org
En resumen, esto no es un error del sistema, sino exactamente la forma en que fue diseñado para funcionar... ¿le facilita eso la vida? No. Pero es la explicación. Existen varias soluciones alternativas... una de ellas es la capa de cliente FTP que he escrito para la versión 1.1, supongo.
Louis "
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.