linux - Extensiones Joomla, permisos de archivos
lamp (2)
Es muy probable que su problema sea PROPIEDAD en lugar de PERMISOS per se.
El problema es que hay dos formas principales de ejecutar PHP en un servidor web. Uno ejecuta PHP como parte de Apache y tiene estos problemas. La dificultad es que coloca los archivos en su lugar como un solo usuario, pero el servidor web Apache accede a los archivos como un usuario diferente. En su caso, Apache / PHP creó el archivo configuration.php para que sea el propietario y pueda escribir en él. Se pusieron en su lugar otros archivos para que Apache / PHP no puedan tocarlos.
Hay dos soluciones posibles:
1) Cambiar la propiedad de los archivos de Joomla (recursivamente) al usuario que Apache / PHP opera como.
chown -R user:group *
Donde ''usuario'' y ''grupo'' deberían ser reemplazados por el nombre de usuario y nombre de grupo real con los que Apache opera. Asegúrese de estar en la carpeta raíz de su espacio web antes de ejecutar este comando.
2) Instalar y configurar PHP para ejecutar a través de CGI usando fast-cgi y SUExec.
Si elige la primera opción, las cosas funcionarán, pero experimentará dificultades si quiere editar cualquier archivo manualmente, por ejemplo, plantillas y archivos css.
La opción 2 es mucho trabajo para los inexpertos pero elimina estas dificultades de permisos ya que PHP accederá a los archivos como usted.
Tengo problemas para instalar extensiones en Joomla, después de analizarlo un poco, me doy cuenta de que creo que necesito cambiar los permisos de mis archivos, no tengo ni idea de cómo hacerlo. En Joomla, información del sistema, permisos de directorio, todos mis permisos están configurados como no escribibles, aparte de "configuration.php". No tengo idea de cómo cambiar esto en Linux. Estoy ejecutando Joomla 1.7.3 y Ubunutu 11.10. ¿Alguien puede aclarar cómo cambiar los permisos?
¿Tiene acceso de shell en la máquina donde están los archivos de Joomla, o incluso lo ejecuta en su escritorio? Entonces debería ser tan fácil como ejecutar los siguientes dos comandos en el directorio de Joomla:
$ find . -type f -exec chmod 664 {} /;
$ find . -type d -exec chmod 775 {} /;
... para hacer que todos los archivos y directorios sean grabables para el usuario que posee los archivos y su grupo (y legibles para todos los usuarios); a menos que el usuario sea el propietario de estos archivos, tendrá que ejecutar el comando como root o con derechos de root (p. ej., anteponiendo cada uno de ellos con sudo
).
Si solo quiere permitir permisos de escritura para el usuario (y no para el grupo), use 644
y 755
lugar de 664
y 775
; si solo desea que el usuario pueda leerlos y escribirlos, use 600
y 700
respectivamente; lea el manual de chmod (escriba man chmod
en el shell) para más detalles.
También podría ser un problema con la propiedad del archivo (ver la respuesta de Dean Marshall ).
En realidad, configuration.php
no debería poder escribirse; si cambia algo en la configuración desde Joomla, debería configurarse automáticamente como de solo lectura.
Si observa que todavía no puede instalar ninguna extensión, es posible que deba configurar Joomla para usar FTP para acceder a los archivos (que se puede configurar en las opciones de Joomla). Esto es necesario si el usuario que ejecuta las secuencias de comandos PHP no tiene acceso de escritura a los archivos, sino solo al usuario FTP (tal situación podría ocurrir, por ejemplo, para entornos alojados).