Cómo solucionar el problema de permisos en PrestaShop con DirectAdmin
¿Por qué aparecen errores de permisos en PrestaShop con DirectAdmin?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de error como "No se puede escribir en el archivo de configuración", "Error 403 Forbidden" o una pantalla en blanco al intentar acceder a tu tienda. No te preocupes, es uno de los problemas más comunes al gestionar PrestaShop con DirectAdmin, y lo bueno es que tiene solución.
Los errores permisos PrestaShop suelen aparecer después de migrar el sitio, al instalar un módulo, al subir archivos por FTP o al cambiar de servidor. Básicamente, el sistema operativo Linux controla quién puede leer, escribir o ejecutar cada archivo y carpeta. Si esos permisos no son los correctos, PrestaShop no puede funcionar con normalidad.
En este artículo, te explico paso a paso cómo arreglar permisos en tu servidor usando DirectAdmin, con un lenguaje claro y sin tecnicismos innecesarios. Vamos a ello.
Entendiendo los permisos en Linux (sin volverte loco)
Antes de lanzarnos a ejecutar comandos, es importante que entiendas la base. En Linux, cada archivo y carpeta tiene un "dueño" y un "grupo". Además, tiene tres tipos de permisos:
- Lectura (r): poder ver el contenido.
- Escritura (w): poder modificar o crear archivos.
- Ejecución (x): poder ejecutar archivos (como scripts).
Estos permisos se asignan a tres niveles:
- Usuario (u): el dueño del archivo.
- Grupo (g): el grupo al que pertenece el dueño.
- Otros (o): el resto de usuarios del sistema.
Cuando hablamos de permisos PrestaShop DirectAdmin, normalmente buscamos que el usuario de FTP (dueño) tenga control total, y que el servidor web (Apache o Litespeed) pueda leer y ejecutar sin problemas.
Para ver los permisos actuales desde DirectAdmin, puedes usar el Administrador de Archivos que incluye el panel. Es una herramienta visual que te permite cambiar permisos sin necesidad de usar comandos, pero para soluciones más profundas, te recomiendo usar la terminal SSH.
Primer paso: Haz una copia de seguridad antes de tocar nada
Este consejo es oro puro. Antes de cambiar nada, asegúrate de tener una copia de seguridad reciente de tu tienda. Puedes hacerla desde el propio DirectAdmin en la sección Backup/Transfer o descargando los archivos por FTP y exportando la base de datos desde phpMyAdmin.
[WARNING]: Cambiar permisos incorrectamente puede dejar tu tienda inaccesible temporalmente. Con una copia de seguridad, siempre puedes volver atrás.
Segundo paso: Conecta por SSH a tu servidor
Aunque DirectAdmin tiene un Administrador de Archivos, la forma más rápida y fiable de arreglar permisos es usando SSH. Para ello, necesitas:
- Un cliente SSH (como PuTTY en Windows o la terminal en Mac/Linux).
- Tus datos de acceso SSH (usuario, contraseña y puerto, normalmente el 22).
Una vez conectado, navega hasta la carpeta raíz de tu PrestaShop. Normalmente está en algo como:
cd /home/tu_usuario/domains/tudominio.com/public_html
Si no estás seguro, usa el comando pwd para ver dónde estás y ls para listar los archivos.
Tercer paso: Los permisos correctos para PrestaShop
PrestaShop necesita una configuración específica para funcionar sin errores. Aquí tienes la tabla básica que debes aplicar:
- Carpetas (directorios): permisos
755. Esto significa lectura y ejecución para todos, y escritura solo para el dueño. - Archivos: permisos
644. Lectura para todos, escritura solo para el dueño. - Carpetas especiales (como
config,cache,log,img,mails,modules,themes,translations,upload,download): permisos755. - Archivos especiales como
.htaccessysettings.inc.php: permisos644.
[INFO]: En algunos servidores, especialmente con PHP-FPM, puede ser necesario usar 775 para las carpetas y 664 para los archivos. Esto depende de la configuración del servidor. Si después de aplicar los permisos estándar sigues teniendo problemas, prueba con esta variante.
Cuarto paso: Aplicar permisos con comandos desde SSH
Este es el momento clave. Vamos a usar comandos para cambiar los permisos de forma masiva. Te recomiendo ejecutarlos uno a uno y en orden.
4.1. Cambiar permisos de todas las carpetas
find . -type d -exec chmod 755 {} \;
Este comando busca todas las carpetas (directorios) dentro de tu PrestaShop y les asigna el permiso 755.
4.2. Cambiar permisos de todos los archivos
find . -type f -exec chmod 644 {} \;
Este comando hace lo mismo pero con los archivos, asignándoles 644.
4.3. Permisos especiales para carpetas con escritura necesaria
PrestaShop necesita escribir en ciertas carpetas para generar cachés, subir imágenes o instalar módulos. Ejecuta esto:
chmod -R 755 config cache log img mails modules themes translations upload download
[TIP]: Si usas la variante 775, sustituye 755 por 775 en los comandos anteriores. La R significa "recursivo", es decir, aplica el cambio a todas las subcarpetas.
4.4. Permisos para archivos de configuración
Asegúrate de que estos archivos sean legibles y escribibles por el sistema:
chmod 644 config/settings.inc.php
chmod 644 .htaccess
Quinto paso: Arreglar la propiedad de los archivos (dueño y grupo)
A veces el problema no son los permisos en sí, sino que los archivos pertenecen a otro usuario. Esto pasa mucho al migrar de hosting. Para arreglarlo, necesitas saber tu usuario y grupo en el servidor. Normalmente, en DirectAdmin, el usuario es el mismo que usas para entrar al panel y el grupo suele ser el mismo nombre.
Ejecuta este comando (sustituye tu_usuario por el tuyo):
chown -R tu_usuario:tu_usuario .
Este comando cambia el dueño y el grupo de todos los archivos y carpetas de tu PrestaShop al usuario correcto.
[WARNING]: Ten mucho cuidado con este comando. Ejecútalo solo dentro de la carpeta public_html o la carpeta raíz de tu tienda. Si lo ejecutas en una carpeta superior, podrías romper otros sitios web o servicios.
Sexto paso: Comprobar que los errores han desaparecido
Después de aplicar los cambios, vuelve a cargar tu tienda en el navegador. Si todo ha ido bien, los errores de permisos deberían haber desaparecido.
Si sigues viendo problemas, te recomiendo:
- Vaciar la caché de PrestaShop: entra a tu panel de administración y ve a Parámetros avanzados > Rendimiento. Pulsa el botón "Vaciar la caché".
- Regenerar el .htaccess: en el panel de administración, ve a Parámetros avanzados > URL y guarda la configuración sin cambiar nada. Esto regenera el archivo.
- Desactivar el modo mantenimiento si estaba activado.
Séptimo paso: Solución de problemas comunes
Si aparece "Error 500 Internal Server Error"
Esto suele deberse a un .htaccess corrupto o a permisos demasiado restrictivos. Prueba a renombrar el archivo .htaccess a .htaccess.bak y recarga la tienda. Si funciona, el problema era ese archivo. Luego puedes regenerarlo desde el panel.
Si no puedes subir archivos por FTP
El problema es que la carpeta de destino no tiene permisos de escritura para tu usuario FTP. Asegúrate de que la carpeta raíz tenga permisos 755 y que el dueño sea tu usuario.
Si los módulos no se instalan
Algunos módulos necesitan permisos de escritura en modules y config. Vuelve a aplicar los permisos especiales del paso 4.3.
Preguntas frecuentes sobre permisos en PrestaShop con DirectAdmin
¿Cada cuánto tiempo debo revisar los permisos?
No hay una regla fija. Lo normal es revisarlos después de cada actualización de PrestaShop, al instalar módulos o si notas comportamientos extraños.
¿Puedo usar el Administrador de Archivos de DirectAdmin en lugar de SSH?
Sí, pero es mucho más lento si tienes muchos archivos. El Administrador de Archivos te permite cambiar permisos de forma individual o en lotes seleccionados. Para usuarios sin experiencia, puede ser más seguro, pero para una solución completa, SSH es lo mejor.
¿Qué pasa si tengo Syspanel en lugar de DirectAdmin?
Si tu hosting usa Syspanel (anteriormente conocido como HestiaCP), el proceso es muy similar. Accede por el puerto 2106 para entrar al panel y utiliza el Administrador de Archivos o la terminal SSH. Los comandos de permisos son exactamente los mismos, ya que ambos paneles gestionan el mismo sistema Linux subyacente.
[INFO]: Recuerda que en Syspanel el puerto de acceso es el 2106. Es un detalle importante si estás acostumbrado a DirectAdmin.
Consejos finales para mantener tu PrestaShop sano
- Actualiza PrestaShop y los módulos con regularidad. Las versiones nuevas suelen corregir problemas de permisos y seguridad.
- No des permisos 777 (lectura, escritura y ejecución para todos) a ninguna carpeta. Es un riesgo de seguridad enorme. Si algo necesita escritura, usa
755o775como mucho. - Haz copias de seguridad semanales de los archivos y la base de datos. Nunca sabes cuándo las necesitarás.
- Revisa los logs de error de tu servidor en DirectAdmin (sección Logs). Te darán pistas exactas sobre qué archivo o carpeta está causando el problema.
Resumen rápido: lista de verificación
- Haz una copia de seguridad.
- Conecta por SSH.
- Navega a tu carpeta
public_html. - Aplica
find . -type d -exec chmod 755 {} \;. - Aplica
find . -type f -exec chmod 644 {} \;. - Aplica permisos especiales a las carpetas de escritura.
- Cambia el dueño con
chown -R tu_usuario:tu_usuario .. - Vacía la caché y regenera el
.htaccess. - Comprueba tu tienda.
Con estos pasos, los errores permisos PrestaShop serán cosa del pasado. No olvides que la paciencia es clave. Si algo falla, repasa los pasos y asegúrate de haber escrito bien los comandos.
[TIP]: Guarda estos comandos en un archivo de texto en tu ordenador. Te servirán para futuras ocasiones. Siempre es bueno tener una chuleta a mano.
Espero que esta guía te haya sido de gran ayuda. Si tienes alguna duda, deja un comentario y estaré encantado de ayudarte a resolverla. ¡Buena suerte con tu tienda!
