Cómo solucionar errores comunes de permisos de archivos en Linux (WordPress, PrestaShop)
¿Por qué aparecen errores de permisos en WordPress y PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con mensajes como "No se puede crear el archivo wp-content/uploads", "Error 403 Forbidden", o "No se puede escribir en el archivo de configuración". No te preocupes, es uno de los problemas más comunes en el hosting Linux y casi siempre tiene una solución sencilla.
Los permisos de archivos Linux son un sistema de seguridad que define quién puede leer, escribir o ejecutar cada archivo y carpeta de tu servidor. Cuando estos permisos están mal configurados, tanto WordPress como PrestaShop (y cualquier otra aplicación PHP) empiezan a fallar porque no pueden crear archivos temporales, subir imágenes o modificar sus propios archivos de configuración.
En esta guía te voy a explicar paso a paso cómo diagnosticar y solucionar los errores de permisos WordPress y los errores de permisos PrestaShop, usando comandos como chmod y chown. No necesitas ser un experto, solo seguir las instrucciones con calma.
Entendiendo los permisos: 755, 644 y qué significa cada número
Antes de lanzarnos a ejecutar comandos, es fundamental que entiendas qué significan esos números que ves por ahí: permisos 755 644. No es magia, es matemática simple.
Cada archivo y carpeta tiene tres grupos de permisos: el propietario, el grupo y el resto de usuarios. Y cada grupo tiene tres acciones posibles: lectura (4), escritura (2) y ejecución (1).
Cuando ves un permiso como 755, se descompone así:
- El primer dígito (7) es para el propietario: 4+2+1 = lectura, escritura y ejecución.
- El segundo dígito (5) es para el grupo: 4+1 = lectura y ejecución.
- El tercer dígito (5) es para los demás: 4+1 = lectura y ejecución.
Y el 644 se descompone así:
- El propietario tiene 6 (4+2) = lectura y escritura.
- El grupo tiene 4 = solo lectura.
- Los demás tienen 4 = solo lectura.
La regla de oro es: las carpetas deben tener permisos 755 y los archivos 644. Si encuentras archivos con permisos 777 (todos pueden escribir), es un riesgo de seguridad grave. Si encuentras carpetas con permisos 755 pero el propietario incorrecto, también fallará.
Primero: identifica el propietario correcto de tus archivos
Este es el paso que casi todo el mundo se salta y por eso los errores persisten. No basta con cambiar los permisos; también hay que asegurarse de que el propietario (usuario y grupo) sea el correcto.
En la mayoría de los servidores compartidos, el usuario de FTP es el mismo que el usuario del sistema. Pero en servidores VPS o dedicados, a veces PHP se ejecuta como www-data o nobody, mientras que tus archivos pertenecen a otro usuario.
Para ver quién es el propietario actual de tus archivos, ejecuta este comando desde la raíz de tu sitio:
ls -la
Verás una lista con columnas. La tercera y cuarta columna te indican el usuario y el grupo. Si ves algo como root root y sabes que tu usuario de FTP es miusuario, ahí tienes el problema.
Cómo usar chown correctamente
El comando chown cambia el propietario. Para chown PrestaShop o WordPress, la sintaxis básica es:
chown -R usuario:grupo /ruta/a/tu/sitio
Por ejemplo:
chown -R miusuario:www-data /home/miusuario/public_html
El -R significa recursivo, es decir, aplica el cambio a todas las carpetas y archivos dentro de esa ruta.
[WARNING] No uses chown -R sobre toda la raíz del servidor. Limítate a la carpeta de tu sitio web. Cambiar el propietario de archivos del sistema puede romper tu servidor por completo.
Solución para WordPress: permisos paso a paso
Los errores de permisos WordPress suelen aparecer cuando intentas instalar plugins, subir imágenes o actualizar el núcleo. Aquí tienes la solución completa.
Paso 1: Accede a tu servidor por SSH
Necesitas acceso SSH. Si usas Syspanel (accesible desde el puerto 2106), puedes encontrar las credenciales SSH en la sección de "Acceso" o "Usuarios". Si no tienes acceso SSH, puedes usar el administrador de archivos de Syspanel, pero los comandos serán más limitados.
Paso 2: Establece los permisos base correctos
Una vez dentro, navega a la raíz de tu WordPress:
cd /home/tuusuario/public_html
Ahora aplica los permisos base a todas las carpetas y archivos:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Esto establece permisos 755 644 en todo tu WordPress. Es la base correcta para que todo funcione.
Paso 3: Permisos especiales para wp-content
La carpeta wp-content necesita permisos de escritura para que puedas instalar plugins y subir medios. Asegúrate de que estas carpetas específicas sean escribibles:
chmod 755 wp-content
chmod 755 wp-content/uploads
chmod 755 wp-content/plugins
chmod 755 wp-content/themes
En algunos casos, los servidores necesitan que wp-content sea 775 o incluso 777 temporalmente para que PHP pueda escribir. Si después de los pasos anteriores sigues con errores, prueba con:
chmod -R 775 wp-content
[TIP] Si estás en un servidor con PHP-FPM, es muy probable que necesites que el grupo tenga permisos de escritura. Un 775 suele ser suficiente y más seguro que 777.
Paso 4: Archivos de configuración específicos
El archivo wp-config.php debe tener permisos 644 o incluso 600 si quieres máxima seguridad. Pero si tienes problemas de escritura al actualizar WordPress, prueba con 646 temporalmente:
chmod 644 wp-config.php
Paso 5: Verifica con un archivo de prueba
Crea un archivo de prueba en wp-content/uploads:
touch wp-content/uploads/prueba.txt
ls -la wp-content/uploads/prueba.txt
Si se crea sin errores, el problema está resuelto. Luego borra el archivo de prueba.
Solución para PrestaShop: permisos paso a paso
Los errores de permisos PrestaShop son un poco más exigentes porque la plataforma necesita escribir en varias carpetas y archivos de configuración, especialmente durante la instalación y actualización.
Paso 1: Configuración base de PrestaShop
Al igual que con WordPress, empieza con los permisos base correctos:
cd /home/tuusuario/public_html
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Paso 2: Carpetas que necesitan escritura obligatoria
PrestaShop necesita escritura en estas carpetas concretas:
chmod -R 775 app/config
chmod -R 775 var/cache
chmod -R 775 var/logs
chmod -R 775 var/sessions
chmod -R 775 img
chmod -R 775 mails
chmod -R 775 modules
chmod -R 775 themes
chmod -R 775 upload
chmod -R 775 download
chmod -R 775 override
Con el -R y 775 estás permitiendo que el grupo (donde suele estar PHP) pueda escribir en esas carpetas.
Paso 3: El archivo settings.inc.php
Este es el archivo de configuración principal de PrestaShop. Debe ser escribible durante la instalación y actualización, pero después lo puedes proteger:
chmod 644 app/config/parameters.php
chmod 644 app/config/parameters.yml
Si estás en una versión antigua de PrestaShop (1.6 o anterior), el archivo es config/settings.inc.php y necesita permisos 444 después de la instalación.
Paso 4: El comando chown para PrestaShop
Para chown PrestaShop, asegúrate de que el propietario sea tu usuario de FTP y el grupo sea el que usa PHP en tu servidor:
chown -R tuusuario:www-data /home/tuusuario/public_html
[INFO] En Syspanel, si tienes dudas sobre cuál es el grupo correcto, revisa la configuración de PHP en el panel. Normalmente es www-data en servidores Apache y nginx en servidores Nginx.
Errores comunes y sus soluciones rápidas
Error 403 Forbidden en todo el sitio
Esto suele pasar cuando los permisos de la carpeta raíz son demasiado restrictivos. Verifica que la carpeta principal tenga al menos 755:
chmod 755 /home/tuusuario/public_html
No puedo subir imágenes a WordPress
El problema casi siempre está en wp-content/uploads. Asegúrate de que exista y tenga los permisos correctos:
mkdir -p wp-content/uploads
chmod -R 775 wp-content/uploads
PrestaShop no genera la caché
La carpeta var/cache necesita ser escribible. Si ya tienes 775 y sigue fallando, prueba con 777 temporalmente, ejecuta la regeneración de caché desde el panel de administración y luego vuelve a 755.
Error al instalar un módulo en PrestaShop
Verifica que la carpeta modules tenga permisos de escritura y que el propietario sea correcto. A veces el módulo necesita crear subcarpetas y archivos dentro de esa carpeta.
Script automático para arreglar permisos
Para que no tengas que escribir todos los comandos a mano, aquí tienes un script que puedes guardar como fix-permisos.sh y ejecutar cuando lo necesites:
#!/bin/bash
echo "Arreglando permisos en WordPress o PrestaShop..."
# Permisos base
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
# Carpetas especiales WordPress
if [ -d "wp-content" ]; then
chmod -R 775 wp-content
echo "Permisos WordPress aplicados"
fi
# Carpetas especiales PrestaShop
if [ -d "var/cache" ]; then
chmod -R 775 var/cache var/logs var/sessions app/config img mails modules themes upload download override
echo "Permisos PrestaShop aplicados"
fi
echo "Permisos corregidos. Verifica tu sitio web."
Para ejecutarlo:
chmod +x fix-permisos.sh
./fix-permisos.sh
Cómo prevenir problemas futuros
La mejor solución es la prevención. Aquí tienes algunas buenas prácticas:
- Nunca uses permisos 777 de forma permanente. Solo como solución temporal y luego revierte.
- Configura bien el propietario desde el principio. Si creas el sitio desde Syspanel (puerto 2106), asegúrate de que el usuario de FTP coincide con el propietario de los archivos.
- Haz copias de seguridad antes de cambiar permisos de forma masiva.
- Usa un plugin de seguridad que monitoree los permisos y te avise si algo cambia.
- Mantén actualizados WordPress y PrestaShop para evitar errores de compatibilidad.
Preguntas frecuentes sobre permisos
¿Es seguro usar permisos 755 para todos los archivos?
No. Los archivos deben ser 644 y las carpetas 755. Usar 755 en archivos les da permiso de ejecución, lo cual no es necesario y puede ser un riesgo.
¿Por qué mi WordPress sigue fallando si ya puse 755 y 644?
El problema puede ser el propietario. Verifica con ls -la que el usuario y grupo son correctos. Si PHP se ejecuta como www-data y tus archivos son de root, tendrás problemas.
¿Qué hago si no tengo acceso SSH?
Puedes usar el administrador de archivos de Syspanel (puerto 2106) para cambiar permisos de forma gráfica. Selecciona todos los archivos, haz clic derecho y busca la opción "Permisos". Aplica 755 para carpetas y 644 para archivos.
¿Los permisos afectan al rendimiento de mi web?
No directamente. Pero unos permisos incorrectos pueden provocar errores que ralenticen tu sitio al intentar acceder a archivos no legibles.
Con esta guía deberías poder resolver el 95% de los errores de permisos en WordPress y PrestaShop. Recuerda siempre trabajar con calma, hacer cambios graduales y verificar después de cada paso. Si algo no funciona, revisa los logs de error de tu servidor en Syspanel para obtener más pistas.
