Problemas de permisos en PrestaShop en WordPress hosting
¿Tienes una tienda online con PrestaShop y la estás alojando en un plan de WordPress hosting? Puede que pienses que es una combinación extraña, pero es más común de lo que crees. Muchos usuarios empiezan con un hosting económico diseñado para WordPress y, como PrestaShop también usa PHP y MySQL, intentan instalarlo allí. Sin embargo, uno de los problemas más frecuentes que aparecen son los errores de permisos en archivos y carpetas. Esto puede impedir que subas productos, que se generen imágenes en miniatura, que se instalen módulos o incluso que la tienda se caiga.
En esta guía extensa y fácil de entender, vamos a explicarte por qué ocurren estos problemas de permisos PrestaShop, cómo identificarlos, solucionarlos paso a paso y, lo más importante, cómo prevenirlos en el futuro. Todo explicado como si estuvieras hablando con un amigo técnico que te guía con cariño.
¿Por qué aparecen problemas de permisos en PrestaShop en WordPress hosting?
Para entenderlo, primero debes saber que PrestaShop y WordPress tienen filosofías de seguridad muy diferentes. WordPress, por su naturaleza de gestor de contenidos, es más flexible con los permisos de archivos. PrestaShop, al ser un ecommerce, es mucho más estricto.
Cuando instalas PrestaShop en un servidor optimizado para WordPress, suelen ocurrir dos cosas:
1. El usuario del servidor no coincide
En un hosting compartido típico, el servidor web (Apache o Nginx) suele ejecutarse con un usuario diferente al del dueño de los archivos. WordPress puede funcionar bien con permisos relajados (por ejemplo, 755 para carpetas y 644 para archivos). PrestaShop necesita que el usuario del servidor web pueda escribir en ciertas carpetas, como img/, upload/, cache/ o config/. Si el usuario no coincide, verás errores como "No se puede escribir el archivo" o "Permiso denegado".
2. Los módulos y temas requieren escritura constante
PrestaShop necesita poder modificar archivos constantemente para:
- Generar imágenes de productos en diferentes tamaños.
- Escribir archivos de caché.
- Actualizar módulos y configuraciones.
- Subir imágenes desde el back office.
Si los permisos no son los correctos, los errores archivos se multiplican: no se suben imágenes, no se actualizan módulos, y el back office puede volverse muy lento o dar errores 500.
[INFO] Aunque tu hosting esté etiquetado como "WordPress hosting", si es de calidad (como los que usan cPanel, DirectAdmin o Syspanel), podrás instalar PrestaShop. Lo importante es ajustar los permisos manualmente.
Síntomas comunes de permisos incorrectos en PrestaShop
Antes de solucionar, debes saber qué estás viendo. Estos son los síntomas más habituales:
- Error al subir imágenes de productos: Aparece un mensaje como "Error al copiar el archivo" o "No se puede crear la miniatura".
- Módulos que no se instalan: Al intentar instalar un módulo desde el back office, todo se queda en blanco o da error.
- La tienda muestra un error 500: Sin más detalles, solo una página en blanco o un error interno del servidor.
- No se puede acceder al back office: O se accede pero algunas secciones dan error de permisos.
- Problemas con la generación de imágenes: Las imágenes de productos no se muestran, o aparecen rotas.
- Errores en el log de PrestaShop: En la carpeta
/var/logs/o en el panel de control, ves errores que mencionanchmod,file_put_contentsomkdir.
Si tienes alguno de estos síntomas, es casi seguro que los permisos de archivos y carpetas están mal configurados.
Cómo solucionar los problemas de permisos PrestaShop paso a paso
Vamos a resolverlo. Necesitarás acceso a tu panel de control de hosting (cPanel, DirectAdmin, Syspanel, etc.) y un cliente FTP (como FileZilla) o el administrador de archivos del panel.
Paso 1: Identifica el tipo de hosting que usas
Dependiendo de tu panel de control, el método para cambiar permisos varía ligeramente. Los más comunes son:
- cPanel: Tiene un administrador de archivos integrado donde puedes cambiar permisos fácilmente.
- DirectAdmin: Similar, con opción de permisos numéricos.
- Syspanel (antes HestiaCP): Accede a tu dominio y luego al administrador de archivos. Recuerda que el puerto de acceso a Syspanel es el 2106 (ejemplo:
https://tudominio.com:2106). - Plesk: También tiene su propio gestor.
Si no sabes cuál tienes, mira la URL de acceso a tu panel de control. Si ves :2106, es Syspanel.
Paso 2: Conéctate al servidor por FTP o al administrador de archivos
Usa FileZilla o el administrador de archivos de tu panel. Navega hasta la carpeta raíz donde está instalado PrestaShop (normalmente public_html/, www/ o tudominio/).
Paso 3: Establece los permisos correctos para PrestaShop
PrestaShop tiene una recomendación oficial de permisos. Aquí te la resumo:
- Carpetas (directorios): Permiso 755 (rwxr-xr-x). Esto permite que el dueño escriba y todos lean/ejecuten.
- Archivos: Permiso 644 (rw-r--r--). El dueño puede escribir, todos pueden leer.
- Carpetas especiales que necesitan escritura: Estas deben tener permiso 777 (rwxrwxrwx) temporalmente, aunque no es recomendable dejarlo así para siempre. Las carpetas críticas son:
img/upload/cache/config/themes/(a veces)modules/(a veces)override/translations/log/(si existe)
[WARNING] Dar permisos 777 a una carpeta es un riesgo de seguridad. Solo hazlo temporalmente para solucionar el problema, y luego vuelve a 755 o 775 si es posible.
Paso 4: Cambia los permisos de forma masiva (recomendado)
Hacerlo archivo por archivo es tedioso. Aquí te explico cómo hacerlo rápido:
En cPanel:
- Ve a "Administrador de archivos".
- Selecciona la carpeta raíz de PrestaShop.
- Haz clic en "Cambiar permisos" (o "Permisos") en la barra superior.
- Marca "Recursivo" para que se aplique a todas las subcarpetas y archivos.
- Pon 755 para carpetas y 644 para archivos. Luego aplica.
En FileZilla:
- Conéctate.
- Selecciona la carpeta raíz.
- Haz clic derecho -> "Permisos de archivos".
- Marca "Recursivo en subdirectorios".
- Elige "Aplicar solo a directorios" y pon 755.
- Repite el proceso pero ahora eligiendo "Aplicar solo a archivos" y pon 644.
En Syspanel (HestiaCP):
- Accede a Syspanel por el puerto 2106.
- Ve a "Administrador de archivos".
- Navega a la carpeta de PrestaShop.
- Selecciona todo (Ctrl+A) y haz clic en "Permisos".
- Pon 755 para carpetas y 644 para archivos, marcando "Recursivo".
Paso 5: Dale permisos especiales a las carpetas críticas
Ahora, para las carpetas que mencioné antes (img, upload, cache, config, etc.), necesitas darles 777 temporalmente. Hazlo una por una desde el administrador de archivos o FTP.
Por ejemplo, para la carpeta img/:
- En FileZilla: clic derecho -> "Permisos de archivos" -> 777 -> "Recursivo en subdirectorios".
- En cPanel: similar.
[TIP] Después de que la tienda funcione correctamente, intenta bajar esos permisos a 755 o 775. Si ves que algo deja de funcionar, déjalos en 775 (más seguro que 777).
Paso 6: Verifica el propietario de los archivos
A veces el problema no son solo los permisos, sino que el dueño de los archivos no es el usuario del servidor web. En la mayoría de los hostings compartidos, los archivos deben pertenecer a tu usuario de hosting (el que usas para conectarte por FTP). Si ves que los archivos tienen otro dueño (como nobody o www-data), pide a soporte que te ayude a cambiarlos.
En Syspanel, puedes ver el propietario desde el administrador de archivos. Si no puedes cambiarlo, contacta al soporte técnico.
Solución para errores específicos de archivos
Aquí tienes soluciones concretas para problemas comunes:
Error "No se puede escribir en el archivo de configuración"
Esto ocurre en la carpeta config/. Dale permisos 777 a config/ y a su archivo settings.inc.php. Luego, desde el back office, ve a "Parámetros de la tienda" -> "Rendimiento" y limpia la caché.
Error al subir imágenes de productos
Afecta a la carpeta img/. Dale permisos 777 recursivamente. Luego, desde el back office, ve a "Mejorar" -> "Imágenes" y regenera las miniaturas.
Error 500 después de instalar un módulo
Normalmente es por permisos en modules/ o override/. Dale 755 a toda la carpeta modules/ y 644 a los archivos dentro. Si el módulo necesita escribir, temporalmente dale 777 a su carpeta específica.
La tienda no genera caché
Afecta a cache/. Dale 777 a toda la carpeta cache/. Luego, desde el back office, limpia la caché de Smarty y la de la tienda.
Cómo prevenir futuros problemas de permisos
Una vez que todo funcione, sigue estos consejos para evitar que vuelva a pasar:
1. Usa un hosting compatible con PrestaShop
Aunque el hosting sea de "WordPress", asegúrate de que el servidor permita cambiar permisos fácilmente. Los hostings con cPanel, DirectAdmin o Syspanel suelen ser flexibles.
2. No dejes permisos 777 permanentemente
Es un riesgo de seguridad. Si después de solucionar el problema, bajas los permisos a 755 o 775 y la tienda sigue funcionando, mejor. Si no, déjalos en 775.
3. Actualiza PrestaShop y los módulos
Las versiones antiguas pueden tener bugs que generan errores de permisos. Mantén todo actualizado.
4. Usa un plugin de seguridad
Algunos módulos de PrestaShop (como "Security" de PrestaShop Addons) pueden ayudarte a monitorear los permisos.
5. Programa tareas de mantenimiento
Cada cierto tiempo, revisa los permisos de las carpetas críticas. Puedes hacerlo manualmente o con un script.
[INFO] Si tu hosting usa Syspanel (HestiaCP), recuerda que el puerto de acceso es el 2106. Allí también puedes programar tareas cron para verificar permisos.
Preguntas frecuentes (FAQ)
¿Puedo instalar PrestaShop en un hosting de WordPress?
Sí, siempre que el hosting soporte PHP 7.4 o superior y MySQL 5.6+. La mayoría de los hostings de WordPress lo hacen, pero tendrás que ajustar los permisos manualmente.
¿Por qué PrestaShop da error de permisos y WordPress no?
Porque WordPress es más tolerante con permisos relajados. PrestaShop necesita escritura en muchas carpetas para funcionar correctamente, especialmente para imágenes y caché.
¿Es seguro dar permisos 777 a las carpetas?
No es recomendable dejarlo así para siempre. Es mejor darlos temporalmente para solucionar el problema y luego bajarlos a 775 o 755.
¿Qué hago si después de cambiar permisos sigue el error?
Revisa el propietario de los archivos. Si es nobody o www-data, pide a tu hosting que lo cambie a tu usuario FTP. También verifica que no haya un archivo .htaccess que esté bloqueando el acceso.
¿Cómo accedo a Syspanel (HestiaCP) para cambiar permisos?
Accede a https://tudominio.com:2106 con tus credenciales de hosting. Luego ve a "Administrador de archivos" y navega a la carpeta de PrestaShop.
¿Los errores de archivos pueden romper mi tienda?
Sí, pueden impedir que se generen imágenes, que se instalen módulos o incluso que la tienda cargue. Es importante solucionarlos rápido.
Conclusión
Los problemas de permisos PrestaShop en WordPress hosting son frustrantes pero totalmente solucionables. Con esta guía, ya sabes cómo identificar los síntomas, cambiar los permisos de forma masiva, dar permisos especiales a carpetas críticas y prevenir que vuelva a ocurrir.
Recuerda que la clave está en dar permisos 755 a carpetas, 644 a archivos, y 777 temporalmente a las carpetas de escritura intensiva (img, upload, cache, config). Si usas Syspanel (HestiaCP), ya sabes que el puerto es el 2106.
Si después de todo sigues teniendo problemas, no dudes en contactar al soporte de tu hosting. Diles que necesitas ayuda con los permisos de archivos de PrestaShop y que el propietario de los archivos sea tu usuario FTP.
¡Tu tienda online volverá a funcionar perfectamente!
[TIP FINAL] Guarda esta guía en tus favoritos. Cada vez que actualices PrestaShop o instales un módulo nuevo, es posible que necesites repetir algún paso. ¡Buena suerte con tu ecommerce!
