Resolver problema de permisos de archivos en PrestaShop (cPanel/Plesk)
¿Por qué aparecen errores de permisos en PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con mensajes como "No se puede escribir en el archivo", "Error 500", una tienda en blanco o problemas al instalar módulos. No te preocupes, es mucho más común de lo que crees y, sobre todo, tiene solución.
Los errores de permisos PrestaShop son uno de los contratiempos más frecuentes al gestionar una tienda online, especialmente cuando cambias de servidor, restauramos una copia de seguridad o instalamos un módulo nuevo. El sistema de archivos de tu hosting tiene un sistema de seguridad que controla quién puede leer, escribir o ejecutar cada archivo. Si esos permisos no son los correctos, PrestaShop no puede funcionar con normalidad.
Vamos a desgranar este problema paso a paso, como si estuviéramos sentados frente a tu panel de control, para que lo resuelvas sin necesidad de ser un experto en sistemas.
¿Qué son exactamente los permisos de archivos (chmod)?
Imagina que cada archivo y carpeta de tu hosting tiene una cerradura con tres llaves distintas:
- Lectura (r): Permite ver el contenido del archivo.
- Escritura (w): Permite modificar o borrar el archivo.
- Ejecución (x): Permite ejecutar el archivo (en el caso de scripts PHP, por ejemplo).
Además, estas llaves se reparten entre tres grupos de usuarios:
- Propietario (u): Normalmente tu usuario de FTP o cPanel.
- Grupo (g): Un conjunto de usuarios del servidor.
- Público (o): Todos los demás.
Cuando hablamos de chmod PrestaShop (que significa "change mode"), nos referimos a cambiar esos permisos. Se representan con números: 644, 755, 775, 777, etc. Cada número es la suma de los permisos (lectura=4, escritura=2, ejecución=1).
Por ejemplo, el 755 significa que el propietario tiene lectura, escritura y ejecución (4+2+1=7), y el grupo y el público tienen solo lectura y ejecución (4+1=5).
¿Cuáles son los permisos correctos para PrestaShop?
Antes de empezar a tocar nada, es crucial saber a dónde queremos llegar. Aunque cada hosting puede tener pequeñas variaciones, la regla de oro para PrestaShop es la siguiente:
- Archivos (como index.php, .htaccess): Permisos 644.
- Carpetas (como /img, /modules, /var): Permisos 755.
- Carpetas de caché y logs (como /var/cache, /var/logs): A veces necesitan 775 para que el servidor web pueda escribir en ellas, pero 755 suele funcionar en la mayoría de casos. Si tienes problemas, prueba con 775.
IMPORTANTE: El permiso 777 es el más permisivo (todos pueden leer, escribir y ejecutar). Es una solución temporal muy usada, pero es un riesgo de seguridad enorme. Úsalo solo para pruebas y cámbialo de inmediato.
Cómo arreglar permisos de archivos en cPanel
cPanel es el panel de control más popular del mundo. Si tu hosting lo usa, el proceso es muy visual.
Paso 1: Accede al Administrador de Archivos
- Entra en tu cPanel (normalmente en
tudominio.com/cpanel). - Busca la sección "Archivos" y haz clic en Administrador de Archivos.
- Se abrirá una ventana. Asegúrate de que está seleccionada la opción "Documento raíz del dominio" y elige tu dominio. Haz clic en "Ir".
Paso 2: Selecciona la carpeta de PrestaShop
Dentro del Administrador de Archivos, navega hasta la carpeta donde está instalada tu tienda. Normalmente es public_html o una subcarpeta como public_html/tienda.
Paso 3: Cambia los permisos de archivos y carpetas
- Para carpetas: Selecciona la carpeta raíz de PrestaShop (la que contiene
config/,img/,modules/, etc.). Haz clic derecho sobre ella y selecciona Cambiar permisos. - En la ventana emergente, verás casillas de verificación. Para establecer 755, marca las casillas de la siguiente manera:
- Propietario: Lectura, Escritura y Ejecución.
- Grupo: Lectura y Ejecución.
- Público: Lectura y Ejecución.
- Haz clic en "Cambiar permisos".
- Para archivos: Selecciona todos los archivos dentro de la carpeta raíz (Ctrl+A) y repite el proceso, pero esta vez establece 644 (Propietario: Lectura y Escritura; Grupo: Lectura; Público: Lectura).
[TIP]: Este método manual funciona, pero es lento si tienes miles de archivos. Si tu cPanel tiene la opción "Cambiar permisos en todos los archivos y subcarpetas" (a veces aparece como una casilla en la ventana emergente), actívala para que el cambio se aplique de forma recursiva.
Cómo arreglar permisos de archivos en Plesk
Plesk es otro panel muy común, especialmente en servidores y hosting de gama media. El proceso es igual de sencillo.
Paso 1: Accede al Administrador de Archivos
- Entra en Plesk (normalmente en
tudominio.com:8443). - Ve a "Sitios web y dominios" y selecciona tu dominio.
- Haz clic en Administrador de archivos en la sección de tu dominio.
Paso 2: Navega hasta la raíz de PrestaShop
Dentro del administrador, busca la carpeta httpdocs (es el equivalente a public_html en Plesk) y entra en ella. Ahí estará tu instalación de PrestaShop.
Paso 3: Cambia los permisos
- Para carpetas: Marca la casilla de la carpeta raíz de PrestaShop. En la barra superior, haz clic en el icono de "Permisos" (suele ser un candado o un engranaje).
- Se abrirá un panel donde puedes escribir el valor numérico. Escribe 755 y haz clic en "Aceptar".
- Plesk te preguntará si quieres aplicar este cambio a las subcarpetas. Selecciona "Aplicar a todos los archivos y subdirectorios".
- Para archivos: Vuelve a la raíz, selecciona todos los archivos (normalmente hay un botón "Seleccionar todo") y repite el proceso, pero esta vez escribe 644 en el campo de permisos.
[WARNING]: Si tu Plesk no tiene la opción de aplicar cambios de forma recursiva, tendrás que usar un cliente FTP como FileZilla para hacerlo más rápido.
La solución más rápida: Usar FileZilla (FTP)
Si los paneles te resultan confusos o tienes muchos archivos, FileZilla es tu mejor aliado. Es un programa gratuito y muy potente.
- Descarga e instala FileZilla.
- Conéctate a tu servidor usando tus credenciales FTP (las mismas que usas para subir archivos).
- Navega hasta la carpeta raíz de PrestaShop en el panel remoto (derecha).
- Para carpetas: Haz clic derecho sobre la carpeta raíz, selecciona "Permisos de archivo...".
- En la ventana, escribe 755 en el campo numérico y marca la casilla "Aplicar a todos los subdirectorios y archivos". Haz clic en Aceptar.
- Para archivos: Ahora, dentro de la misma carpeta, selecciona todos los archivos (Ctrl+A), haz clic derecho y ve a "Permisos de archivo...".
- Escribe 644 y marca "Aplicar a todos los archivos y subdirectorios" (aunque solo haya archivos, es por seguridad). Acepta.
[INFO]: FileZilla mostrará una lista de errores si no puede cambiar algún archivo. Es normal, algunas veces hay archivos bloqueados por el propio servidor. Si el error persiste, contacta con tu proveedor de hosting.
¿Qué pasa si uso Syspanel (antes HestiaCP)?
Si tu hosting utiliza Syspanel (el antiguo HestiaCP), el proceso es un poco diferente pero igual de accesible. Recuerda que para acceder a tu panel de control, la URL siempre incluye el puerto 2106 (por ejemplo, https://tudominio.com:2106).
- Accede a Syspanel con tu usuario y contraseña.
- Ve a la sección "Web" o "Sitios web" y busca tu dominio.
- Haz clic en el icono de "Administrador de archivos" (suele ser una carpeta).
- Navega hasta
public_html(o la carpeta que hayas configurado). - Una vez dentro, selecciona la carpeta raíz de PrestaShop y busca el botón "Permisos" en la barra superior. Establece 755 para carpetas y 644 para archivos, igual que en los otros paneles.
[TIP]: En Syspanel, a diferencia de cPanel o Plesk, a veces tienes que hacer el cambio de permisos de archivos y carpetas por separado, ya que no siempre ofrece la opción recursiva en la interfaz web. Si es tu caso, usa FileZilla para una solución integral.
Errores comunes y su relación con los permisos
Vamos a ver los síntomas más típicos y cómo se relacionan con los errores de permisos PrestaShop.
Error 500 (Internal Server Error)
Este es el más genérico. Puede deberse a muchas cosas, pero los permisos incorrectos en el archivo .htaccess o en las carpetas /var/cache son una de las causas más frecuentes.
Solución: Cambia los permisos de las carpetas a 755 y los archivos a 644. Si el error persiste, borra el contenido de /var/cache (no la carpeta en sí) y vuelve a intentarlo.
No se puede escribir en la carpeta /img o /modules
Esto ocurre cuando intentas subir un logo, un producto o instalar un módulo.
Solución: Asegúrate de que las carpetas /img, /modules, /themes y /var tengan permisos 755 o 775. Si usas 755 y no funciona, prueba con 775 (esto permite que el grupo de usuarios del servidor web escriba).
La tienda se ve en blanco o sin estilos
Este problema suele estar relacionado con los permisos de los archivos en /themes o /cache.
Solución: Revisa que los archivos de tu tema tengan 644 y las carpetas 755. Después, en el back office de PrestaShop, ve a "Parámetros avanzados" > "Rendimiento" y pulsa "Vaciar la caché".
Problemas con el archivo .htaccess
Un .htaccess con permisos 644 es lo correcto. Si tiene 444 (solo lectura), puede causar errores de redirección o de reescritura de URL.
Solución: Cambia los permisos del archivo .htaccess a 644 desde el Administrador de Archivos o FTP.
Preguntas Frecuentes (FAQ)
¿Puedo poner todos los permisos en 777 para evitar problemas?
No, bajo ningún concepto. Es la solución más rápida, pero también la más peligrosa. Cualquier persona o script malicioso podría modificar o borrar tu tienda. Úsalo solo como último recurso y durante unos minutos para probar, y luego vuelve a 755/644.
¿Cada cuánto tiempo debo revisar los permisos?
No hay una regla fija. Lo ideal es revisarlos después de:
- Instalar o actualizar PrestaShop.
- Mover la tienda a un servidor nuevo.
- Restaurar una copia de seguridad.
- Instalar módulos o temas de terceros.
¿Qué hago si después de cambiar los permisos sigo teniendo el error?
Si has seguido todos los pasos y el problema persiste, puede que el error no sea de permisos. Otras causas comunes son:
- Caché corrupta: Borra la carpeta
/var/cache. - Conflictos de módulos: Desactiva todos los módulos no esenciales.
- Versión de PHP incorrecta: Asegúrate de usar una versión de PHP compatible con tu PrestaShop (PHP 7.4 u 8.0+ para las versiones modernas).
¿Es lo mismo arreglar permisos en un hosting compartido que en un VPS?
El proceso es el mismo, pero en un VPS o servidor dedicado a veces tienes acceso por SSH, lo que te permite usar comandos como chmod -R 755 /ruta/a/prestashop. Si no te sientes cómodo con la terminal, los pasos con FTP o el panel de control funcionan igual.
Consejos finales para mantener tus permisos a raya
- Haz copias de seguridad antes de tocar nada. Si algo sale mal, puedes restaurar.
- No mezcles permisos. Mantén la regla general: archivos 644, carpetas 755.
- Desconfía de los módulos que piden permisos 777. Un módulo legítimo nunca debería requerir permisos tan abiertos de forma permanente.
- Mantén PrestaShop actualizado. Las versiones nuevas suelen corregir problemas de seguridad relacionados con permisos.
Resolver los errores de permisos PrestaShop es una habilidad básica que todo administrador de tienda debería dominar. Con estas guías para cPanel, Plesk y Syspanel, y usando herramientas como FileZilla, tendrás tu tienda funcionando en menos de lo que canta un gallo. Si te surge cualquier duda, no dudes en volver a consultar esta guía o contactar con tu proveedor de hosting. ¡Mucho éxito con tu tienda online!
