Preguntas frecuentes sobre permisos de archivos en PrestaShop
¿Por qué PrestaShop me pide permisos de escritura y qué significa eso?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de error rojo en tu panel de administración de PrestaShop que dice algo como "Error de escritura" o "No se puede escribir en el archivo". No te preocupes, es una de las consultas más habituales que recibimos en soporte. Vamos a explicarlo de forma sencilla.
Imagina que tu tienda online es un gran almacén. Los permisos de archivos son las reglas que deciden quién puede entrar, quién puede leer los cartones (archivos) y quién puede escribir o modificar su contenido. En el mundo Linux (donde se alojan la mayoría de las webs), esto se gestiona con un código numérico llamado CHMOD.
Cuando PrestaShop se instala, necesita poder escribir en ciertas carpetas para guardar imágenes de productos, generar cachés, actualizar módulos o crear archivos de configuración. Si los permisos no son los correctos, la tienda se bloquea. A continuación, resolvemos las dudas más frecuentes sobre este tema.
¿Qué es el CHMOD y cómo funciona en PrestaShop?
El CHMOD es un comando de Linux que cambia los permisos de un archivo o carpeta. Se representa con tres números, como 755 o 644. Cada número tiene un significado:
- El primer número (dueño): Lo que puede hacer el propietario del archivo (tú o el usuario FTP).
- El segundo número (grupo): Lo que pueden hacer los usuarios del grupo.
- El tercer número (público): Lo que puede hacer cualquier otro usuario.
Cada número es la suma de valores: 4 (leer), 2 (escribir) y 1 (ejecutar). Por ejemplo:
- 7 = 4+2+1 (leer, escribir y ejecutar).
- 5 = 4+1 (leer y ejecutar).
- 6 = 4+2 (leer y escribir).
- 4 = 4 (solo leer).
¿Cuáles son los permisos correctos para PrestaShop?
Esta es la pregunta del millón. La regla general para un funcionamiento seguro y sin errores es:
- Carpetas (directorios): Permiso 755 (el dueño puede todo, el resto solo leer y ejecutar).
- Archivos (como .php, .tpl, .css): Permiso 644 (el dueño lee y escribe, el resto solo lee).
Sin embargo, hay excepciones críticas. PrestaShop necesita poder escribir en estas carpetas específicas, así que necesitan un permiso más abierto, normalmente 775 o incluso 777 en entornos de alojamiento compartido:
/var/cache//var/logs//img//img/tmp//config//download//upload//mails//modules//themes/
[WARNING] No pongas todo en 777. Es como dejar la puerta de tu almacén abierta de par en par. Un 777 generalizado es un riesgo de seguridad grave. Úsalo solo para las carpetas que lo necesiten y durante el tiempo mínimo imprescindible.
¿Cómo cambio los permisos de archivos en PrestaShop?
Tienes dos formas principales de hacerlo: desde el administrador de archivos de tu hosting o mediante un cliente FTP como FileZilla. Te explicamos ambas.
Opción 1: Desde el panel de control de tu hosting (Syspanel)
Si tu hosting usa Syspanel (accede a través del puerto 2106), sigue estos pasos:
- Accede a tu panel de Syspanel (ejemplo:
https://tudominio.com:2106). - Busca la sección Administrador de archivos o Gestor de archivos.
- Navega hasta la carpeta
public_html(o la raíz de tu tienda PrestaShop). - Selecciona la carpeta o archivo que quieres modificar.
- Haz clic derecho y elige la opción Permisos o CHMOD.
- Introduce el valor numérico (por ejemplo,
755o644) o marca las casillas de Leer, Escribir y Ejecutar. - Guarda los cambios.
Opción 2: Desde FileZilla (FTP)
- Conecta a tu servidor con FileZilla usando tus credenciales FTP.
- Localiza la carpeta de tu tienda (normalmente
public_html). - Haz clic derecho sobre el archivo o carpeta que quieras modificar.
- Selecciona "Permisos de archivo...".
- Se abrirá una ventana donde puedes introducir el valor numérico en el campo "Valor numérico".
- Marca la opción "Recursivo en subdirectorios" si quieres aplicar el cambio a todas las subcarpetas (útil para corregir todo de golpe, pero ten cuidado).
- Pulsa Aceptar.
[TIP] Si tienes que cambiar muchos archivos, selecciónalos todos en FileZilla (Ctrl + clic) y cambia los permisos a la vez. Esto te ahorrará mucho tiempo.
¿Por qué sigo viendo "Error de escritura" en PrestaShop después de cambiar los permisos?
Has cambiado los permisos a 755 y 644, pero el error persiste. Esto es muy frustrante, pero tiene una explicación lógica. Hay dos culpables habituales:
1. El propietario (Owner) del archivo es incorrecto
No basta con que los permisos sean correctos. El usuario que ejecuta PHP en tu servidor (a menudo llamado www-data, nobody o apache) debe ser el propietario de los archivos o pertenecer al grupo que tiene permisos de escritura.
Si has subido los archivos por FTP con tu usuario (ej. usuario123), pero PHP corre como www-data, el servidor web no puede escribir aunque el CHMOD sea 777.
Solución: En Syspanel o por SSH, puedes cambiar el propietario con el comando chown -R usuario:grupo /ruta/a/prestashop. Si no sabes hacerlo, contacta con tu soporte de hosting. Ellos pueden ejecutar el comando por ti.
2. El caché de PrestaShop está obsoleto
A veces PrestaShop guarda información de permisos en su caché. Después de cambiar los permisos, es recomendable limpiar la caché.
Solución:
- Ve a Parámetros avanzados > Rendimiento en tu administrador.
- Pulsa el botón Vaciar la caché.
- Si no puedes acceder al panel, borra manualmente el contenido de la carpeta
/var/cache/dev/y/var/cache/prod/(excepto el archivo.htaccesssi existe).
¿Qué permisos necesito para instalar módulos o temas en PrestaShop?
Esta es otra duda recurrente. Para instalar un módulo o tema desde el panel de administración, PrestaShop necesita descargar el archivo ZIP y descomprimirlo en las carpetas /modules/ o /themes/. Por lo tanto, estas carpetas deben tener permisos de escritura (775 o 777) durante el proceso de instalación.
Te recomendamos este flujo seguro:
- Cambia los permisos de
/modules/y/themes/a 775 (o 777 si tu hosting es restrictivo). - Sube e instala tu módulo o tema.
- Una vez instalado, vuelve a cambiar los permisos a 755. Esto evita que un atacante pueda subir archivos maliciosos a través de una vulnerabilidad.
[INFO] Muchos hosting compartidos no permiten usar 777 por seguridad. Si es tu caso, usa 775. Si tampoco funciona, contacta con tu proveedor para que te indique la configuración exacta.
¿Cómo soluciono el error "No se puede escribir en el archivo de configuración"?
Este error suele aparecer en /config/settings.inc.php. Este archivo guarda la configuración de la base de datos. Si no se puede escribir, no podrás guardar cambios en la configuración general.
Pasos para solucionarlo:
- Conecta por FTP a tu servidor.
- Busca el archivo
config/settings.inc.php. - Cambia sus permisos a 644 o 666 temporalmente.
- Realiza el cambio que necesitabas en el panel de administración.
- Vuelve a poner el permiso en 644 (o 444 si tu hosting lo permite, para que sea de solo lectura y más seguro).
Preguntas rápidas sobre carpetas específicas
¿Qué permisos debe tener la carpeta /img?
La carpeta /img almacena todas las imágenes de tus productos y categorías. PrestaShop necesita escribir aquí constantemente para generar miniaturas y redimensionar imágenes. El permiso recomendado es 755, pero si tienes errores al subir imágenes, cámbiala a 775 o 777 temporalmente.
¿Y la carpeta /var/cache?
Esta carpeta es la más problemática. PrestaShop escribe aquí archivos de caché de forma continua. Si no puede escribir, verás errores de renderizado o páginas en blanco. Dale permisos 775 y asegúrate de que el propietario es el usuario del servidor web.
¿Qué hago con la carpeta /download?
Esta carpeta contiene archivos digitales para la venta de productos descargables. Para que el servidor pueda gestionar las descargas, necesita permiso de escritura. Usa 755 como base, y si falla, prueba con 775.
Consejos de seguridad y buenas prácticas
- Haz una copia de seguridad antes de tocar permisos. Si rompes algo, podrás restaurarlo fácilmente.
- No uses 777 de forma indiscriminada. Es la puerta de entrada favorita de los hackers. Úsalo solo para solucionar un problema puntual y revierte los cambios al terminar.
- Revisa los logs de errores. Si tienes un error, mira el archivo
/var/logs/de PrestaShop o el log de errores de tu hosting. Te dará pistas exactas sobre qué archivo o carpeta falla. - Mantén PrestaShop actualizado. Las versiones nuevas suelen corregir problemas de permisos y mejorar la seguridad general.
Resumen: Tabla de permisos rápida
Para que lo tengas a mano, aquí tienes la guía definitiva:
| Elemento | Permiso recomendado | ¿Cuándo usar otro? |
|---|---|---|
| Carpetas en general | 755 | Usa 775 si tu hosting necesita que el grupo escriba. |
| Archivos en general | 644 | Usa 664 si el grupo necesita escribir. |
Carpetas modules, themes, img, var/cache | 775 | Usa 777 solo para instalar módulos o subir imágenes y revierte después. |
Archivo settings.inc.php | 644 | Usa 666 temporalmente para guardar cambios, luego vuelve a 644. |
[TIP] Si después de todo esto sigues teniendo problemas, es muy probable que el problema no sea el CHMOD, sino el propietario del archivo. Contacta con tu proveedor de hosting y pregúntales: "¿Cuál es el usuario y grupo correctos para los archivos de PrestaShop? ¿Pueden ejecutar chown para mí?" Es una consulta muy común y deberían poder ayudarte en minutos.
Esperamos que esta guía de preguntas frecuentes te haya aclarado todas las dudas sobre los permisos archivos prestashop. Como siempre, nuestro equipo de soporte está aquí para echarte una mano si necesitas ayuda con el chmod prestashop o cualquier otro tema técnico. ¡Buena suerte con tu tienda!
