Cómo solucionar el error de permisos en PrestaShop (DirectAdmin)
¿Por qué aparece el error de permisos en PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de error como "No se puede escribir en el archivo", "No tienes permisos para subir este archivo" o una pantalla blanca en tu tienda. No te preocupes, es uno de los problemas más comunes al gestionar una tienda online con PrestaShop en un servidor con panel DirectAdmin.
El error permisos PrestaShop suele ocurrir cuando los archivos y carpetas de tu instalación no tienen los permisos correctos asignados. Piensa en los permisos como una especie de "llave" que permite al servidor leer, escribir o ejecutar los archivos. Si la llave no es la correcta, el servidor se bloquea y tu tienda no funciona como debería.
En este artículo te voy a explicar, paso a paso y sin tecnicismos complicados, cómo solucionar este problema usando DirectAdmin. Vamos a ello.
¿Qué son los permisos de archivos y por qué importan?
Antes de entrar en materia, es importante que entiendas qué son los permisos. En un sistema Linux (que es el que usa la mayoría de los servidores de hosting), cada archivo y carpeta tiene tres tipos de permisos:
- Lectura (r): Permite ver el contenido del archivo.
- Escritura (w): Permite modificar o eliminar el archivo.
- Ejecución (x): Permite ejecutar el archivo (como si fuera un programa).
Estos permisos se asignan a tres tipos de usuarios:
- Propietario (u): El usuario dueño del archivo.
- Grupo (g): El grupo al que pertenece el archivo.
- Otros (o): El resto de usuarios del sistema.
En PrestaShop, los permisos más comunes son 644 para archivos y 755 para carpetas. Pero a veces, dependiendo del servidor, puede que necesites usar 775 o incluso 777 temporalmente.
Paso 1: Identifica el alcance del problema
Primero, necesitas saber si el error es general (toda la tienda da error) o si solo afecta a ciertas partes, como la subida de imágenes, el caché o los módulos.
- Si toda la tienda da error: Es probable que los permisos de las carpetas principales estén mal configurados.
- Si solo falla al subir imágenes o al instalar módulos: El problema suele estar en las carpetas
img,modulesovar/cache.
Te recomiendo que hagas una copia de seguridad completa de tu tienda antes de tocar nada. Puedes hacerlo desde el panel de administración de PrestaShop o directamente desde DirectAdmin.
Paso 2: Accede al administrador de archivos de DirectAdmin
Para empezar, entra en tu panel de DirectAdmin. Normalmente se accede a través de una URL como https://tu-dominio.com:2222. Una vez dentro, busca la opción "Administrador de archivos" o "File Manager".
En el administrador de archivos, navega hasta la carpeta donde está instalada tu tienda PrestaShop. Normalmente, esta carpeta se llama public_html o domains/tudominio.com/public_html.
Paso 3: Corrige los permisos de las carpetas principales
Ahora viene la parte importante. Vamos a corregir los permisos archivos PrestaShop de forma ordenada.
Cambia los permisos de las carpetas a 755
Selecciona todas las carpetas principales de tu instalación de PrestaShop. Hablamos de carpetas como:
admin(o el nombre que le hayas puesto a tu panel de administración)cacheclassesconfigcontrollersdownloadimgjsmailsmodulesoverridethemestoolstranslationsvarwebservice
Para cambiar los permisos:
- Selecciona todas las carpetas (puedes usar Ctrl+clic para seleccionar varias).
- Haz clic derecho y elige "Cambiar permisos" o "Permissions".
- En el campo numérico, escribe
755. - Asegúrate de marcar la opción "Aplicar a subcarpetas" o "Recursivo".
- Haz clic en "Guardar" o "Aceptar".
Cambia los permisos de los archivos a 644
Ahora repite el proceso, pero esta vez selecciona solo los archivos (no carpetas). Puedes hacerlo usando el filtro o seleccionando todos y luego desmarcando las carpetas.
- Selecciona todos los archivos de la raíz de PrestaShop.
- Cambia los permisos a
644. - Aplica los cambios.
[TIP]: Si tu servidor tiene problemas con los permisos 644, prueba con 664. A veces el grupo necesita permiso de escritura.
Paso 4: Presta especial atención a las carpetas de escritura
PrestaShop necesita que algunas carpetas sean escribibles para funcionar correctamente. Estas son las carpetas que debes configurar con permisos 755 o incluso 775:
cachelogimg/tmpthemes/tu-tema/cachethemes/tu-tema/imgthemes/tu-tema/mailsthemes/tu-tema/modulesvar/cachevar/logsconfig/xmldownload
Para estas carpetas, te recomiendo usar 755 primero. Si el error persiste, prueba con 775.
[WARNING]: Evita usar permisos
777de forma permanente. Aunque solucionan el problema al instante, son un grave riesgo de seguridad. Un atacante podría escribir código malicioso en tu servidor.
Paso 5: Activa el modo de mantenimiento temporalmente
Mientras haces estos cambios, es buena idea poner tu tienda en modo mantenimiento. Así evitas que los clientes vean errores o que alguien intente comprar mientras estás trabajando.
Para activar el modo mantenimiento:
- Ve a tu panel de administración de PrestaShop.
- Navega a "Parámetros avanzados" → "Mantenimiento".
- Activa la opción "Activar el modo de mantenimiento".
- Guarda los cambios.
Si no puedes acceder al panel de administración, puedes activar el modo mantenimiento editando el archivo config/defines.inc.php y cambiando _PS_MODE_DEV_ a true temporalmente, pero esto es más avanzado.
Paso 6: Limpia la caché de PrestaShop
Después de cambiar los permisos, es probable que la caché siga dando problemas. Limpiarla es muy sencillo:
- Ve a "Parámetros avanzados" → "Rendimiento".
- Haz clic en "Vaciar la caché" (el botón que parece una escoba).
- También puedes borrar manualmente el contenido de la carpeta
var/cachedesde el administrador de archivos de DirectAdmin.
[INFO]: Si no puedes acceder al panel de administración, borra manualmente el contenido de las carpetas
var/cacheycachedesde el administrador de archivos. No borres las carpetas en sí, solo su contenido.
Paso 7: Verifica los permisos de los archivos de configuración
Hay dos archivos que suelen dar problemas si no tienen los permisos correctos:
config/settings.inc.php(en versiones antiguas de PrestaShop)app/config/parameters.php(en versiones modernas)
Estos archivos deben tener permisos 644 o 664. Si están en 444 (solo lectura), PrestaShop no podrá guardar cambios en la configuración.
Paso 8: Comprueba el propietario de los archivos
A veces el problema no son los permisos, sino el propietario de los archivos. En DirectAdmin, el usuario de FTP y el usuario del servidor suelen ser el mismo, pero no siempre.
Para comprobar el propietario:
- En el administrador de archivos de DirectAdmin, mira la columna "Propietario" o "Owner".
- Debe coincidir con tu usuario de FTP o con el usuario del dominio.
Si no coincide, puedes cambiarlo desde la configuración de DirectAdmin, pero esto es más avanzado. En la mayoría de los casos, los permisos 755/644 son suficientes.
Solución para errores específicos de módulos y temas
Si el error de permisos solo ocurre con un módulo o tema en particular, el problema puede ser más específico. Sigue estos pasos:
- Ve a la carpeta
modules/nombre-del-modulo. - Cambia los permisos de la carpeta a
755. - Cambia los permisos de los archivos dentro de la carpeta a
644. - Si el módulo necesita escribir archivos (como logs o caché), busca subcarpetas como
cache,logotmpy dales permisos775.
Lo mismo aplica para los temas en themes/nombre-del-tema.
¿Qué hago si sigo teniendo el error?
Si después de todos estos pasos el error permisos PrestaShop persiste, prueba lo siguiente:
Opción 1: Usa permisos más flexibles temporalmente
Cambia las carpetas principales a 775 y los archivos a 664. Esto suele resolver problemas en servidores con configuraciones especiales.
Opción 2: Reinstala los archivos de PrestaShop
A veces los archivos están corruptos. Descarga una copia limpia de PrestaShop de la versión que tienes instalada, descomprime los archivos en tu ordenador y súbelos por FTP (reemplazando los existentes). Esto no afecta a tu base de datos.
Opción 3: Contacta con tu proveedor de hosting
Si nada funciona, es posible que tu servidor tenga una configuración especial que requiera permisos diferentes. Contacta con el soporte de tu hosting y diles que necesitas que te indiquen los permisos correctos para PrestaShop en DirectAdmin.
Preguntas frecuentes sobre permisos en PrestaShop
¿Qué permisos debe tener la carpeta var/cache en PrestaShop?
La carpeta var/cache debe tener permisos 755 como mínimo. Si tienes problemas, prueba con 775.
¿Es seguro usar permisos 777?
No. Los permisos 777 permiten que cualquier usuario del sistema pueda escribir en esos archivos. Es un riesgo de seguridad grave. Úsalos solo de forma temporal y siempre vuelve a 755 o 775 después.
¿Cómo sé si mi servidor usa PHP como módulo de Apache o como CGI?
Si usas PHP como módulo de Apache, los permisos suelen ser 644 para archivos y 755 para carpetas. Si usas PHP como CGI o suEXEC, puede que necesites 664 y 775. Puedes verlo en DirectAdmin en la sección de configuración de PHP.
¿Los permisos afectan al rendimiento de mi tienda?
No directamente. Los permisos solo controlan quién puede leer, escribir o ejecutar archivos. No afectan a la velocidad de carga.
¿Puedo cambiar los permisos desde FTP?
Sí, puedes usar cualquier cliente FTP como FileZilla. Simplemente haz clic derecho en el archivo o carpeta, selecciona "Permisos de archivo" y escribe el valor numérico.
Consejos finales para evitar futuros problemas
Para que no vuelvas a tener problemas con los permisos archivos PrestaShop, te recomiendo:
- Mantén PrestaShop actualizado: Las versiones nuevas suelen corregir problemas de permisos.
- Haz copias de seguridad periódicas: Así puedes restaurar tu tienda si algo sale mal.
- No instales módulos de fuentes dudosas: Algunos módulos mal programados cambian los permisos de tu servidor.
- Revisa los permisos después de cada actualización: Las actualizaciones a veces restablecen los permisos.
Recuerda que siempre puedes contar con el soporte técnico de tu hosting. En muchos casos, ellos pueden hacer estos cambios por ti si no te sientes cómodo haciéndolo tú mismo.
Espero que esta guía te haya sido útil y que tu tienda vuelva a funcionar correctamente. Si has llegado hasta aquí siguiendo los pasos, lo más probable es que el problema esté solucionado. Si no, revisa cada paso de nuevo y asegúrate de no haberte saltado ninguno. ¡Mucha suerte con tu tienda online!
