Cómo configurar correctamente los permisos de archivos en cPanel para PrestaShop
¿Tu tienda PrestaShop te muestra errores de escritura, pantallas en blanco o problemas al subir imágenes? Es muy probable que el origen esté en los permisos de archivos. Configurar los permisos correctos es una de las tareas de mantenimiento más importantes en cualquier servidor, y en PrestaShop es crítico por su estructura de carpetas.
No te preocupes, no necesitas ser un experto en Linux. En esta guía paso a paso, aprenderás a configurar los permisos PrestaShop cPanel de forma segura y efectiva, entenderás qué significa cada número (como 755 o 644) y cómo evitar los temidos errores de escritura PrestaShop.
¿Qué son los permisos de archivos y por qué importan en PrestaShop?
Imagina que tu servidor es un edificio de oficinas. Cada carpeta es una sala y cada archivo es un documento. Los permisos son las llaves que deciden quién puede entrar, quién puede leer los documentos, quién puede modificarlos y quién puede borrarlos.
En el mundo de los servidores (especialmente Linux, que es lo que usa cPanel), estos permisos se representan con números. Cada archivo o carpeta tiene tres grupos de permisos:
- Propietario (Owner): Tú o el usuario del sitio web.
- Grupo (Group): Un conjunto de usuarios, a menudo el servidor web (Apache/Nginx).
- Mundo (World/Public): Cualquier persona en internet.
A cada grupo se le asigna un número que suma tres valores:
- 4 = Lectura (r): Ver el contenido.
- 2 = Escritura (w): Modificar o borrar.
- 1 = Ejecución (x): Ejecutar scripts (como PHP).
Por ejemplo, el número 755 se desglosa así: el propietario tiene 7 (4+2+1 = lectura, escritura y ejecución), el grupo tiene 5 (4+1 = lectura y ejecución) y el mundo tiene 5 (lectura y ejecución).
¿Por qué es tan delicado en PrestaShop? Porque PrestaShop necesita escribir archivos constantemente para funcionar: guardar caché, subir imágenes de productos, generar archivos de log, o actualizar módulos. Si los permisos son demasiado restrictivos, obtendrás errores. Si son demasiado permisivos (como 777), tu web será vulnerable a ataques maliciosos.
Preparación: Requisitos antes de tocar nada
Antes de lanzarte a cambiar números, asegúrate de tener esto listo para no crear un problema mayor.
1. Acceso a cPanel
Necesitas las credenciales de tu hosting para entrar a cPanel. Normalmente se accede a través de tudominio.com/cpanel o tudominio.com:2083.
2. Herramienta de Administración de Archivos
cPanel tiene un Administrador de Archivos integrado. Es más seguro que usar un cliente FTP (como FileZilla) porque no se corta la conexión a mitad de un cambio masivo.
3. Conocer la versión de PHP y el usuario del servidor
Esto es útil si el hosting usa "PHP-FPM" o "suPHP". En la mayoría de los casos, el propietario de los archivos será tu usuario de cPanel. Puedes verlo en la esquina superior derecha de cPanel.
Paso 1: Accede al Administrador de Archivos de cPanel
-
Inicia sesión en tu cuenta de cPanel.
-
Busca la sección Archivos y haz clic en Administrador de Archivos.
-
Se abrirá una ventana preguntándote si quieres ir a la raíz del dominio. Selecciona la carpeta
public_html(o el nombre de tu dominio) y haz clic en Ir. A veces te pedirá mostrar archivos ocultos; actívalo, ya que PrestaShop tiene archivos como.htaccessque son invisibles por defecto.
Paso 2: La regla de oro para PrestaShop (chmod PrestaShop)
Aquí está la respuesta rápida para la mayoría de los casos. PrestaShop funciona perfectamente con estos permisos estándar:
- Directorios (carpetas): 755
- Archivos (PHP, JS, CSS, imágenes): 644
Esta es la configuración recomendada oficialmente. Con estos permisos, el propietario puede escribir y ejecutar, pero el resto del mundo solo puede leer y ejecutar. Es segura y evita el 99% de los errores de escritura PrestaShop.
¿Cuándo usar 777? Nunca uses 777 en un entorno de producción. Es un riesgo de seguridad enorme. Si necesitas que PrestaShop escriba en una carpeta concreta, usa 755. Si aún así falla, es un problema de "propietario" y no de permisos.
Paso 3: Cómo cambiar permisos de una carpeta o archivo específico
Si solo tienes un archivo problemático (por ejemplo, config/settings.inc.php o la carpeta cache), sigue estos pasos:
-
En el Administrador de Archivos, navega hasta el archivo o carpeta.
-
Haz clic derecho sobre él y selecciona Cambiar permisos (o Permisos).
-
Se abrirá una ventana con casillas de verificación y un campo numérico.
-
Escribe el número directamente (por ejemplo,
644) o marca las casillas: Propietario: Lectura, Escritura y Ejecución (si es carpeta). Grupo y Mundo: Solo Lectura y Ejecución. -
Haz clic en Cambiar permisos.
Paso 4: Aplicar permisos a TODA la carpeta de PrestaShop (Método recursivo)
Aquí es donde se cometen muchos errores. Cambiar uno por uno es tedioso y propenso a fallos. La forma correcta es hacer un cambio recursivo, es decir, aplicar los permisos a la carpeta principal y que se extienda a todas las subcarpetas y archivos.
IMPORTANTE: No hagas esto si tu web está en plena producción y no sabes lo que haces. Es mejor hacerlo con la tienda en modo mantenimiento.
-
En el Administrador de Archivos, navega hasta la raíz de tu PrestaShop (normalmente
public_html). -
Selecciona TODOS los archivos y carpetas que ves. Puedes usar
Ctrl+A(oCmd+Aen Mac) para seleccionar todo. -
Con todo seleccionado, haz clic en el botón Permisos en la barra superior.
-
Se abrirá una ventana emergente. Aquí tienes que indicar:
- Permisos para archivos:
644 - Permisos para carpetas:
755
- Permisos para archivos:
-
Asegúrate de marcar la casilla que dice Cambiar los archivos y carpetas dentro del directorio (o "Aplicar recursivamente"). Esto es esencial.
-
Haz clic en Cambiar permisos.
cPanel aplicará los cambios en cadena. Este proceso es la solución definitiva para el chmod PrestaShop general.
Paso 5: Excepciones importantes (carpetas que necesitan más permisos)
Aunque la regla general es 755/644, hay carpetas específicas en PrestaShop que necesitan permisos de escritura para el servidor web. Si después del cambio masivo sigues viendo errores de escritura PrestaShop, revisa estas carpetas:
/cache: Guarda archivos temporales. Debe tener permisos 755 y ser propiedad del usuario del servidor./log: Registros de errores./img: Necesita escritura para subir imágenes de productos./config: A veces necesita escritura durante la instalación o actualización./var/cache(en versiones 1.7+): Es la nueva ubicación de la caché.
Si alguna de estas carpetas da problemas, intenta ponerla en 775 (propietario y grupo con escritura) en lugar de 755. Pero no vayas más allá.
[WARNING] No pongas la carpeta /config en 777. Ahí está tu settings.inc.php con las claves de la base de datos. Si lo haces, cualquiera podría descargarlo y robar tu información.
Paso 6: El problema del "Propietario" (Owner) vs. "Grupo" (Group)
A veces, aunque los permisos sean 755, PrestaShop no puede escribir. El motivo suele ser que el propietario del archivo no es el mismo que el usuario del servidor web.
Imagina que los archivos son de "Juan" (tu usuario), pero el servidor web (Apache) intenta escribir como "Pedro". Si "Pedro" no tiene permisos de escritura, falla.
Solución rápida: En cPanel, puedes usar la herramienta "Diagnóstico de Permisos" o simplemente seleccionar todos los archivos y hacer clic en "Cambiar Propietario". Asegúrate de que el propietario sea tu usuario de cPanel (el mismo que aparece arriba a la derecha).
[INFO] Si tu hosting usa "PHP-FPM" o "LSAPI", el servidor web actúa como tu usuario, así que este problema es menos común. Si usas "Apache mod_php", es más probable que tengas conflictos.
Cómo resolver los errores más comunes paso a paso
Ahora que ya sabes la teoría, veamos casos prácticos de resolución de problemas.
Error: "No se puede escribir en el archivo de configuración"
Esto suele pasar al instalar módulos o al cambiar la URL de la tienda.
- Revisa la carpeta
/config. Cambia los permisos del archivosettings.inc.phpa 644. - Si sigue fallando, cambia temporalmente la carpeta
/configa 755. - Realiza la operación que fallaba (instalar el módulo).
- Vuelve a poner
/configa 755 y el archivo a 644.
Error: "No se puede crear la imagen" o "No se puede subir el archivo"
Este error es casi siempre de la carpeta /img.
- Ve a
public_html/img. - Cambia los permisos de la carpeta a 755.
- Asegúrate de que el propietario es tu usuario de cPanel.
- Si usas CDN o caché, vacía la caché de PrestaShop desde el panel de administración (Parámetros avanzados > Rendimiento).
Error: "500 Internal Server Error" después de cambiar permisos
Esto es crítico. Significa que has puesto permisos de ejecución a archivos que no debían tenerlos, o has eliminado permisos de lectura en archivos .htaccess.
- No entres en pánico.
- Vuelve a poner todos los archivos a 644 y las carpetas a 755 usando el método recursivo que vimos antes.
- Revisa que el archivo
.htaccesstenga permisos 644. Si no lo ves, activa "Mostrar archivos ocultos".
Buenas prácticas de seguridad y rendimiento
Configurar los permisos no es un "configurar y olvidar". Sigue estas recomendaciones:
- Nunca uses 777: Es la mayor puerta de entrada para malware. Si un script necesita escribir, debería bastar con 755 o 775.
- Cambia los permisos solo cuando sea necesario: Si vas a hacer una actualización de PrestaShop, entonces sí, da permisos de escritura a las carpetas necesarias. Cuando termines, revierte a 755/644.
- Revisa los logs: Si tienes un error, mira el archivo
/logde PrestaShop o el "Error Log" de cPanel. Te dirá exactamente qué carpeta está fallando. - Usa el modo mantenimiento: Antes de hacer cambios masivos, activa el modo mantenimiento en tu tienda para que los clientes no vean errores a mitad de proceso.
Preguntas frecuentes (FAQ)
¿Puedo usar FTP para cambiar los permisos?
Sí, pero es más lento y menos seguro. cPanel es más fiable. Si usas FTP, recuerda que FileZilla también te permite cambiar permisos (clic derecho > "Permisos de archivo"), pero es fácil equivocarse con la recursividad.
¿Qué pasa si mi hosting no usa cPanel sino Syspanel?
Si tu proveedor usa el panel Syspanel (el acceso al panel de control es a través del puerto 2106), el proceso es similar. Busca la sección de "Administrador de Archivos" o "Gestor de archivos". La lógica de los permisos (755/644) es idéntica, ya que ambos paneles gestionan el mismo sistema operativo Linux. La única diferencia es la interfaz visual.
¿Cada cuánto tiempo debo revisar los permisos?
No hay una regla fija. Te recomiendo revisarlos después de cada actualización de PrestaShop, de instalar un módulo nuevo o si empiezas a ver errores extraños. Una vez al mes es una buena rutina preventiva.
¿Son los permisos 777 la solución a todos mis problemas?
No. De hecho, es la causa de muchos problemas de seguridad. Los errores de escritura PrestaShop suelen deberse a un problema de propietario del archivo, no de permisos. Cambiar el propietario desde cPanel es más seguro y efectivo que abrir todo a 777.
Conclusión: Un mantenimiento simple para una tienda saludable
Configurar los permisos PrestaShop cPanel correctamente es una de las tareas más sencillas y a la vez más poderosas que puedes hacer para mantener tu tienda estable y segura.
Recuerda la regla de oro:
- Carpetas:
755 - Archivos:
644 - Excepciones: Solo las carpetas de caché o imágenes si fallan, y nunca por encima de
775. - Nunca:
777
Con esta guía, ya tienes el conocimiento para resolver el 95% de los problemas de escritura. Tómate tu tiempo, haz los cambios con calma y siempre con una copia de seguridad reciente. Tu PrestaShop te lo agradecerá con un rendimiento fluido y sin pantallazos de error.
