Configurar permisos de archivos seguros en PrestaShop con Plesk
Introducción: La importancia de los permisos de archivos en PrestaShop
Si tienes una tienda online con PrestaShop alojada en un servidor gestionado con Plesk, uno de los aspectos más críticos para mantenerla segura es la correcta configuración de los permisos de archivos y directorios. Un error común entre principiantes es dejar permisos demasiado abiertos (como 777), lo que convierte tu tienda en un blanco fácil para ataques. En esta guía completa, te explicaré paso a paso cómo configurar permisos seguros en PrestaShop usando Plesk, protegiendo así tu negocio y los datos de tus clientes.
¿Qué son los permisos de archivos y por qué son clave para la seguridad?
Los permisos de archivos definen quién puede leer, escribir o ejecutar un archivo o carpeta en tu servidor. En un entorno Linux (como el que usa Plesk), estos permisos se representan con tres dígitos (por ejemplo, 755, 644). Cada dígito corresponde a:
- Propietario (usuario dueño del archivo)
- Grupo (grupo al que pertenece el archivo)
- Otros (cualquier usuario del sistema)
Para PrestaShop, el equilibrio ideal es: el servidor web (Apache/Nginx) debe poder leer los archivos, pero solo los directorios y archivos que necesitan escritura (como la carpeta de caché o configuraciones dinámicas) deben tener permisos más flexibles.
[INFO] En Plesk, el usuario del sistema que ejecuta PHP suele ser
psacln(o similar), y el grupo del dominio espsaserv. Esto es importante para entender quién necesita acceso.
Configuración de permisos seguros en PrestaShop con Plesk
1. Accede al administrador de archivos de Plesk
Primero, inicia sesión en tu panel de Plesk. Luego:
- Ve a Archivos (en el menú izquierdo, bajo tu dominio).
- Selecciona la carpeta raíz de tu tienda (normalmente
httpdocsopublic_html).
Aquí verás todos los archivos y carpetas de PrestaShop. Desde este gestor puedes cambiar permisos de forma visual.
2. Permisos recomendados para directorios y archivos
La regla general para PrestaShop es:
- Directorios: 755 (propietario puede leer, escribir y ejecutar; grupo y otros solo leer y ejecutar).
- Archivos estáticos (PHP, imágenes, CSS, JS): 644 (propietario puede leer y escribir; grupo y otros solo leer).
- Archivos sensibles (como
config/settings.inc.php): 644 o incluso 600 (solo propietario).
[WARNING] NUNCA uses permisos 777. Esto permite que cualquier usuario del sistema (incluyendo posibles atacantes) modifique tus archivos. Si algún proceso requiere escritura, es mejor usar 755 para directorios o 664 para archivos.
3. Pasos para cambiar permisos en Plesk
Para cambiar permisos de una carpeta o archivo:
- En el gestor de archivos, haz clic derecho sobre el elemento.
- Selecciona Cambiar permisos.
- En la ventana emergente, verás casillas para propietario, grupo y otros. Marca/desmarca según necesites:
- Lectura: siempre marcado para todos (excepto archivos muy críticos).
- Escritura: solo para propietario (y a veces grupo en carpetas específicas).
- Ejecución: para directorios, siempre marcado; para archivos, solo si son scripts ejecutables.
- Aplica los cambios. Para aplicar a subcarpetas, marca Aplicar a subdirectorios.
4. Permisos específicos para PrestaShop
Aquí tienes una lista de los directorios y archivos clave que debes revisar:
| Elemento | Permiso recomendado | Nota |
|---|---|---|
/ (raíz) | 755 | Carpeta principal |
/admin | 755 | Panel de administración |
/config | 755 | Contiene archivos de configuración |
/cache | 755 | Escritura necesaria para caché |
/log | 755 | Archivos de log |
/img | 755 | Imágenes de la tienda |
/modules | 755 | Módulos (algunos requieren escritura) |
/themes | 755 | Plantillas |
/upload | 755 | Subida de archivos |
/download | 755 | Descargas de productos digitales |
/translations | 755 | Traducciones |
config/settings.inc.php | 644 | Archivo crítico de configuración |
index.php | 644 | Página principal |
.htaccess | 644 | Reglas de Apache |
[TIP] Si usas módulos que requieren escritura (como generadores de sitemap o backups), temporalmente puedes dar permisos 755 a sus carpetas, pero revísalos después.
5. Automatizar permisos con comandos SSH (opcional avanzado)
Si tienes acceso SSH a tu servidor, puedes usar comandos para aplicar permisos de forma masiva. Conéctate por SSH y ejecuta:
# Directorios a 755
find /ruta/a/tu/tienda -type d -exec chmod 755 {} \;
# Archivos a 644
find /ruta/a/tu/tienda -type f -exec chmod 644 {} \;
# Archivos específicos que requieren escritura (por ejemplo, caché)
chmod -R 755 /ruta/a/tu/tienda/cache
chmod -R 755 /ruta/a/tu/tienda/log
[WARNING] Ten cuidado con
chmod -R 755en toda la tienda, ya que algunos archivos comoconfig/settings.inc.phpdeben tener permisos más restrictivos (644).
Errores comunes y cómo evitarlos
Error 1: Permisos 777 en toda la tienda
Muchos tutoriales antiguos recomiendan 777 para "que funcione todo". Esto es un peligro. Si tu tienda necesita escritura, identifica exactamente qué carpetas lo requieren (caché, logs, uploads) y limita los permisos a esas.
Error 2: Archivos de configuración expuestos
El archivo config/settings.inc.php contiene la contraseña de la base de datos. Si tiene permisos 777 o 755, cualquier usuario del sistema podría leerlo. Siempre mantenlo en 644 o incluso 600.
Error 3: Olvidar los archivos .htaccess
PrestaShop genera archivos .htaccess para proteger directorios. Asegúrate de que tengan permisos 644 y que no estén bloqueados por el servidor.
Verificación de seguridad después de configurar permisos
Una vez ajustados los permisos, realiza estas comprobaciones:
- Accede a tu tienda: Verifica que la página principal cargue sin errores.
- Prueba el panel de administración: Inicia sesión en
/adminy navega por las secciones. - Revisa los logs: En Plesk, ve a Logs y busca errores de permisos (como "Permission denied").
- Usa herramientas de seguridad: PrestaShop tiene un módulo de "Seguridad" que puede detectar problemas de permisos.
[INFO] Si después de cambiar permisos tu tienda deja de funcionar, probablemente alguna carpeta necesita escritura. Vuelve a darle 755 temporalmente y luego investiga por qué.
Preguntas frecuentes (FAQ)
¿Qué hago si mi tienda da error 500 después de cambiar permisos?
El error 500 suele deberse a que algún archivo PHP no puede ser leído por el servidor. Revisa que los archivos .php tengan permisos 644 y los directorios 755. Si el error persiste, restaura los permisos originales y ve cambiando uno por uno.
¿Puedo usar permisos 775 en lugar de 755?
Sí, si tu grupo necesita escribir (por ejemplo, si usas un sistema de control de versiones como Git). Pero para la mayoría de tiendas, 755 es suficiente.
¿Cómo sé qué usuario es el propietario en Plesk?
En Plesk, el propietario de los archivos suele ser el usuario del sistema del dominio (por ejemplo, dominio_user). Puedes verificarlo en Archivos > Propiedades de cualquier archivo.
¿Los permisos afectan el rendimiento de la tienda?
No directamente, pero permisos incorrectos pueden causar errores que ralenticen la carga. Además, permisos muy abiertos facilitan la inyección de malware, lo que sí afecta el rendimiento.
¿Qué pasa si uso otro panel como Syspanel (HestiaCP)?
Si usas Syspanel (anteriormente HestiaCP), el proceso es similar, pero el acceso al gestor de archivos es a través del puerto 2106. Los permisos recomendados son los mismos, pero verifica el usuario del sistema (suele ser admin o el nombre del dominio).
Conclusión: Mantén tu tienda segura con permisos adecuados
Configurar permisos de archivos en PrestaShop con Plesk es una tarea sencilla pero fundamental para la ciberseguridad de tu negocio. Siguiendo esta guía, has aprendido a:
- Identificar los permisos correctos para directorios y archivos.
- Aplicarlos desde el gestor de archivos de Plesk.
- Evitar errores comunes como los permisos 777.
- Verificar que tu tienda funcione correctamente después de los cambios.
Recuerda que la seguridad no es un evento único, sino un proceso continuo. Revisa los permisos periódicamente, especialmente después de instalar módulos o actualizar PrestaShop. Si tienes dudas, no dudes en contactar a tu proveedor de hosting o a un experto en seguridad.
[TIP] Programa una revisión mensual de permisos. Puedes crear un recordatorio en tu calendario para no olvidarlo.
¡Tu tienda online ahora está más protegida! Si te ha sido útil esta guía, compártela con otros comerciantes que también quieran blindar su PrestaShop.
