Cómo solucionar problemas de permisos en PrestaShop (cPanel, Plesk, DirectAdmin)
¿Por qué aparecen errores de permisos en PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con mensajes como "No se puede escribir en el archivo", "Error 403 Forbidden", o una tienda que muestra un error blanco sin explicación. No te preocupes, es uno de los problemas más comunes en PrestaShop y, afortunadamente, tiene solución.
Los errores permisos PrestaShop ocurren cuando los archivos y carpetas de tu tienda no tienen los niveles de acceso correctos. Piensa en los permisos como una cerradura: si la llave no encaja, el servidor no puede leer, escribir o ejecutar los archivos necesarios para que tu tienda funcione.
Imagina que PrestaShop necesita "escribir" en ciertas carpetas para guardar imágenes de productos, generar caché o crear archivos de log. Si el permiso es demasiado restrictivo, el sistema falla. Si es demasiado abierto, te expones a riesgos de seguridad. Por eso es clave encontrar el equilibrio perfecto.
En esta guía te explicaré paso a paso cómo solucionar estos problemas en los tres paneles de control más usados: cPanel, Plesk y DirectAdmin. También veremos qué permisos son los correctos y cómo aplicarlos sin romper nada más.
¿Qué permisos necesita PrestaShop para funcionar bien?
Antes de tocar nada, es importante que sepas cuál es el "estado ideal" de los permisos en PrestaShop. La configuración recomendada por el equipo oficial es la siguiente:
- Carpetas (directorios): permiso 755 (rwxr-xr-x)
- Archivos: permiso 644 (rw-r--r--)
- Carpeta
config/: en algunos casos puede necesitar 755 - Carpeta
cache/: debe ser escribible, normalmente 755 - Carpeta
log/: escribible, normalmente 755 - Carpeta
img/: escribible, normalmente 755 - Carpeta
mails/: escribible, normalmente 755 - Carpeta
modules/: escribible, normalmente 755 - Carpeta
themes/: escribible, normalmente 755 - Carpeta
var/(PrestaShop 1.7+): escribible, normalmente 755 - Archivo
settings.inc.php(enconfig/): en PrestaShop 1.6 o inferior, debe ser escribible durante la instalación y luego cambiar a 444 o 644
[!TIP]
TIP: Si tienes PrestaShop 1.7 o superior, la carpetavar/es crítica. Contiene caché, sesiones y logs. Si no es escribible, tu tienda dará error 500 o pantalla blanca.
Cómo cambiar permisos en cPanel
cPanel es el panel más popular en el hosting compartido. El proceso es bastante sencillo, pero hay que hacerlo con cuidado.
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 sitio (normalmente
public_htmlowww). - Marca la casilla "Mostrar archivos ocultos" si no ves las carpetas de PrestaShop.
Paso 2: Selecciona todos los archivos y carpetas
- Dentro de la carpeta donde está instalado PrestaShop, haz clic en Seleccionar todo (o usa Ctrl+A).
- Con todos los elementos seleccionados, haz clic en el botón Permisos (arriba a la derecha).
- Se abrirá un cuadro con casillas. Marca las opciones para que queden así:
- Propietario: Lectura, Escritura y Ejecución (todo marcado)
- Grupo: Lectura y Ejecución (sin escritura)
- Público: Lectura y Ejecución (sin escritura)
- Esto equivale a 755 para carpetas y 644 para archivos. Pero cPanel aplica la misma configuración a todo, lo cual no es ideal.
[!WARNING]
WARNING: No apliques 755 a todos los archivos. Los archivos deben tener 644. Aplicar 755 a archivos puede suponer un riesgo de seguridad. Es mejor hacerlo por separado.
Paso 3: Corrige por separado carpetas y archivos
- Dentro del Administrador de Archivos, haz clic en la columna Tipo para ordenar: primero verás las carpetas y luego los archivos.
- Selecciona solo las carpetas y cambia sus permisos a 755.
- Selecciona solo los archivos y cambia sus permisos a 644.
Paso 4: Casos especiales
config/settings.inc.php(solo PrestaShop 1.6): durante la instalación debe ser 777 o 755. Después de instalar, cámbialo a 444 (solo lectura) para mayor seguridad. Si necesitas hacer cambios, vuelve a ponerlo en 755 temporalmente.- Carpeta
cache/ylog/: si tu tienda sigue dando problemas, prueba con 757 o 777 temporalmente para ver si se soluciona. Luego vuelve a 755.
Cómo cambiar permisos en Plesk
Plesk tiene una interfaz más moderna, pero el proceso es igual de accesible.
Paso 1: Accede al Administrador de Archivos
- Entra a Plesk con tu usuario y contraseña.
- En el menú lateral, busca Sitios web y dominios.
- Haz clic en el dominio de tu tienda.
- Busca el botón Administrador de archivos (normalmente con un icono de carpeta).
Paso 2: Navega hasta la raíz de PrestaShop
- Dentro del administrador, entra en
httpdocs(es la carpeta equivalente apublic_html). - Si tu PrestaShop está en una subcarpeta, navega hasta ella.
Paso 3: Cambiar permisos de una carpeta o archivo
- Haz clic derecho sobre la carpeta o archivo y selecciona Cambiar permisos.
- Se abrirá una ventana con casillas para Propietario, Grupo y Público.
- Para carpetas, marca:
- Propietario: Lectura, Escritura, Ejecución
- Grupo: Lectura, Ejecución
- Público: Lectura, Ejecución
- Para archivos (en general):
- Propietario: Lectura, Escritura
- Grupo: Lectura
- Público: Lectura
Paso 4: Aplica cambios recursivos
Plesk no tiene un botón directo para "aplicar a todo", pero puedes hacer lo siguiente:
- Selecciona todos los elementos dentro de
httpdocs. - Haz clic en Cambiar permisos.
- Aplica la configuración para carpetas. Plesk preguntará si quieres aplicar a subcarpetas.
- Luego repite para archivos.
[!INFO]
INFO: En Plesk, si tu servidor usa PHP-FPM, a veces los permisos deben ser más flexibles. Si ves errores de escritura, prueba a poner la carpetavar/en 775 o 777 temporalmente.
Cómo cambiar permisos en DirectAdmin
DirectAdmin es menos conocido, pero muy potente. El proceso es parecido a cPanel.
Paso 1: Entra al Administrador de Archivos
- Inicia sesión en DirectAdmin.
- Busca el icono Administrador de Archivos en el panel principal.
- Se abrirá una vista de carpetas. Navega hasta
domains/tudominio.com/public_html(o la ruta equivalente).
Paso 2: Selecciona y cambia permisos
- Marca la casilla de la carpeta raíz de PrestaShop.
- Arriba verás un botón que dice Cambiar permisos o Chmod.
- DirectAdmin te muestra un cuadro con casillas y también un campo numérico.
- Escribe 755 y asegúrate de marcar "Aplicar a todos los archivos y subcarpetas" (o similar).
- Haz clic en Aceptar.
Paso 3: Corrige los archivos
- Ahora ve a la raíz de PrestaShop y selecciona todos los archivos (no carpetas). Puedes ordenar por tipo para facilitarlo.
- Cambia sus permisos a 644.
- Aplica los cambios.
Paso 4: Verifica carpetas especiales
/var(PrestaShop 1.7+): ponla en 755 o 757 si hay problemas./cachey/log: si la tienda falla, prueba con 777 temporalmente y luego reduce a 755.
[!TIP]
TIP: En DirectAdmin, muchos usuarios usan la opción "Cambiar propietario" si los archivos pertenecen a otro usuario. Asegúrate de que el propietario sea el mismo que ejecuta PHP (normalmente tu usuario de hosting).
Comandos SSH para cambiar permisos (método avanzado)
Si tienes acceso SSH, es mucho más rápido y preciso. Conecta por terminal y ejecuta estos comandos desde la raíz de tu PrestaShop:
# Permisos estándar para carpetas
find . -type d -exec chmod 755 {} \;
# Permisos estándar para archivos
find . -type f -exec chmod 644 {} \;
[!WARNING]
WARNING: Este comando cambia TODOS los archivos y carpetas. Si tienes algún módulo que requiera permisos especiales, puede fallar. Úsalo con precaución.
Para PrestaShop 1.7+, asegura la carpeta var:
chmod -R 755 var/
chmod -R 755 cache/
chmod -R 755 log/
Si necesitas permisos más flexibles temporalmente:
chmod -R 777 var/cache/
chmod -R 777 var/logs/
Errores comunes y sus soluciones rápidas
Error: "No se puede escribir en el archivo cache/class_index.php"
Esto indica que la carpeta cache/ no es escribible.
Solución: Cambia permisos de cache/ a 755 o 757. Si sigue fallando, prueba con 777 temporalmente y luego reduce.
Error: "Warning: mkdir(): Permission denied"
Suele aparecer al instalar módulos o temas.
Solución: Asegúrate de que modules/, themes/, img/ y var/ tengan permisos 755. Si el error persiste, sube a 775 o 777 temporalmente.
Error: "500 Internal Server Error" tras mover la tienda
Muy común al migrar de servidor.
Solución: Revisa que el archivo .htaccess tenga permisos 644 y que las carpetas tengan 755. También verifica que el propietario de los archivos sea el correcto.
Error: "No se puede conectar con la base de datos"
A veces no es un problema de permisos de archivos, sino de configuración. Pero si acabas de cambiar permisos, revisa que config/settings.inc.php (1.6) o app/config/parameters.php (1.7+) sea legible.
Preguntas frecuentes (FAQ)
¿Qué permisos debe tener la carpeta config/ en PrestaShop 1.7?
En PrestaShop 1.7, la carpeta config/ debe tener 755. El archivo parameters.php dentro de ella debe tener 644.
¿Por qué PrestaShop me pide permisos 777?
Algunos módulos mal programados piden permisos 777 para funcionar. No es recomendable dejarlos así de forma permanente. Si un módulo lo requiere, actívalo temporalmente, haz la configuración y vuelve a 755.
¿Cómo sé si mis permisos están bien?
Ve a Parámetros avanzados > Información en el backoffice de PrestaShop. Allí verás un listado de carpetas y su estado (escribible o no). Si alguna aparece en rojo, es que tiene problemas.
¿Qué hago si después de cambiar permisos mi tienda da error 500?
Revisa los logs del servidor. En cPanel, puedes verlos en "Errores" o "Registros de errores". En Plesk, en "Logs". Si no encuentras nada, prueba a restaurar los permisos originales (755 carpetas, 644 archivos) y contacta con tu proveedor de hosting.
¿Los permisos afectan al rendimiento de mi tienda?
No directamente. Pero si tienes permisos demasiado abiertos (777), un atacante podría modificar tus archivos, lo que sí degradaría el rendimiento y la seguridad.
Consejos finales para mantener tus permisos a salvo
- No uses 777 de forma permanente. Úsalo solo para pruebas y luego reduce.
- Haz copias de seguridad antes de cambiar permisos masivamente.
- Si usas Syspanel (antes conocido como HestiaCP), el proceso es similar a DirectAdmin. Accede por el puerto 2106 y busca el administrador de archivos. Los permisos se cambian igualmente con chmod.
[!INFO]
INFO: En Syspanel (acceso por puerto 2106), los permisos se gestionan desde el Administrador de Archivos o por SSH. La estructura esweb/tudominio/public_html.
-
Si tu tienda sigue fallando, puede que el problema no sean los permisos sino el propietario de los archivos. Asegúrate de que todos pertenezcan a tu usuario de hosting.
-
Documenta los cambios que hagas. Si algo falla, podrás revertir.
Resumen rápido: tabla de permisos recomendados
| Elemento | Permiso |
|---|---|
| Carpetas generales | 755 |
| Archivos generales | 644 |
config/ (1.6 y 1.7) | 755 |
cache/ | 755 (777 temporal) |
log/ | 755 (777 temporal) |
img/ | 755 |
mails/ | 755 |
modules/ | 755 |
themes/ | 755 |
var/ (1.7+) | 755 |
settings.inc.php (1.6) | 444 tras instalar |
parameters.php (1.7+) | 644 |
.htaccess | 644 |
Con esta guía, ya tienes todo lo necesario para resolver los errores permisos PrestaShop en cPanel, Plesk o DirectAdmin. Recuerda siempre empezar por los permisos estándar y solo aumentar temporalmente si es imprescindible. Tu tienda volverá a funcionar en pocos minutos.
Si después de todo sigues con problemas, revisa los logs del servidor o contacta con tu proveedor de hosting. A veces el problema no está en los permisos, sino en la configuración de PHP o en el propietario de los archivos. Pero eso ya es otra historia... y otra guía.
