Cómo solucionar el error de permisos de archivos en PrestaShop (cPanel/Plesk)
¿Por qué aparece el error de permisos en PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de error como "No se puede escribir en el archivo", "Error 403 Forbidden" o una pantalla en blanco en tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes y, afortunadamente, tiene solución.
El error de permisos en PrestaShop ocurre cuando los archivos de tu tienda tienen configurados unos permisos incorrectos en el servidor. Piensa en los permisos como una especie de "candado" que le dice al servidor quién puede leer, escribir o ejecutar cada archivo. Si los candados están mal puestos, PrestaShop no puede funcionar correctamente.
Este problema suele aparecer después de:
- Migrar tu tienda a un nuevo hosting.
- Restaurar una copia de seguridad.
- Instalar un módulo o tema nuevo.
- Cambiar de servidor o de panel de control (como cPanel o Plesk).
En este artículo te voy a explicar paso a paso cómo solucionar el error de permisos en PrestaShop tanto si usas cPanel como si usas Plesk. Y no te preocupes, no necesitas ser un experto en informática para conseguirlo.
¿Qué permisos necesita PrestaShop para funcionar?
Antes de ponernos manos a la obra, es importante que entiendas qué permisos son los correctos. PrestaShop, como la mayoría de aplicaciones PHP, necesita que los archivos tengan un permiso de 644 y las carpetas un permiso de 755.
Te lo explico fácil:
- 644 en archivos: El propietario puede leer y escribir, y los demás solo pueden leer. Es el permiso estándar y seguro para archivos.
- 755 en carpetas: El propietario puede leer, escribir y ejecutar, y los demás pueden leer y ejecutar. Es el permiso estándar para directorios.
¿Por qué es importante? Porque si le das permisos demasiado abiertos (como 777), estás exponiendo tu tienda a posibles ataques. Si los permisos son demasiado restrictivos (como 600), PrestaShop no podrá escribir archivos de caché, logs o subir imágenes.
[!TIP]
Antes de empezar, haz una copia de seguridad completa de tu tienda. Si algo sale mal durante el proceso, podrás restaurar tu sitio sin perder datos.
Cómo solucionar el error de permisos en PrestaShop usando cPanel
cPanel es uno de los paneles de control más utilizados en el hosting compartido. Si tu hosting usa cPanel, sigue estos pasos:
Paso 1: Accede al Administrador de Archivos de cPanel
- Inicia sesión en tu cPanel con tus credenciales de hosting.
- Busca la sección "Archivos" y haz clic en "Administrador de Archivos".
- Se abrirá una ventana; selecciona la carpeta donde está instalada tu tienda PrestaShop (normalmente es
public_htmlo una subcarpeta comopublic_html/tienda). - Haz clic en "Ir".
Paso 2: Selecciona todos los archivos y carpetas
Una vez dentro del directorio raíz de tu PrestaShop:
- Haz clic en "Seleccionar todo" en la barra superior (o presiona
Ctrl + Aen tu teclado). - Con todos los archivos seleccionados, haz clic en el botón "Permisos" en la barra superior.
Paso 3: Configura los permisos correctos
Verás una ventana con casillas de verificación para cada tipo de permiso. Aquí tienes dos opciones:
- Opción rápida: Marca la casilla que dice "Cambiar permisos de archivos" y escribe
644en el campo numérico. Luego marca la casilla "Cambiar permisos de directorios" y escribe755. Aplica los cambios. - Opción manual: Marca las casillas correspondientes para que queden así:
- Propietario (Owner): Lectura, Escritura, Ejecución (solo en carpetas).
- Grupo (Group): Lectura, Ejecución (solo en carpetas).
- Público (Public): Lectura, Ejecución (solo en carpetas).
[!WARNING]
No uses permisos 777 en producción. Aunque puede parecer una solución rápida, deja tu tienda vulnerable a ataques de hackers. Úsalo solo temporalmente para pruebas y cámbialo después.
Paso 4: Verifica que el error haya desaparecido
Una vez aplicados los cambios, ve a tu tienda y recarga la página. Si el error era de permisos, debería haberse solucionado. Si sigues viendo problemas, puede que necesites revisar archivos específicos como config/settings.inc.php o la carpeta var/cache.
Paso 5: Limpia la caché de PrestaShop
A veces, incluso después de corregir los permisos, la caché antigua sigue causando problemas. Para limpiarla:
- Accede a tu Panel de Administración de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- Haz clic en "Vaciar la caché".
Si no puedes acceder al panel, borra manualmente los archivos de la carpeta var/cache (o cache en versiones antiguas) desde el Administrador de Archivos de cPanel.
Cómo solucionar el error de permisos en PrestaShop usando Plesk
Si tu hosting usa Plesk, el proceso es ligeramente diferente pero igual de sencillo. Aquí te lo explico:
Paso 1: Accede al Administrador de Archivos de Plesk
- Inicia sesión en tu Plesk con tus credenciales.
- En el menú lateral, busca la sección "Sitios web y dominios".
- Haz clic en el dominio donde tienes instalado PrestaShop.
- Busca el botón "Administrador de archivos" (suele estar en la barra de herramientas o en el menú desplegable).
Paso 2: Navega hasta el directorio raíz de tu tienda
En el Administrador de Archivos de Plesk, navega hasta la carpeta donde está instalado PrestaShop. Normalmente será httpdocs o public_html.
Paso 3: Cambia los permisos de archivos y carpetas
Plesk te permite cambiar los permisos de dos formas:
- Individualmente: Haz clic derecho sobre un archivo o carpeta y selecciona "Cambiar permisos". Introduce
644para archivos o755para carpetas. - En lote: Selecciona todos los archivos y carpetas con
Ctrl + A, luego haz clic en el botón "Permisos" en la barra superior. Plesk te mostrará una pantalla donde puedes configurar los permisos por tipo (archivo o directorio).
[!INFO]
En Plesk, también puedes usar la línea de comandos SSH si tu plan lo permite. Conecta por SSH y ejecuta:find /ruta/a/tu/tienda -type f -exec chmod 644 {} \; find /ruta/a/tu/tienda -type d -exec chmod 755 {} \;Esto hará el cambio de permisos de forma automática y rápida.
Paso 4: Comprueba el resultado
Recarga tu tienda y verifica que el error de permisos ha desaparecido. Si no es así, revisa que no haya archivos específicos con permisos incorrectos, como el archivo .htaccess o config/settings.inc.php.
Solución avanzada: Usar comandos CHMOD por SSH
Si te sientes cómodo con la terminal, la forma más rápida y eficaz de solucionar el error de permisos en PrestaShop es usando comandos chmod por SSH. Este método funciona tanto en cPanel como en Plesk y en cualquier otro panel.
Conecta por SSH
- Abre tu terminal (en Windows puedes usar PuTTY o el terminal de Git Bash).
- Conecta a tu servidor con el comando:
ssh usuario@tudominio.com - Introduce tu contraseña cuando te la pida.
Cambia los permisos de forma recursiva
Una vez conectado, navega hasta el directorio raíz de tu PrestaShop:
cd /ruta/a/tu/tienda
Luego ejecuta estos dos comandos:
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
El primer comando cambia todos los archivos a 644 y el segundo cambia todas las carpetas a 755. Esto es exactamente lo que PrestaShop necesita para funcionar correctamente.
[!TIP]
Si tienes Syspanel (HestiaCP) como panel de control, el puerto de acceso SSH es el 2106. Conecta con:ssh -p 2106 usuario@tudominio.com
Verifica la conexión
Después de ejecutar los comandos, puedes verificar que todo está correcto con:
ls -la
Deberías ver los archivos con permisos -rw-r--r-- y las carpetas con drwxr-xr-x.
¿Qué hacer si el error persiste después de cambiar los permisos?
Si has seguido todos los pasos y el error de permisos en PrestaShop sigue apareciendo, puede que el problema sea más específico. Aquí tienes algunas soluciones adicionales:
Revisa el archivo .htaccess
El archivo .htaccess puede estar causando conflictos. Prueba a renombrarlo temporalmente:
- En el Administrador de Archivos, busca el archivo
.htaccessen la raíz de tu tienda. - Cámbiale el nombre a
.htaccess.bak. - Recarga tu tienda. Si funciona, el problema está en ese archivo. Puedes regenerarlo desde el panel de administración de PrestaShop.
Comprueba la propiedad de los archivos
Además de los permisos, los archivos deben tener el propietario correcto. En la mayoría de los hostings compartidos, el propietario debe ser tu usuario de FTP. Si los archivos pertenecen a otro usuario, puede dar problemas.
Para comprobarlo en cPanel o Plesk, mira la columna "Propietario" en el Administrador de Archivos. Si no coincide con tu usuario, contacta con tu proveedor de hosting para que lo ajusten.
Desactiva el modo de mantenimiento
A veces, PrestaShop entra en modo de mantenimiento y muestra errores confusos. Ve a tu panel de administración y en Parámetros avanzados > Mantenimiento, asegúrate de que está desactivado.
Preguntas frecuentes sobre el error de permisos en PrestaShop
¿Es peligroso tener permisos 777 en PrestaShop?
Sí, es bastante peligroso. Con permisos 777, cualquier usuario del servidor puede leer, escribir y ejecutar tus archivos. Esto facilita que un atacante inyecte código malicioso en tu tienda. Siempre usa 644 para archivos y 755 para carpetas.
¿Cómo soluciono el error 403 Forbidden en PrestaShop?
El error 403 suele estar relacionado con permisos incorrectos en el archivo .htaccess o en las carpetas. Sigue los pasos de este artículo para cambiar los permisos a los valores correctos. Si el problema persiste, revisa que el archivo .htaccess no tenga reglas restrictivas.
¿Puedo cambiar los permisos desde FTP?
Sí, la mayoría de clientes FTP como FileZilla te permiten cambiar permisos. Haz clic derecho sobre el archivo o carpeta, selecciona "Permisos de archivo..." e introduce el valor numérico (644 o 755). Luego aplica el cambio a todos los archivos y subcarpetas si es necesario.
¿Por qué PrestaShop necesita escribir en ciertos archivos?
PrestaShop genera archivos de caché, logs y cookies para mejorar el rendimiento y la experiencia del usuario. Si no puede escribir en estos archivos, la tienda falla o muestra errores. Por eso es crucial que los permisos sean los correctos.
Conclusión
El error de permisos en PrestaShop es un problema molesto pero totalmente solucionable. Tanto si usas cPanel como Plesk, cambiar los permisos a 644 en archivos y 755 en carpetas es la solución estándar que resuelve el 90% de los casos.
Recuerda siempre:
- Haz una copia de seguridad antes de hacer cambios.
- Usa permisos seguros (nunca
777en producción). - Limpia la caché después de cambiar los permisos.
- Si algo falla, revisa la propiedad de los archivos.
Si has seguido todos los pasos y el error persiste, puede que el problema esté en otro lugar, como en la configuración del servidor o en algún módulo incompatible. En ese caso, no dudes en contactar con tu proveedor de hosting, que podrá revisar el servidor a fondo.
Espero que este artículo te haya sido de ayuda y que tu tienda PrestaShop vuelva a funcionar perfectamente. ¡Mucha suerte con tu negocio online!
