20110312

Joomla! Warning: Failed to move file!

Esta tarde he estado 'jugando' un rato con Joomla! sólamente para darme cuenta de la cantidad de lagunas que tengo en cantidad de materias.
La cosa es que he realizado una instalación de juguete utilizando el paquete XAMPP, que simplifica bastante la cosa. En muchos sitios he encontrado como realizar la instalación, pero al instalar módulos obtenía el siguiente error:
Warning: Failed to move file!

Como muchas otros sitios te contarán, instalar Joomla es tan sencillo como:
1.- descargar e instalar el paquete de XAMPP (yo lo suelo dejar en /opt como ya dije)
2.- descargar e instalar el paquete de Joomla! (lo dejo dentro /opt/lampp/htdocs/)
3.- Y a correr.

Pero claro, algunos sistemas operativos se toman más en serio el tema de los permisos que otros. El problema está en que los permisos de los ficheros que has descomprimido normalmente serán:
drwxr-xr-x  tuUsuario tuGrupo para los directorios
-rw-r--r--  tuUsuario tuGrupo para los archivos

En algunos sitios te sugieren hacer un chmod 777 para evitarte problemas, pero si tú eres de los que creen que esto en lugar de evitarlos los genera, te recomiendo no caer en la tentación.
Teniendo en cuenta que Apache se ejecuta con el usuario nobody y el grupo nogroup, lo que he hecho ha sido lo siguiente:
for i in `find . -type d`; do sudo chmod 770 $i; sudo chgrp nogroup $i; done
for i in `find . -type f`; do sudo chmod 660 $i; sudo chgrp nogroup $i; done

Con esto los permisos debería quedarte así:
drwxrwx---  tuUsuario nogroup para los directorios
-rw-rw----  tuUsuario nogroup para los archivos

De esta forma, el usuario propietario del proceso httpd de Apache podrá escribir en la instalación de Joomla!, y tú con tu usuario también.

This evening I've been 'playing' for a while with Joomla! just to realize that I have a lot to learn.
I'm using XAMPP to serve Joomla! on my laptop, but just after install both (XAMPP and Joomla!) and trying to install a module I got the following error:
Warning: Failed to move file!

As you could read in most sites to install the you just have to follow this steps:
1.- download and install the XAMPP package (I usually put it on /opt as I wrote before)
2.- download and install Joomla! package (inside the /opt/lampp/htdocs/ folder)
3.- And that's all folks.

But after that, the permissions on your files and/opt folders look like this:
drwxr-xr-x  yourUser yourGroup for the folders
-rw-r--r--  yourUser yourGroup for the files

You'll see some site that solve this problem using chmod 777, but I you're one of those who care about security I'll suggest to do the following:
for i in `find . -type d`; do sudo chmod 770 $i; sudo chgrp nogroup $i; done
for i in `find . -type f`; do sudo chmod 660 $i; sudo chgrp nogroup $i; done
 
After that, your permissions will look like this:
drwxrwx---  yourUser nogroup for the folders
-rw-rw----  yourUser nogroup for the files

With that, you'll be able to modify the Joomla files, and Joomla! too.

PS. I know, I know. My English is not good enought but, the more you help me, the more I learn.

No hay comentarios: