Solución a problemas de permisos en PrestaShop (DirectAdmin)
¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, probablemente tu tienda PrestaShop esté mostrando errores extraños, como que no se puedan subir imágenes, que el catálogo no se vea o que recibas un mensaje de error permisos PrestaShop. No te preocupes, esto es más común de lo que parece y, por suerte, tiene solución.
En esta guía completa, te explicaré paso a paso cómo solucionar los permisos PrestaShop DirectAdmin de forma segura y efectiva. Trabajaremos con chmod PrestaShop desde el panel de control DirectAdmin. Vamos a ello.
¿Por qué aparecen estos errores de permisos?
PrestaShop es un software que necesita leer, escribir y ejecutar ciertos archivos y carpetas para funcionar. Cuando los permisos no son los correctos, la tienda se bloquea. Los síntomas más habituales son:
- No se pueden subir imágenes de productos.
- Error al generar el archivo .htaccess.
- El catálogo de productos no se muestra.
- Error 500 o pantalla en blanco.
- No se pueden instalar módulos o temas.
- La caché no se regenera.
Esto suele ocurrir después de una migración, una copia de seguridad mal restaurada o al cambiar de servidor. La solución es ajustar los permisos a los valores que PrestaShop necesita.
Requisitos antes de empezar
Antes de tocar nada, asegúrate de tener a mano:
- Acceso a DirectAdmin: Necesitas tu usuario y contraseña de hosting.
- Acceso FTP o al Administrador de Archivos: Usaremos el que viene integrado en DirectAdmin.
- Paciencia: No es complicado, pero hay que seguir los pasos con cuidado.
[WARNING] No modifiques permisos de archivos que no sean de PrestaShop (como archivos de sistema o de otros dominios). Trabaja solo dentro de la carpeta de tu tienda.
Paso 1: Acceder al Administrador de Archivos de DirectAdmin
DirectAdmin facilita mucho esta tarea. Sigue estos pasos:
- Inicia sesión en tu panel de DirectAdmin (normalmente en
tudominio.com:2222). - Busca y haz clic en el icono de Administrador de Archivos (File Manager).
- Se abrirá una ventana con la estructura de carpetas de tu cuenta de hosting.
- Navega hasta la carpeta donde está instalado PrestaShop. Generalmente es
public_htmlopublic_html/tienda. Asegúrate de estar en la carpeta raíz de PrestaShop, donde están las carpetasadmin,img,modules,config, etc.
[TIP] Si no ves la carpeta
public_html, puede que tu PrestaShop esté en una subcarpeta. Busca la que contenga los archivos de PrestaShop (index.php, config/, etc.).
Paso 2: Configurar los permisos correctos (chmod PrestaShop)
PrestaShop necesita permisos específicos para cada tipo de archivo y carpeta. Vamos a hacerlo de forma manual y segura.
¿Qué permisos necesita PrestaShop?
- Carpetas (directorios): 755 (rwxr-xr-x)
- Archivos (PHP, JS, CSS, etc.): 644 (rw-r--r--)
- Archivos especiales (config/settings.inc.php): 644 o 444 (solo lectura)
- Carpetas de escritura (cache, log, img, etc.): 755 (a veces 777 temporalmente)
Método A: Cambiar permisos de todas las carpetas (recomendado)
- En el Administrador de Archivos, selecciona TODAS las carpetas de la raíz de PrestaShop. Para seleccionar varias, mantén presionada la tecla Ctrl (en Windows) o Cmd (en Mac) y haz clic en cada carpeta.
- Una vez seleccionadas, busca el botón Permisos (o Change Permissions) en la barra de herramientas superior.
- Se abrirá una ventana. Marca las siguientes casillas:
- Propietario: Lectura, Escritura y Ejecución.
- Grupo: Lectura y Ejecución.
- Público: Lectura y Ejecución.
- O directamente escribe el número 755 en el campo numérico.
- IMPORTANTE: Marca la opción "Recursivo" o "Aplicar a subdirectorios". Esto aplicará el cambio a todas las subcarpetas dentro de cada carpeta.
- Haz clic en Aceptar. DirectAdmin empezará a cambiar los permisos.
Método B: Cambiar permisos de todos los archivos
- Ahora, vuelve a la raíz de PrestaShop y selecciona TODOS los archivos (no las carpetas). Puedes usar el atajo Ctrl+A (o Cmd+A) para seleccionar todo, pero luego desmarca las carpetas si las hay.
- Haz clic en Permisos.
- En la ventana, marca:
- Propietario: Lectura y Escritura.
- Grupo: Solo Lectura.
- Público: Solo Lectura.
- O escribe el número 644.
- Marca "Recursivo" para que afecte a archivos dentro de subcarpetas.
- Haz clic en Aceptar.
[INFO] Puede que el proceso tarde unos segundos si tienes muchos archivos. No cierres la ventana hasta que termine.
Paso 3: Ajustar permisos especiales (archivos sensibles)
Algunos archivos necesitan permisos diferentes para que PrestaShop funcione correctamente.
Archivo config/settings.inc.php
Este archivo contiene la configuración de la base de datos. Debe tener permisos 644 o incluso 444 (solo lectura) después de la instalación.
- Navega hasta la carpeta
config. - Busca el archivo
settings.inc.php. - Selecciónalo y haz clic en Permisos.
- Ajusta a 644 (o 444 si quieres máxima seguridad). No le pongas 777.
Archivos .htaccess
PrestaShop genera automáticamente el archivo .htaccess. Si no existe o está dañado, puedes regenerarlo desde el back office (Parámetros de la tienda > Tráfico y SEO > SEO y URLs > Guardar). Pero primero, asegúrate de que la carpeta raíz tenga permisos 755 para que PrestaShop pueda escribir.
Paso 4: Dar permisos de escritura a carpetas temporales (si es necesario)
A veces, PrestaShop necesita poder escribir en ciertas carpetas para generar caché, logs o subir imágenes. Si después de los pasos anteriores sigues teniendo errores, prueba con estas carpetas:
/cache/log/img/upload/download/translations/themes/cache(si existe)
Cambiar permisos a 755 (o 777 temporalmente)
- Selecciona la carpeta (por ejemplo,
cache). - Haz clic en Permisos.
- Cambia a 755 o, si el error persiste, a 777. Ojo: 777 es inseguro, úsalo solo para pruebas y luego vuelve a 755.
- Marca Recursivo.
- Repite con cada carpeta problemática.
[WARNING] No dejes carpetas con permisos 777 para siempre. Es un agujero de seguridad. Una vez que la tienda funcione, revierte a 755.
Paso 5: Probar la tienda y limpiar caché
Una vez que hayas ajustado todos los permisos, es hora de probar.
- Abre tu tienda en el navegador y recarga la página (Ctrl+F5 o Cmd+Shift+R para forzar la recarga).
- Accede al back office (tuadmin/).
- Ve a Parámetros de la tienda > Rendimiento y haz clic en "Limpiar caché" (tanto la de Smarty como la de Symfony).
- Sube una imagen de prueba a un producto o modifica un módulo.
- Si todo funciona, ¡enhorabuena! El problema de error permisos PrestaShop está resuelto.
¿Qué hacer si sigo teniendo errores?
A veces el problema no son solo los permisos de archivos, sino también del servidor. Aquí tienes algunas comprobaciones adicionales:
1. Propietario de los archivos
El usuario de FTP (tu cuenta de hosting) debe ser el propietario de todos los archivos. En DirectAdmin, esto suele ser automático, pero si has usado otro método (como SSH), puede que los archivos pertenezcan a otro usuario.
- En el Administrador de Archivos, haz clic derecho sobre la carpeta raíz y selecciona Propiedades.
- Verifica que el Propietario y Grupo sean los mismos que tu usuario de DirectAdmin.
2. PHP-FPM y permisos de grupo
Si usas PHP-FPM (lo más común hoy en día), el proceso de PHP se ejecuta como un usuario diferente (ej: nobody). En ese caso, los archivos deben tener permisos de grupo (655 o 644) para que PHP pueda leerlos.
- Si no estás seguro, pide a tu proveedor de hosting que verifique la configuración de PHP-FPM.
3. Syspanel (HestiaCP)
Si tu hosting usa Syspanel (anteriormente conocido como HestiaCP), el proceso es muy similar, pero el acceso al panel es a través del puerto 2106 (ej: tudominio.com:2106). Dentro de Syspanel, busca Administrador de Archivos y sigue los mismos pasos que en DirectAdmin.
[TIP] En Syspanel, los permisos se gestionan igual que en DirectAdmin. La diferencia principal es la URL de acceso y la interfaz gráfica.
Preguntas frecuentes (FAQ)
¿Por qué no puedo cambiar los permisos de un archivo?
Puede que el archivo esté bloqueado por el sistema o que no tengas permisos de propietario. Intenta desde el Administrador de Archivos de DirectAdmin, no desde FTP. Si falla, contacta a tu soporte de hosting.
¿Es seguro usar permisos 777?
No, nunca es seguro dejar archivos o carpetas con permisos 777 (lectura, escritura y ejecución para todos). Es una puerta abierta para ataques. Úsalo solo temporalmente y revierte a 755 o 644.
¿Cada cuánto debo revisar los permisos?
Solo cuando tengas problemas. Después de una actualización de PrestaShop, de instalar un módulo o de mover la tienda, es buena idea verificarlos.
¿Puedo automatizar esta tarea?
Sí, puedes crear un script PHP o un comando SSH, pero no lo recomiendo si no tienes experiencia. Es mejor hacerlo manualmente desde DirectAdmin.
Mi tienda sigue dando error 500 después de cambiar permisos
El error 500 puede deberse a otras causas: un módulo incompatible, un error en .htaccess o problemas de memoria PHP. Primero, activa el modo debug de PrestaShop (editando config/defines.inc.php y cambiando _PS_MODE_DEV_ a true). Esto te mostrará el error real.
Resumen final
Solucionar los permisos PrestaShop DirectAdmin es un proceso sencillo si sigues estos pasos:
- Accede al Administrador de Archivos de DirectAdmin.
- Cambia permisos de carpetas a 755 (recursivo).
- Cambia permisos de archivos a 644 (recursivo).
- Ajusta archivos especiales como
settings.inc.php. - Da permisos de escritura a carpetas temporales si es necesario.
- Limpia la caché de PrestaShop.
- Prueba la tienda.
Si tu hosting usa Syspanel, recuerda que el puerto es el 2106 y el proceso es idéntico.
Espero que esta guía te haya sido de ayuda. Si tienes más dudas, no dudes en contactar con tu proveedor de hosting o dejar un comentario. ¡Tu tienda volverá a funcionar en unos minutos!
[TIP] Guarda esta guía como referencia. Te será útil cada vez que hagas cambios importantes en tu PrestaShop.
