Permisos de archivos y carpetas en WordPress

Permisos de archivos y carpetas en WordPress

¿Les ha pasado que a la hora de instalar o migrar una instalación de WordPress experimentan problemas a la hora de cargar archivos y con las actualizaciones? Déjenme decirles que esto es algo muy común que nos ocurre a muchos al momento de dar nuestros primeros pasos en el mundo de Linux y en el de WordPress, ya que se debe a una incorrecta configuración en los propietarios y los permisos de archivos y carpetas en WordPress.

El hecho de tener mal definidos estos permisos es considerado un riesgo latente que podría exponer nuestros sitios a ataques e inyecciones de código malicioso que, sin darnos cuenta, terminarían alentando su funcionamiento, y en el peor de los casos, harán que nuestros sitios sean baneados por los buscadores, tildándolos de inseguros y haciéndolos inaccesible a los visitantes.

Para darles un poquito de contexto (y como voy a entrar directo en materia), les dejo un enlace a la página de soporte de WordPress.org donde explican de una forma bastante sencilla la modalidad de permisos en Linux, el famoso sistema operativo open source, en el que los archivos y directorios disponen de tres niveles de propiedad: el usuario, los grupos y el mundo (todos los demás).

¿Qué permisos debe tener WordPress?

Los permisos que por defecto tiene o debe tenere una instalación tradicional de WordPress (válidos para la mayoría de las aplicaciones web) son:

Archivos: 644
Carpetas: 755

También, se recomienda que la carpeta de cargas (/wordpress/wp-content/uploads) tenga definidos los permisos 775.

Propietario/Grupo

Primero que nada, un factor importante a tener en cuenta, es que tenemos que comprobar que toda la instalación (o en su caso nuestra carpeta de publicación) pertenezca al grupo de usuarios de linux sobre el que se está ejecutando el servidor Apache (comúnmente el grupo de usuarios ‘www-data’).

Para verificar la propiedad de los archivos de nuestra carpeta de publicación es necesario que mediante SSH o Filezilla te fijes bien en la columna “Propietario/Grupo” de tu servidor.

El propietario o grupo debe incluir al usuario “www-data” que es el usuario con privilegios que corre nuestro servidor apache más o menos de la siguiente manera:

usuario www-data

Si esta columna te aparece con otros usuario o grupos, es posible que experimentes problemas ya que no tendrás los privilegios de escritura y ejecución necesarios para cargar y escribir ficheros. Si tu hosting es compartido y no puedes modificar estos parámetros, te sugiero contactes a la brevedad a la empresa y levantes un ticket explicando tu situación para que ellos modifiquen la propiedad de los archivos y tu blog pueda correr sin problemas.

Procedimientos: SSH y Filezilla

El procedimiento correcto y más fácil para actualizarlos es conectarnos mediante SSH a nuestro servidor. Basta con dirigimos a la carpeta raíz de la instalación (/var/www/wordpress/) y ejecutar los siguientes comandos:

sudo find ./ -type f -exec chmod 644 {} +
sudo find ./ -type d -exec chmod 755 {} +
sudo chmod -R 775 wp-content/uploads

Otra de las formas es cambiar los permisos a través de Filezilla, seleccionando todos los archivos o carpetas, dando clic derecho y luego en ‘Permisos de archivo…‘ e ingresar 644 y aplicarlo para todos los archivos individuales e ingresar posteriormente 755 y aplicarlo para todos los directorios y sus subdirectorios recursivamente.

Una vez realizados estos pasos, ya no tendrás problemas para cargar imágenes, plugins o cualquier otro tipo de archivo a tu blog.