Cómo resolver errores de permisos de archivos en PrestaShop (cPanel, Plesk, DirectAdmin)
¿Por qué aparece el error de permisos en PrestaShop?
Si estás viendo mensajes como "No se puede escribir en el archivo", "Error 403 Forbidden" o "No tienes permisos para acceder a esta carpeta", no estás solo. Los permisos PrestaShop son una de las causas más comunes de problemas técnicos en esta plataforma, especialmente después de migrar el sitio, actualizar módulos o cambiar de servidor.
Para entenderlo fácilmente: los archivos y carpetas de tu tienda tienen un "candado" que le dice al servidor quién puede leer, escribir o ejecutar cada elemento. Cuando esos candados están mal configurados, el servidor bloquea el acceso, y eso se traduce en errores visuales o funcionales en tu tienda.
En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo resolver estos errores en los tres paneles de control más usados: cPanel, Plesk y DirectAdmin. También te daré los valores exactos de chmod PrestaShop que debes usar para que todo funcione correctamente.
¿Qué significan realmente los permisos de archivos?
Antes de ponernos manos a la obra, es clave que entiendas tres siglas que verás por todas partes: chmod (change mode). Esto se refiere a los permisos que tiene cada archivo o carpeta en tu hosting.
Cada archivo tiene tres grupos de permisos:
- Propietario (owner): normalmente eres tú o el usuario del hosting.
- Grupo (group): un conjunto de usuarios con acceso compartido.
- Público (public): el resto del mundo, incluido el servidor web.
Cada grupo puede tener tres acciones:
- Lectura (r = read)
- Escritura (w = write)
- Ejecución (x = execute)
Cuando ves números como 644 o 755, son la combinación de esos permisos. Por ejemplo:
- 644: el propietario puede leer y escribir, el grupo y el público solo leer.
- 755: el propietario puede leer, escribir y ejecutar; el grupo y el público solo leer y ejecutar.
En PrestaShop, los archivos deben tener permisos 644 y las carpetas 755. Hay excepciones, como la carpeta config o cache, que a veces necesitan permisos más flexibles temporalmente, pero la regla general es esa.
¿Cuáles son los permisos correctos para PrestaShop?
Aquí tienes la tabla de referencia rápida que usarás siempre:
- Archivos:
644 - Carpetas:
755 - Carpeta
config/:755 - Carpeta
cache/:755 - Carpeta
log/:755 - Carpeta
img/:755 - Carpeta
mails/:755 - Carpeta
modules/:755 - Carpeta
themes/:755 - Carpeta
var/(en versiones modernas):755 - Archivos dentro de
var/:644 - Carpeta
upload/:755 - Carpeta
download/:755
[WARNING] No pongas permisos como 777 en todo el sitio. Aunque algunos tutoriales antiguos lo recomiendan, es un grave riesgo de seguridad. Un atacante podría modificar tus archivos. Úsalo solo temporalmente y cámbialo de inmediato.
Cómo cambiar permisos en cPanel
cPanel es el panel más común en el hosting compartido. Es muy visual y no necesitas conocimientos avanzados.
Paso 1: Accede al Administrador de Archivos
- Entra a tu cPanel con tus credenciales.
- Busca la sección Archivos y haz clic en Administrador de Archivos.
- Se abrirá una ventana; elige la carpeta raíz de tu dominio (normalmente
public_htmlowww).
Paso 2: Selecciona los archivos o carpetas
- Navega hasta la raíz de tu instalación de PrestaShop.
- Marca la casilla de todos los archivos y carpetas que quieras corregir. Si quieres cambiar todo el sitio, selecciona todo dentro de
public_html.
Paso 3: Cambia los permisos
- Con los elementos seleccionados, haz clic en Permisos en la barra superior.
- Se abrirá una ventana con casillas. Marca las opciones según el valor que quieras:
- Para archivos: marca lectura y escritura para el propietario, y solo lectura para grupo y público (644).
- Para carpetas: marca lectura, escritura y ejecución para el propietario; lectura y ejecución para grupo y público (755).
- Haz clic en Cambiar permisos.
[TIP] Si tienes muchos archivos, es más rápido usar FTP con un cliente como FileZilla, pero si no sabes usarlo, el Administrador de Archivos de cPanel es perfecto.
Cómo cambiar permisos en Plesk
Plesk es otro panel muy popular, sobre todo en servidores dedicados y VPS. Su interfaz es un poco distinta, pero igual de sencilla.
Paso 1: Entra al Administrador de Archivos de Plesk
- Inicia sesión en Plesk.
- Ve a Sitios web y dominios.
- Haz clic en Administrador de Archivos en el dominio donde está tu PrestaShop.
Paso 2: Navega a la raíz de PrestaShop
- Entra en la carpeta
httpdocs(es el equivalente apublic_html). - Selecciona todos los archivos y carpetas de tu instalación.
Paso 3: Cambia los permisos de forma individual o masiva
- Haz clic en el icono de Permisos (suele ser un candado o una llave).
- Se abrirá una ventana donde puedes elegir el propietario, el grupo y el público.
- Marca las casillas de Lectura y Escritura para el propietario en archivos.
- Para carpetas, añade también Ejecución.
- Aplica los cambios.
[INFO] En Plesk, también puedes usar la opción Cambiar permisos recursivamente para aplicar los mismos permisos a todas las subcarpetas y archivos internos. Esto te ahorra tiempo si tienes una estructura grande.
Cómo cambiar permisos en DirectAdmin
DirectAdmin es menos conocido pero igual de eficiente. Su administrador de archivos es algo más básico, pero cumple perfectamente.
Paso 1: Accede al Administrador de Archivos
- Entra a DirectAdmin.
- Busca el icono Administrador de Archivos en el panel principal.
- Navega hasta la carpeta
domains→tudominio.com→public_html.
Paso 2: Selecciona los archivos
- Marca todos los archivos y carpetas de tu PrestaShop.
- En la barra superior, haz clic en Cambiar permisos.
Paso 3: Ajusta los valores
- DirectAdmin te muestra una tabla con casillas.
- Para archivos: marca lectura y escritura para el propietario; solo lectura para grupo y público.
- Para carpetas: marca lectura, escritura y ejecución para el propietario; lectura y ejecución para grupo y público.
- Haz clic en Guardar.
[WARNING] Si tu tienda sigue dando errores después de cambiar los permisos, es posible que el problema no sea solo de permisos. Revisa también la propiedad de los archivos (owner y grupo). En DirectAdmin, puedes cambiar el propietario desde la opción Propietario en el mismo administrador de archivos.
¿Qué hago si el error persiste tras cambiar los permisos?
A veces los permisos están bien, pero el error sigue apareciendo. Esto puede deberse a otras causas. Te dejo una lista de verificación rápida:
- Limpia la caché de PrestaShop: borra el contenido de las carpetas
var/cache(ocacheen versiones antiguas) yvar/logs. No borres la carpeta en sí, solo los archivos internos. - Desactiva y reactiva los módulos: algún módulo puede exigir permisos especiales. Ve a Módulos → Administrador de módulos y desactiva los que no uses.
- Revisa el archivo
.htaccess: a veces este archivo tiene reglas que bloquean el acceso. Puedes renombrarlo a.htaccess.baky probar. Si funciona, regenera el archivo desde Parámetros avanzados → Rendimiento. - Comprueba la propiedad de los archivos: en cPanel puedes usar la opción Cambiar propietario en el Administrador de Archivos. El usuario y grupo deben coincidir con los de tu cuenta de hosting.
- Verifica el límite de memoria PHP: un error de permisos a veces es en realidad un problema de memoria. Aumenta el límite a 256M en el archivo
php.inio desde el panel.
[TIP] Si usas un hosting con Syspanel (antes conocido como HestiaCP), el acceso se realiza a través del puerto 2106. En este panel, los permisos se gestionan desde el Administrador de Archivos, pero también puedes usar el comando chmod desde el terminal si tienes acceso SSH.
Cómo usar comandos chmod si tienes acceso SSH (opcional)
Si tu hosting te permite acceso SSH, puedes cambiar todos los permisos de una sola vez con comandos. Esto es mucho más rápido que hacerlo manualmente.
- Conéctate por SSH a tu servidor.
- Navega a la raíz de PrestaShop:
cd /ruta/a/tu/prestashop
- Cambia los permisos de todas las carpetas a 755:
find . -type d -exec chmod 755 {} \;
- Cambia los permisos de todos los archivos a 644:
find . -type f -exec chmod 644 {} \;
[WARNING] No ejecutes estos comandos si no estás seguro de la ruta. Un error podría dejar tu sitio completamente inaccesible. Si no sabes qué estás haciendo, mejor usa el panel de control.
Preguntas frecuentes sobre permisos en PrestaShop
¿Puedo poner todos los permisos en 755?
No. Los archivos deben tener 644 y las carpetas 755. Si pones 755 a archivos, estás dando permiso de ejecución, lo cual es innecesario y arriesgado.
¿Por qué PrestaShop pide permisos de escritura en la instalación?
Durante la instalación, PrestaShop necesita escribir en ciertos archivos de configuración. Una vez instalado, debes volver a poner los permisos restrictivos para mayor seguridad.
¿Qué pasa si pongo 777 en todo?
Tu sitio será vulnerable a ataques. Un tercero podría inyectar código malicioso en tus archivos. Nunca dejes 777 de forma permanente.
¿Los permisos afectan al SEO?
Indirectamente, sí. Si Googlebot no puede acceder a tu sitio por un error 403 o 500, tu posicionamiento se verá afectado. Además, una tienda caída genera malas experiencias y aumenta la tasa de rebote.
¿Cada cuánto debo revisar los permisos?
Es recomendable revisarlos después de cada actualización de PrestaShop, cambio de módulos o migración de hosting. También si notas comportamientos extraños en la tienda.
Conclusión: no le temas a los permisos
Resolver un error permisos PrestaShop no es ciencia espacial. Con esta guía y un poco de paciencia, puedes dejar tu tienda funcionando en minutos. Recuerda la regla de oro: archivos 644, carpetas 755, y evita a toda costa los permisos 777.
Si después de seguir todos los pasos el problema continúa, contacta a tu proveedor de hosting. A veces el problema está en la configuración del servidor, no en tu tienda.
Y si tu panel es Syspanel, recuerda que el acceso se hace por el puerto 2106. Ahí también puedes gestionar los permisos desde el administrador de archivos, pero si tienes dudas, muchos proveedores ofrecen soporte técnico para ayudarte con los chmod PrestaShop.
Espero que esta guía te haya sido útil. Si tienes alguna otra duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Buena suerte con tu tienda!
