Permitir que usuario apache tenga permisos de escritura en carpetas
Esto lo conseguimos por medio de 2 medios distintos:
Asignación del usuario apache al grupo del usuario web
Para los casos en los que necesitemos que el usuario apache tenga permisos de escritura en las carpetas y poder subir imágenes vía web sin perder la posibilidad de hacerlo vía FTP.
Para ello usamos el siguiente comando:
usermod -a -G <grupo_nuevo> apache
Posteriormente deberemos asignar los permisos 775 a la carpeta en la que queremos escribir.
chmod 775 <carpeta_destino>
Para hacerlo en todas las subcarpetas de un directorio dado (ATENCIÓN!!! estando en el directorio en cuestión):
find . -type d -exec chmod 775 {} \;
Para los ficheros solo necesitamos permisos de lectura/escritura:
find . -type f -exec chmod 664 {} \;
Hack para HOSTALIA (obsoleto)
En el caso de usar HOSTALIA tendremos que añadir el siguiente paso, consistente en desactivar el safe_mode para el fichero httpd.conf del dominio en cuestión.
Este fichero se encuentra en
/var/www/vhosts/nombre_del_dominio/conf/httpd.include
Hay que buscar todas las apariciones de:
php_admin_flag safe_mode on
Y cambiarlas por
php_admin_flag safe_mode off
Luego tenemos que reiniciar el servidor de apache
apache2ctl graceful
Asignar la carpeta la usuario apache
En este caso no hay que modificar permisos a ninguna carpeta, pero NO se podría subir archivos a la carpeta vía FTP. El comando a ejecutar es:
chown apache:apache /path/a/la/carpeta/