Solución a problemas de permisos en PrestaShop con Plesk
¡Hola! Si estás leyendo esto, probablemente te has topado con el temido error permisos PrestaShop en tu servidor Plesk. No te preocupes, es uno de los problemas más comunes al gestionar una tienda online, y lo bueno es que tiene solución. En esta guía extensa y paso a paso, vamos a desglosar todo lo que necesitas saber para arreglar permisos archivos PrestaShop de forma segura y efectiva, manteniendo tu tienda funcionando sin contratiempos.
Cuando trabajamos con permisos PrestaShop Plesk, la clave está en entender que los archivos y carpetas de tu tienda necesitan niveles de acceso específicos para que el servidor web (Apache o Nginx) pueda leerlos y escribirlos, pero sin exponer tu web a riesgos de seguridad. Vamos a empezar desde lo más básico.
¿Por qué ocurren los errores de permisos en PrestaShop?
Los errores de permisos suelen manifestarse con mensajes como "No se puede escribir en la carpeta cache", "Error al subir imágenes" o directamente un pantallazo blanco (el famoso "White Screen of Death"). La causa principal es que, al migrar tu tienda, instalar módulos o actualizar PrestaShop, los dueños y grupos de los archivos no se configuran correctamente.
En un entorno Plesk, el servidor web suele ejecutarse con un usuario específico (por ejemplo, psacln o el propio usuario del plan de hosting). Si los archivos de PrestaShop pertenecen a otro usuario, el servidor no podrá escribir en carpetas como cache, img, upload o log. Esto también ocurre si, al subir archivos por FTP, el cliente FTP no asigna los permisos correctos.
[INFO] El problema no siempre es de "seguridad" sino de "propiedad". Plesk maneja usuarios virtuales para cada sitio, y si mezclas archivos subidos por FTP con los que genera el propio PrestaShop, los permisos se desincronizan.
Herramientas que necesitas antes de empezar
Para solucionar problemas de permisos en PrestaShop con Plesk, vas a necesitar:
- Acceso a Plesk (panel de control de tu hosting).
- Acceso SSH (opcional pero recomendado). Si no lo tienes, puedes pedirlo a tu proveedor de hosting.
- Cliente FTP (como FileZilla) o el administrador de archivos de Plesk.
- Conocimientos básicos de navegación por carpetas.
Si tu hosting usa Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106 y la estructura de carpetas puede ser ligeramente diferente, pero los principios son los mismos.
Paso a paso: Arreglar permisos archivos PrestaShop en Plesk
1. Identificar el usuario y grupo correctos
Lo primero es saber bajo qué usuario y grupo se ejecuta tu sitio web en Plesk. Normalmente, en Plesk, cada suscripción tiene un usuario del sistema (por ejemplo, usuario1) y el servidor web usa el grupo psacln. Para verificarlo:
- Accede a Plesk > Sitios web y dominios.
- Selecciona tu dominio y haz clic en "Mostrar más" o en el engranaje de configuración.
- Busca la sección "Seguridad" o "Permisos del sistema". Allí verás el usuario y grupo asignados a tu sitio (por ejemplo,
usuario1:psacln).
Si no lo encuentras, desde SSH puedes ejecutar:
ls -la /var/www/vhosts/tudominio.com/httpdocs/
Verás algo como drwxr-xr-x 5 usuario1 psacln 4096 .... Eso indica que el dueño es usuario1 y el grupo es psacln.
2. Cambiar la propiedad de los archivos (el paso más importante)
Una vez que sabes el usuario y grupo correctos, debes asegurarte de que todos los archivos y carpetas de PrestaShop pertenezcan a ese usuario y grupo. Si no, el servidor web no podrá escribir en las carpetas necesarias.
Opción A: Usando Plesk File Manager (recomendado para principiantes)
- En Plesk, ve a "Administrador de archivos".
- Navega hasta la raíz de tu tienda (normalmente
httpdocsopublic_html). - Selecciona todos los archivos y carpetas (Ctrl+A).
- Haz clic en "Cambiar propietario" o "Permisos" (depende de la versión de Plesk).
- Establece el propietario como el usuario de tu sitio (ej.
usuario1) y el grupo comopsacln. - Marca la opción "Aplicar a todos los subdirectorios y archivos" y confirma.
Opción B: Usando SSH (más rápido y preciso)
Conéctate por SSH a tu servidor y ejecuta:
chown -R usuario1:psacln /var/www/vhosts/tudominio.com/httpdocs/
Reemplaza usuario1 por el usuario de tu sitio. Esto cambiará la propiedad de toda la carpeta de forma recursiva.
[WARNING] Si tu hosting usa Syspanel, la ruta típica es
/home/usuario/web/tudominio.com/public_html/. Ajusta la ruta según corresponda. Recuerda que el puerto SSH por defecto en Syspanel es el 2106, no el 22.
3. Establecer los permisos correctos (644 y 755)
Una vez que la propiedad está bien, hay que asignar los permisos estándar de PrestaShop:
- Archivos: permisos
644(dueño puede leer/escribir, grupo y otros solo leer). - Carpetas: permisos
755(dueño puede leer/escribir/ejecutar, grupo y otros solo leer/ejecutar).
Método rápido desde SSH:
find /var/www/vhosts/tudominio.com/httpdocs/ -type f -exec chmod 644 {} \;
find /var/www/vhosts/tudominio.com/httpdocs/ -type d -exec chmod 755 {} \;
Desde Plesk File Manager:
Selecciona todos los archivos y carpetas, haz clic en "Permisos" y marca:
- Para archivos:
644(orw-r--r--). - Para carpetas:
755(orwxr-xr-x).
Luego aplica los cambios recursivamente.
[TIP] Si usas FileZilla, puedes cambiar permisos masivamente seleccionando todo, clic derecho > "Permisos de archivo..." y asignar 644 para archivos y 755 para directorios. Pero cuidado: FileZilla a veces no aplica recursivamente bien, así que verifica.
4. Configurar permisos especiales para carpetas críticas
PrestaShop necesita permisos de escritura en algunas carpetas específicas para funcionar correctamente (caché, logs, imágenes subidas, etc.). Después del paso anterior, estas carpetas deben tener permisos 755 (que ya les asignamos), pero en algunos casos extremos, si tu servidor tiene configuraciones muy restrictivas, puede que necesites 777 temporalmente.
Carpetas que suelen dar problemas:
/cache//img//log//mails//modules//themes/(y sus subcarpetas)/upload//download//translations/
Para dar permisos 777 (solo como último recurso y temporalmente) desde SSH:
chmod -R 777 /var/www/vhosts/tudominio.com/httpdocs/cache/
chmod -R 777 /var/www/vhosts/tudominio.com/httpdocs/img/
# Repite para cada carpeta problemática
[WARNING] Nunca dejes permisos 777 de forma permanente. Es un agujero de seguridad. Úsalos solo para pruebas y luego revierte a 755. Si después de arreglar el error vuelves a 755 y el problema persiste, es que la propiedad de los archivos no está bien (vuelve al paso 2).
5. Verificar la configuración del servidor web (modo CGI vs FastCGI)
En Plesk, a veces el problema no son los permisos de los archivos, sino cómo el servidor web ejecuta PHP. Si usas PHP-FPM (recomendado), el proceso PHP se ejecuta con el usuario del sitio, lo que facilita la escritura. Si usas mod_php o CGI, puede que el proceso se ejecute con otro usuario (como nobody), causando conflictos.
Para cambiarlo en Plesk:
- Ve a Sitios web y dominios > selecciona tu dominio > Configuración de PHP.
- En "Modo de ejecución PHP", elige "FPM application" o "FastCGI application" (dependiendo de tu versión de Plesk).
- Guarda los cambios y reinicia el servicio.
Si usas Syspanel, la configuración de PHP se encuentra en "Servicios" > "PHP" y puedes elegir entre "PHP-FPM" o "Apache module". Elige PHP-FPM para evitar problemas de permisos.
Preguntas frecuentes (FAQ) sobre errores de permisos en PrestaShop
¿Por qué después de arreglar los permisos, el error vuelve a aparecer?
Esto suele pasar cuando:
- Un módulo o actualización modifica los permisos automáticamente.
- El servidor tiene una tarea cron que resetea permisos.
- El usuario FTP no coincide con el usuario del sitio.
Solución: Repite los pasos 2 y 3, y si el error persiste, revisa los logs de PrestaShop (carpeta /log/) para ver qué archivo exacto está dando problemas.
¿Puedo usar un plugin para arreglar los permisos?
Sí, existen módulos como "PrestaShop Permissions Fixer" que pueden ayudarte, pero ten cuidado: algunos módulos gratuitos pueden ser inseguros. Siempre es mejor hacerlo manualmente o mediante SSH. Si tu tienda es muy grande, un módulo puede ahorrarte tiempo, pero verifica que sea de un desarrollador confiable.
¿Qué hago si no tengo acceso SSH?
Puedes usar el Administrador de archivos de Plesk para cambiar propietario y permisos, pero ten en cuenta que puede ser lento si tienes muchos archivos. Otra opción es crear un script PHP temporal que ejecute los comandos chmod y chown desde el navegador (solo para administradores avanzados y con cuidado).
¿Cómo afectan los permisos incorrectos al SEO de mi tienda?
Aunque no es directo, un error de permisos puede causar:
- Imágenes que no se cargan (afecta la experiencia de usuario y el Core Web Vitals).
- Páginas en blanco (pérdida de tráfico y rastreo).
- Imposibilidad de generar sitemaps o archivos robots.txt.
Por lo tanto, arreglar permisos archivos PrestaShop es también una tarea de SEO técnico básico.
Consejos finales para mantener los permisos en orden
-
Usa siempre FTP con el usuario correcto: En Plesk, cuando creas un plan de hosting, se genera un usuario FTP específico. Úsalo en lugar de la cuenta principal del servidor.
-
Evita subir archivos como root: Si tienes acceso SSH, nunca subas archivos como root, porque luego tendrás que cambiar la propiedad manualmente.
-
Automatiza con un cron: Si tu servidor lo permite, programa una tarea cron que cada noche ejecute:
chown -R usuario1:psacln /var/www/vhosts/tudominio.com/httpdocs/ find /var/www/vhosts/tudominio.com/httpdocs/ -type f -exec chmod 644 {} \; find /var/www/vhosts/tudominio.com/httpdocs/ -type d -exec chmod 755 {} \;Esto mantendrá tus permisos siempre correctos, especialmente después de actualizaciones.
-
Actualiza PrestaShop y los módulos: Las versiones antiguas pueden tener bugs que generen conflictos de permisos. Mantén todo al día.
Espero que esta guía te haya sido de gran ayuda. Recuerda que los permisos PrestaShop Plesk son un tema recurrente, pero con estos pasos podrás resolver el 99% de los casos. Si después de todo sigues teniendo problemas, revisa los logs del servidor (en Plesk > "Logs") o contacta a tu proveedor de hosting, ya que podría haber una restricción a nivel de servidor.
¡Buena suerte con tu tienda online!
