Resolver problemas de permisos en PrestaShop con Plesk
Si estás leyendo esto, seguramente te has topado con el temido mensaje de error de permisos en tu tienda PrestaShop alojada en un servidor con Plesk. No te preocupes, es una de las consultas más frecuentes que recibimos en soporte técnico. Los errores permisos PrestaShop suelen manifestarse como pantallas en blanco, imposibilidad de instalar módulos, problemas al subir imágenes o la temida advertencia de que "no se puede escribir en la carpeta". En esta guía extensa y muy práctica, vamos a desglosar paso a paso cómo resolver los problemas de permisos de archivos y carpetas en PrestaShop utilizando Plesk. El objetivo es que, incluso si no eres un experto en sistemas, puedas solucionarlo tú mismo.
¿Por qué ocurren los errores de permisos en PrestaShop con Plesk?
Antes de lanzarnos a las soluciones, es importante entender la causa raíz. PrestaShop necesita poder leer y escribir en ciertos directorios para funcionar correctamente. Por ejemplo, necesita escribir en las carpetas de caché, de módulos, de temas y, por supuesto, en la carpeta de archivos subidos (img). Cuando los permisos no son los correctos, el sistema se bloquea.
En un entorno Plesk, el problema suele originarse por una discrepancia entre el usuario del sistema que ejecuta PHP (a menudo "psacln" o un usuario similar) y el propietario de los archivos de PrestaShop (generalmente el usuario FTP de tu suscripción). Además, a veces al migrar una web o al instalar módulos manualmente, los permisos se desconfiguran. Identificar esto es el primer paso para corregir los permisos PrestaShop Plesk.
Diagnóstico inicial: ¿Cómo saber si es un problema de permisos?
No te lances a cambiar permisos a lo loco. Primero, confirma que el problema es efectivamente de permisos. Estos son los síntomas más comunes:
- Error al subir imágenes: Aparece un mensaje como "Error: No se puede copiar el archivo" o la imagen simplemente no se guarda.
- Pantalla en blanco (WSOD): Al intentar acceder al front-end o back-office, solo ves una página en blanco. A menudo esto se debe a que no se puede escribir en la carpeta de caché.
- Módulos que no se instalan o actualizan: El botón de instalar no funciona, o recibes un error de "no se puede escribir en el directorio".
- Problemas con el generador de URL amigables: Aparece un error de que no se puede escribir en el archivo .htaccess.
- Mensajes en el back-office: En la parte superior del panel de administración, PrestaShop te muestra una alerta amarilla o roja indicando que ciertas carpetas no tienen permisos de escritura.
Si ves alguno de estos síntomas, vamos a la acción.
Solución paso a paso para corregir permisos en PrestaShop con Plesk
Aquí tienes el método más fiable y seguro para restaurar los permisos correctos. Lo haremos desde el panel de Plesk, sin necesidad de usar comandos SSH (aunque también te daremos esa opción avanzada).
Paso 1: Accede al Administrador de Archivos de Plesk
- Inicia sesión en tu panel de Plesk.
- Ve a la sección "Archivos" o "Administrador de archivos" (dependiendo de la versión de Plesk, puede variar).
- Selecciona el dominio donde tienes instalado PrestaShop. Esto te llevará a la raíz del sitio web (normalmente la carpeta
httpdocsohtdocs).
Paso 2: Establece el propietario correcto de los archivos
Este es el paso más importante y a menudo el que se pasa por alto. PrestaShop necesita que el usuario del sistema (que ejecuta PHP) sea el propietario de los archivos, o al menos que el grupo tenga permisos de escritura.
- En el Administrador de archivos, ve a la carpeta raíz de tu PrestaShop (la que contiene
index.php). - Marca la casilla de selección de la carpeta raíz (o selecciona todos los archivos y carpetas).
- Busca el botón "Cambiar propietario" o "Propietario" (suele estar en la barra de herramientas o en un menú desplegable).
- En la ventana que aparece, verás dos campos: "Usuario" y "Grupo".
- Usuario: Debes seleccionar el usuario del sistema, que suele llamarse igual que tu suscripción (ej:
mi-tiendaousuario123). Importante: No selecciones "root" ni "nobody". El usuario correcto es el de tu plan de hosting. - Grupo: Selecciona el grupo correspondiente, que a menudo es
psacln(el grupo del servicio de Plesk) o el mismo nombre del usuario.
- Usuario: Debes seleccionar el usuario del sistema, que suele llamarse igual que tu suscripción (ej:
- Marca la opción "Aplicar recursivamente a todos los archivos y subdirectorios" (o similar). Esto es crucial para que el cambio afecte a todo el árbol de directorios.
- Haz clic en "Aceptar". El proceso puede tardar unos segundos.
[INFO] ¿Por qué es esto clave? Porque PHP se ejecuta bajo el usuario del sistema. Si los archivos son propiedad de otro usuario (por ejemplo, de una migración), PHP no podrá escribir en ellos. Al cambiar el propietario al usuario correcto, le das permiso al sistema para modificar los archivos.
Paso 3: Ajusta los permisos de archivos y carpetas (CHMOD)
Una vez que el propietario es el correcto, toca establecer los permisos numéricos. PrestaShop recomienda una configuración específica:
- Carpetas (directorios): Permiso 755 (rwxr-xr-x). Esto permite al propietario leer, escribir y ejecutar, y a los demás solo leer y ejecutar.
- Archivos (ficheros): Permiso 644 (rw-r--r--). El propietario puede leer y escribir; los demás solo leer.
Para hacerlo desde Plesk:
- En el Administrador de archivos, selecciona todos los archivos y carpetas de la raíz de PrestaShop.
- Busca el botón "Cambiar permisos" o "Permisos".
- Se abrirá una ventana con opciones de permisos. No te asustes, no necesitas saber leer octal.
- Marca las siguientes casillas para archivos:
- Propietario: Lectura y Escritura.
- Grupo: Solo Lectura.
- Público: Solo Lectura.
- Esto equivale a 644.
- Luego, para carpetas:
- Propietario: Lectura, Escritura y Ejecución.
- Grupo: Lectura y Ejecución.
- Público: Lectura y Ejecución.
- Esto equivale a 755.
- Marca la opción "Aplicar recursivamente".
- Haz clic en "Aceptar".
[WARNING] No marques la opción "Establecer permisos para archivos y directorios por separado" si no ves las dos secciones claramente. Si tu Plesk te permite elegir entre "archivos" y "directorios", hazlo. Si solo ves un campo numérico (ej: 755), aplícalo a todo y luego manualmente cambia los archivos .php a 644 (esto es más tedioso pero seguro).
Paso 4: Permisos especiales para carpetas críticas de PrestaShop
Aunque el paso anterior es correcto para la mayoría del sistema, hay carpetas que necesitan permisos de escritura para el grupo, porque el proceso de PHP (que corre como el usuario del sistema) necesita escribir ahí. Estas carpetas son:
/cache/config(a veces)/img/log/mails/modules/override/themes(especialmente la carpeta de tu tema activo)/translations/upload/download/sitemap.xml(archivo)
Para estas carpetas, el permiso recomendado es 755 (ya lo tienes del paso anterior), pero a veces se requiere 757 o 777 temporalmente si el grupo no puede escribir. No te recomiendo usar 777 de forma permanente por seguridad. En su lugar, haz lo siguiente:
- Ve a la carpeta
/img, por ejemplo. - Cámbiale los permisos a 757 (rwxr-xrwx) o 777 (rwxrwxrwx) solo de forma temporal para solucionar un error concreto (ej: subir el logo).
- Una vez solucionado, vuélvelo a dejar en 755.
[TIP] Si ves que el error persiste en una carpeta específica, prueba a darle permisos 777, ejecuta la acción (subir imagen, instalar módulo) y luego revierte a 755. Es una solución rápida y segura.
Paso 5: Verifica la configuración de PHP (modo FPM o CGI)
A veces el problema no son los permisos de los archivos en sí, sino cómo Plesk ejecuta PHP. Si usas PHP como Módulo Apache (mod_php), PHP se ejecuta como el usuario www-data y puede causar conflictos. Lo ideal es usar PHP-FPM (FastCGI Process Manager) ejecutado por el usuario del sistema.
- En Plesk, ve a "Configuración de PHP" de tu dominio.
- Busca la opción "Ejecutar PHP como" o "PHP handler".
- Asegúrate de que esté configurado como "FPM application" o "FastCGI" (no como "Apache Module").
- Si no lo está, cámbialo. Esto hará que PHP se ejecute con el usuario de tu suscripción (el mismo que pusiste como propietario en el Paso 2), resolviendo el 90% de los problemas de permisos de forma definitiva.
[INFO] Esta configuración es clave en los errores permisos PrestaShop modernos. Con FPM, el usuario de PHP coincide con el propietario de los archivos, eliminando la necesidad de usar permisos 777.
Solución avanzada (opcional) usando SSH
Si te sientes cómodo con la terminal, este método es más rápido y preciso. Conéctate por SSH a tu servidor y ejecuta estos comandos desde la raíz de tu PrestaShop (reemplaza /ruta/a/tu/tienda por la ruta real, que suele ser /var/www/vhosts/tudominio.com/httpdocs):
cd /ruta/a/tu/tienda
# Cambia el propietario recursivamente (ajusta 'usuario:grupo')
chown -R usuario:psacln .
# Establece permisos de archivos a 644
find . -type f -exec chmod 644 {} \;
# Establece permisos de directorios a 755
find . -type d -exec chmod 755 {} \;
# Da permisos especiales a carpetas críticas (opcional, solo si es necesario)
chmod -R 755 cache config img log mails modules override themes translations upload download
[WARNING] El comando chown es crítico. Asegúrate de usar el usuario correcto de tu suscripción. Si no lo sabes, en Plesk puedes verlo en "Suscripciones" > "Detalles".
Preguntas Frecuentes (FAQ) sobre permisos en PrestaShop y Plesk
Aquí respondemos las dudas más comunes que recibimos en soporte.
¿Por qué después de cambiar permisos a 777 todo funciona, pero luego vuelve el error?
Porque al actualizar PrestaShop o al ejecutar ciertos procesos (como la limpieza de caché), el sistema intenta escribir en carpetas que no tienen el propietario correcto. El permiso 777 es un parche, no la solución. La solución permanente es configurar PHP-FPM y establecer el propietario correcto (Paso 1 y 5). Si usas 777, estás abriendo una puerta a posibles vulnerabilidades de seguridad.
¿Es seguro usar permisos 777 en PrestaShop?
No, no es recomendable. 777 permite a cualquier usuario del sistema (y potencialmente a scripts maliciosos) escribir en tus archivos. Úsalo solo de forma temporal y en carpetas muy concretas (como /img o /cache). La configuración segura es 755 para carpetas y 644 para archivos, con el propietario correcto.
¿Qué hago si no veo la opción "Cambiar propietario" en Plesk?
Esta opción puede estar oculta si tu plan de hosting no te da acceso a nivel de sistema. En ese caso, contacta con tu proveedor de hosting y pídeles que ajusten el propietario de los archivos de tu PrestaShop al usuario de la suscripción. Ellos pueden hacerlo desde la línea de comandos.
Después de seguir todos los pasos, sigo teniendo errores de permisos. ¿Qué más puede ser?
Revisa estos puntos:
- Archivo settings.inc.php: Asegúrate de que el archivo
/config/settings.inc.phptenga permisos 644 o incluso 444 (solo lectura) después de la instalación. Si está en 777, puede causar problemas. - Módulos de terceros: Algunos módulos mal codificados pueden forzar permisos incorrectos. Desactiva todos los módulos no esenciales y prueba.
- SELinux: En algunos servidores, SELinux puede estar bloqueando los permisos aunque los archivos estén bien. Esto es menos común en Plesk, pero si nada funciona, consulta a tu hosting.
- Actualización de PrestaShop: A veces una actualización fallida deja permisos desconfigurados. Prueba a reinstalar los archivos principales de PrestaShop (sin borrar la base de datos).
¿Cada cuánto debo revisar los permisos de PrestaShop?
No es necesario que lo hagas de forma periódica, a menos que estés haciendo cambios importantes (migraciones, instalaciones masivas de módulos, cambios de servidor). Si todo funciona bien, déjalo como está. Sin embargo, después de cada actualización mayor de PrestaShop, es buena práctica verificar que el propietario sigue siendo el correcto.
Conclusión: Tu tienda PrestaShop funcionará sin problemas de permisos
Resolver los permisos PrestaShop Plesk no tiene por qué ser un dolor de cabeza. Recuerda la regla de oro: propietario correcto + PHP-FPM + permisos 755/644. Siguiendo los pasos de esta guía, podrás solucionar el 99% de los errores permisos PrestaShop que puedas encontrar. Si después de todo sigues teniendo problemas, no dudes en contactar con el equipo de soporte de tu hosting, proporcionando los mensajes de error exactos. Con un poco de paciencia y estos conocimientos, tu tienda online volverá a volar.
[TIP] Para evitar futuros dolores de cabeza, antes de hacer cualquier cambio importante en tu PrestaShop (como instalar un módulo o subir un tema), haz siempre una copia de seguridad completa de los archivos y la base de datos. Así, si algo sale mal, puedes restaurar en minutos.
