🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Configurar los permisos de archivos en PrestaShop con DirectAdmin

Actualizado el 21 de noviembre de 2025

¿Por qué son tan importantes los permisos de archivos en PrestaShop?

Si alguna vez has visto un error de "permiso denegado", una imagen que no carga o una página en blanco en tu tienda, es muy probable que el problema esté relacionado con los permisos de archivos. En términos sencillos, los permisos son como las "cerraduras" que controlan quién puede leer, escribir o ejecutar cada archivo y carpeta de tu instalación de PrestaShop.

Cuando estos permisos están mal configurados, pueden pasar dos cosas: que tu tienda sea vulnerable a ataques (si son demasiado abiertos) o que deje de funcionar correctamente (si son demasiado restrictivos). Por eso, saber configurarlos desde el panel de control DirectAdmin es una habilidad esencial para cualquier administrador de una tienda online.

En esta guía completa, paso a paso, te enseñaré todo lo que necesitas saber sobre los permisos PrestaShop DirectAdmin, desde qué valores usar hasta cómo aplicarlos sin romper nada. No necesitas ser un experto en servidores, solo seguir las instrucciones con calma.


Entendiendo los permisos: la teoría básica (sin dolor)

Antes de lanzarnos a escribir comandos, vamos a entender qué significa ese número mágico que verás por todas partes: 644, 755, 777. Son los valores que se asignan a los archivos y carpetas.

Cada archivo o carpeta tiene tres grupos de permisos:

  • Propietario (User): La persona o sistema que creó el archivo (normalmente tu usuario de hosting).
  • Grupo (Group): Un conjunto de usuarios que comparten permisos (en muchos alojamientos, tu mismo usuario).
  • Otros (Others): Todos los demás usuarios del servidor, incluidos los visitantes de tu web.

A cada grupo se le asigna un número que suma permisos:

  • 4 = Lectura (r): Permite ver el contenido del archivo.
  • 2 = Escritura (w): Permite modificar el archivo.
  • 1 = Ejecución (x): Permite ejecutar el archivo (esencial para scripts y carpetas).

Entonces, cuando ves un permiso como 644, significa:

  • Propietario: 6 (4+2) → Puede leer y escribir.
  • Grupo: 4 → Solo puede leer.
  • Otros: 4 → Solo pueden leer.

Para las carpetas, el valor recomendado es 755:

  • Propietario: Puede leer, escribir y ejecutar (entrar a la carpeta).
  • Grupo: Puede leer y ejecutar.
  • Otros: Pueden leer y ejecutar (necesario para que los visitantes vean tu web).

[INFO]: Los permisos 777 (todos pueden escribir) son un peligro para la seguridad. Solo deben usarse temporalmente y en archivos o carpetas muy específicos, como la carpeta de caché o config/settings.inc.php durante una actualización.


Los permisos recomendados para PrestaShop (La Tabla Sagrada)

Esta es la tabla que necesitas guardar. Es la configuración estándar que funciona en el 99% de los casos.

ElementoTipoPermisos
config/Carpeta755
config/settings.inc.phpArchivo444 o 644
cache/Carpeta755
cache/smarty/Carpeta755
cache/smarty/compile/Carpeta755
cache/smarty/cache/Carpeta755
log/Carpeta755
img/Carpeta755
mails/Carpeta755
modules/Carpeta755
themes/Carpeta755
themes/ (todos los archivos dentro)Archivo644
upload/Carpeta755
download/Carpeta755
translations/Carpeta755
var/ (versiones modernas)Carpeta755
var/cache/Carpeta755
var/logs/Carpeta755
admin/ (tu carpeta de administración)Carpeta755
root (la carpeta principal de PrestaShop)Carpeta755
Todos los archivos .php en la raízArchivo644
Todos los archivos .tplArchivo644

[WARNING]: Nunca dejes los archivos de configuración en 777. Es la puerta de entrada favorita de los hackers. Si necesitas que el sistema escriba en ellos, hazlo temporalmente y luego vuelve a ponerlos en 444 (solo lectura).


Método 1: Configurar permisos usando el Administrador de Archivos de DirectAdmin

Esta es la forma más visual y segura para principiantes. No necesitas usar la línea de comandos.

Paso 1: Accede a tu panel de DirectAdmin

Abre tu navegador y escribe la URL de tu panel. Normalmente es algo como https://tu-dominio.com:2222. Introduce tu usuario y contraseña de hosting.

Paso 2: Abre el Administrador de Archivos

Busca el icono que dice "Administrador de Archivos" o "File Manager". Haz clic en él. Te llevará a la raíz de tu cuenta de hosting, donde verás carpetas como domains, public_html, etc.

Paso 3: Navega a tu tienda PrestaShop

Entra en la carpeta domains, luego en tu-dominio.com y finalmente en public_html. Aquí es donde está instalado tu PrestaShop. Verás todas las carpetas y archivos de tu tienda.

Paso 4: Cambia los permisos de una carpeta (Ejemplo: cache)

  1. Haz clic derecho sobre la carpeta cache y selecciona "Cambiar Permisos" o "Change Permissions".
  2. Se abrirá una ventana con casillas de verificación o un campo numérico.
  3. Si ves casillas, marca las siguientes para la carpeta cache:
    • Propietario: Lectura, Escritura y Ejecución.
    • Grupo: Lectura y Ejecución.
    • Otros: Lectura y Ejecución.
  4. En el campo numérico, debería aparecer automáticamente 755. Si no, escríbelo manualmente.
  5. Haz clic en "Cambiar" o "Aceptar".

Paso 5: Cambia los permisos de un archivo (Ejemplo: config/settings.inc.php)

  1. Navega a la carpeta config y busca el archivo settings.inc.php.
  2. Haz clic derecho sobre él y selecciona "Cambiar Permisos".
  3. Para este archivo, desmarca la casilla de Escritura para todos los grupos. Deja solo Lectura marcada para todos. El valor numérico será 444.
  4. Confirma el cambio.

Paso 6: Repite el proceso

Ahora, con paciencia, repite este proceso para cada carpeta y archivo de la tabla que te he dado. Es un poco tedioso, pero es el método más seguro.

[TIP]: Si tu versión de DirectAdmin tiene la opción "Aplicar a todos los archivos y subcarpetas" (recursivo), úsala con cuidado. Es mejor aplicarla solo cuando cambies los permisos de una carpeta grande como themes o modules.


Método 2: Configurar permisos usando el Terminal (SSH) de DirectAdmin

Este método es mucho más rápido, ya que puedes cambiar miles de permisos con un solo comando. Es ideal si tienes acceso a la terminal.

Paso 1: Abre el Terminal

En DirectAdmin, busca el icono de "Terminal" o "SSH". Si no lo ves, es posible que necesites activarlo en la configuración de tu cuenta o contactar con tu proveedor de hosting. El acceso suele ser por el puerto 22 (o el que te indique tu hosting).

Paso 2: Navega a la raíz de tu PrestaShop

Una vez dentro de la terminal, escribe el siguiente comando y presiona Enter:

cd domains/tu-dominio.com/public_html

Reemplaza tu-dominio.com con tu dominio real.

Paso 3: Cambia todos los permisos de las carpetas a 755

Este comando buscará todas las carpetas dentro de tu PrestaShop y les asignará el permiso 755:

find . -type d -exec chmod 755 {} \;

Explicación: find . busca desde la carpeta actual, -type d busca solo directorios, y -exec chmod 755 {} \; les aplica el comando chmod 755 a cada uno.

Paso 4: Cambia todos los permisos de los archivos a 644

Ahora, hacemos lo mismo pero para los archivos. Este comando les asignará el permiso 644 a todos los archivos:

find . -type f -exec chmod 644 {} \;

Paso 5: Corrige los permisos de los archivos y carpetas especiales

Después de la "limpia" general, hay que ajustar los casos especiales:

  • Para la carpeta de caché y compilación (necesita escritura para funcionar):
chmod -R 755 cache/ var/  # En versiones antiguas y nuevas
chmod -R 755 cache/smarty/compile/ cache/smarty/cache/ # Si existe
  • Para el archivo de configuración (lo ponemos en solo lectura):
chmod 444 config/settings.inc.php
  • Si tu tienda da problemas de escritura en temas o módulos (solo durante la instalación o actualización):
chmod -R 755 themes/ modules/

[WARNING]: El comando chmod -R 777 es el "todo vale" y es una pésima idea. Solo úsalo si un soporte técnico te lo pide explícitamente y durante un breve periodo de tiempo. Después, vuelve a poner los permisos seguros.


¿Qué hago si mi tienda da error después de cambiar los permisos?

Es muy común que, tras una actualización o una instalación de un módulo, los permisos se "rompan". Si ves errores, sigue estos pasos:

  1. Vuelve a aplicar los permisos estándar: Usa los comandos del Método 2 para poner todo en 755 (carpetas) y 644 (archivos).
  2. Limpia la caché de PrestaShop: Ve a tu panel de administración (tu-dominio.com/admin) → Parámetros avanzados → Rendimiento → Vaciar la caché. Si no puedes acceder, borra manualmente el contenido de var/cache/ o cache/smarty/compile/ (deja las carpetas, solo borra los archivos de dentro).
  3. Revisa los archivos de configuración: Asegúrate de que config/settings.inc.php tenga permisos 444 o 644. Si tiene 444, el sistema no puede modificarlo, lo cual es bueno para la seguridad, pero malo si intentas hacer un cambio de configuración desde el panel. En ese caso, cámbialo temporalmente a 644 y luego vuelve a ponerlo en 444.

Preguntas Frecuentes (FAQ)

¿Qué permisos debe tener la carpeta config en PrestaShop?

La carpeta config debe tener 755. El archivo crítico settings.inc.php que está dentro debe tener 444 (solo lectura). Si un módulo o actualización necesita escribirlo, se cambiará a 644 temporalmente.

¿Por qué no puedo subir imágenes o productos a mi PrestaShop?

Esto suele ser un problema de permisos de escritura en la carpeta img/. Asegúrate de que la carpeta img y todas sus subcarpetas tengan permisos 755. Si no funciona, prueba con 775 o 777 temporalmente para ver si ese es el problema, y luego investiga por qué no puede escribir el usuario del servidor (posiblemente un problema de propietario, no de permisos).

¿Es seguro usar permisos 777 en PrestaShop?

NO. Es la configuración más insegura que existe. Permite que cualquier usuario del servidor modifique tus archivos, lo que facilita la inyección de malware. Úsalo solo como último recurso y por tiempo muy limitado.

¿Cuál es la diferencia entre chmod y los permisos en DirectAdmin?

chmod es el comando de Linux para cambiar permisos. El Administrador de Archivos de DirectAdmin es una interfaz gráfica que ejecuta chmod por ti. El resultado es el mismo. El terminal es solo una forma más rápida de hacerlo en masa.

Mi hosting usa "Syspanel" en lugar de DirectAdmin, ¿qué hago?

Si tu proveedor usa el panel Syspanel (que antes se llamaba HestiaCP), la interfaz es diferente, pero el concepto es el mismo. Para acceder a la configuración de archivos, usa el administrador de archivos de Syspanel. Recuerda que el puerto de acceso a Syspanel es el 2106 (por ejemplo, https://tu-dominio.com:2106). Busca la sección de "Administrador de Archivos" o "Gestor de Archivos" y aplica los mismos permisos de la tabla que te he mostrado.

¿Cada cuánto tiempo debo revisar los permisos?

Es una buena práctica revisarlos después de cada actualización de PrestaShop, de la instalación o desinstalación de un módulo o tema, o si notas un comportamiento extraño en tu tienda.


Consejo final para mantener tu tienda segura

Configurar los permisos PrestaShop DirectAdmin correctamente es tu primera línea de defensa. Pero no te olvides de:

  • Mantener PrestaShop, los módulos y el tema siempre actualizados.
  • Usar contraseñas fuertes para el panel de administración y el hosting.
  • Hacer copias de seguridad periódicas de tu base de datos y archivos.

Con esta guía, ya tienes el conocimiento para dominar el chmod PrestaShop DirectAdmin y mantener tu tienda funcionando de forma rápida y segura. Si en algún momento te sientes perdido, vuelve a esta tabla y a estos pasos. Es más sencillo de lo que parece.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel