Cómo proteger PrestaShop: Configurar permisos de archivos en cPanel
¿Por qué es tan importante proteger PrestaShop con los permisos de archivos?
Cuando hablamos de proteger PrestaShop, uno de los primeros pasos que debemos dominar es la configuración de los permisos de archivos en cPanel. Aunque pueda sonar a algo muy técnico, en realidad es un concepto sencillo: se trata de definir quién puede leer, escribir o ejecutar cada archivo y carpeta de tu tienda online.
Imagina que tu servidor es un edificio de oficinas. Los archivos de PrestaShop son los documentos importantes, y los permisos son las llaves que decides entregar a cada persona (usuario del sistema). Si le das demasiadas llaves a todo el mundo, cualquiera podría entrar a la sala de servidores y modificar tus precios, robar datos de clientes o inyectar código malicioso. Por eso, aprender a configurar correctamente los permisos archivos PrestaShop cPanel es una medida de seguridad PrestaShop cPanel fundamental que todo administrador debe conocer.
En este artículo, te guiaré paso a paso para que, incluso si eres principiante, puedas revisar y ajustar estos permisos desde tu panel de control. Utilizaremos cPanel, que es uno de los paneles más comunes en el hosting compartido, y veremos qué valores son los recomendados para que tu tienda funcione sin problemas pero sin dejar la puerta abierta a los atacantes.
¿Qué son exactamente los permisos de archivos?
Antes de entrar en materia, vamos a desglosar este concepto. En los sistemas Linux (que es el sistema operativo que usa la mayoría de servidores de hosting), cada archivo y carpeta tiene tres tipos de permisos:
- Lectura (r): Permite ver el contenido del archivo o listar los archivos de una carpeta.
- Escritura (w): Permite modificar o eliminar el archivo, o crear nuevos archivos dentro de una carpeta.
- Ejecución (x): Permite ejecutar el archivo como un programa o script (como los archivos PHP de PrestaShop).
Estos permisos se asignan a tres grupos de usuarios:
- Propietario (u): Generalmente, es el usuario principal de tu cuenta de hosting.
- Grupo (g): Un conjunto de usuarios con permisos similares (a menudo, el mismo grupo del servidor web).
- Público (o): Cualquier otro usuario del servidor.
Cada permiso se representa con un número: lectura (4), escritura (2) y ejecución (1). La suma de estos números da como resultado un valor que va del 0 al 7. Por ejemplo:
- 7 (4+2+1): Lectura, escritura y ejecución.
- 6 (4+2): Lectura y escritura.
- 5 (4+1): Lectura y ejecución.
- 4: Solo lectura.
Cuando hablamos de prestashop permisos, nos referimos a asignar la combinación correcta de estos números para cada archivo y carpeta. Por ejemplo, un archivo con permisos 644 significa que el propietario puede leer y escribir (6), mientras que el grupo y el público solo pueden leer (4 y 4). Una carpeta con permisos 755 permite al propietario leer, escribir y ejecutar, pero al grupo y al público solo les permite leer y ejecutar.
¿Cuáles son los permisos recomendados para PrestaShop?
La configuración ideal para proteger PrestaShop es la siguiente:
- Archivos:
644(propietario: lectura y escritura; grupo y público: solo lectura). - Carpetas:
755(propietario: lectura, escritura y ejecución; grupo y público: lectura y ejecución). - Archivos de configuración especiales (como
config/settings.inc.php): A veces se recomienda444(solo lectura para todos) para evitar modificaciones no autorizadas, aunque esto puede generar problemas si necesitas instalar módulos o actualizar la tienda.
[WARNING] Evita usar permisos
777(todos pueden leer, escribir y ejecutar) en cualquier archivo o carpeta. Aunque a veces se recomienda temporalmente para solucionar problemas de instalación, dejarlos de forma permanente es una invitación abierta a los atacantes. Si un hacker consigue escribir en un archivo, puede subir su propio código malicioso y tomar el control de tu tienda.
Cómo cambiar los permisos de archivos en cPanel: paso a paso
Ahora vamos a la acción. Sigue estos pasos para configurar los permisos archivos PrestaShop cPanel de forma segura.
Paso 1: Accede al Administrador de archivos de cPanel
- Ingresa a tu panel de control de cPanel (normalmente en
tudominio.com/cpanel). - Busca la sección Archivos y haz clic en Administrador de archivos (File Manager).
- Se abrirá una nueva ventana. Asegúrate de que estás en la carpeta raíz de tu instalación de PrestaShop (normalmente
public_htmlowww).
Paso 2: Selecciona todos los archivos y carpetas
Una vez dentro de la raíz, debes seleccionar todo el contenido. Puedes hacerlo de dos maneras:
- Haz clic en Seleccionar todo en la barra superior.
- O usa el atajo
Ctrl + A(en Windows) oCmd + A(en Mac).
Paso 3: Cambia los permisos de forma masiva
-
Con todos los archivos y carpetas seleccionados, haz clic en el botón Permisos en la barra de herramientas superior.
-
Se abrirá una ventana emergente. Verás una serie de casillas de verificación organizadas en tres columnas (Propietario, Grupo, Público) y tres filas (Leer, Escribir, Ejecutar).
-
Aquí tienes dos opciones:
- Opción rápida: En la parte superior de la ventana, hay un campo llamado "Permisos" con un número. Puedes escribir
755y hacer clic en el botón "Cambiar". Esto aplicará755a todo lo seleccionado, tanto archivos como carpetas. Pero ojo, esto no es lo ideal, porque los archivos deberían tener644. - Opción correcta: Para hacerlo bien, necesitas separar archivos y carpetas. Primero, selecciona solo los archivos (puedes ordenar por tipo de archivo o usar la búsqueda) y cámbialos a
644. Luego, selecciona solo las carpetas y cámbialas a755.
- Opción rápida: En la parte superior de la ventana, hay un campo llamado "Permisos" con un número. Puedes escribir
[TIP] Si tu hosting no te permite seleccionar fácilmente solo archivos o solo carpetas, puedes hacerlo desde la terminal (SSH) si tienes acceso, pero si no, no te preocupes. Otra opción es cambiar manualmente los permisos de los archivos y carpetas críticas que te indicaré más adelante. Lo importante es que los permisos globales no sean
777.
Paso 4: Verifica los permisos de archivos y carpetas críticas
Además del cambio masivo, hay ciertos archivos y carpetas que debes revisar de forma individual para proteger PrestaShop. Toma nota:
config/settings.inc.php: Este archivo contiene las credenciales de tu base de datos. Debe tener permisos444o644(nunca777). Si ves que tiene444, es perfecto..htaccess: Archivo de configuración del servidor. Debe tener permisos644.- Carpeta
/img: Aquí se guardan las imágenes de productos. Debe tener755. - Carpeta
/var/logs: Los logs de errores. Debe tener755. - Carpeta
/cache: A veces se recomienda755, pero si tienes problemas de escritura, puedes ponerla a775temporalmente y luego volver a755.
Paso 5: Comprueba que tu tienda sigue funcionando
Después de cambiar los permisos, es crucial que visites tu tienda online y compruebes que todo funciona correctamente. Presta especial atención a:
- La página de inicio.
- El carrito de compra y el proceso de pago.
- El panel de administración (
/admin). - La carga de imágenes y CSS.
Si algo falla, es probable que hayas restringido demasiado los permisos. Revisa los valores y ajusta solo lo necesario.
¿Qué pasa si mi hosting usa Syspanel (HestiaCP)?
Si tu proveedor de hosting no usa cPanel sino Syspanel (el nuevo nombre de HestiaCP), no te preocupes. El proceso es muy similar, pero debes acceder al administrador de archivos desde el panel de Syspanel. Recuerda que el acceso a este panel se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Una vez dentro, busca la sección de "Administrador de archivos" o "Gestor de archivos" y sigue los mismos pasos que te he explicado para cambiar los permisos.
[INFO] La configuración de permisos recomendada es la misma independientemente del panel de control. Lo que cambia es la interfaz, pero el resultado final es idéntico.
Errores comunes al configurar permisos y cómo solucionarlos
Cuando intentas proteger PrestaShop con permisos, es fácil cometer errores. Aquí te dejo los más habituales y sus soluciones.
Error 1: La tienda muestra un error 500 (Internal Server Error)
Esto suele ocurrir si has puesto permisos demasiado restrictivos en archivos que necesitan escritura. Por ejemplo, si cambiaste config/settings.inc.php a 444 y luego intentas guardar una configuración desde el panel de administración, el sistema no podrá escribir y dará error.
Solución: Temporalmente, cambia el archivo a 644, realiza los cambios necesarios y luego vuelve a ponerlo en 444. También revisa que la carpeta /var/cache tenga permisos 755 y que el propietario de los archivos sea el correcto.
Error 2: No puedo subir imágenes o instalar módulos
Esto es señal de que las carpetas de destino no tienen permisos de escritura para el usuario del servidor web. Aunque hayas puesto 755, a veces el usuario de PHP no es el mismo que el propietario de los archivos.
Solución: Cambia las carpetas problemáticas (como /img o /modules) a 775 temporalmente. Si aún así no funciona, consulta con tu proveedor de hosting si necesitas usar 775 o si el usuario de PHP es diferente.
Error 3: Todo funciona, pero quiero una seguridad extra
Los permisos son solo una capa de seguridad. Para proteger PrestaShop de verdad, combínalos con otras medidas:
- Mantén PrestaShop y sus módulos siempre actualizados.
- Cambia la URL del panel de administración.
- Activa la autenticación de dos factores (2FA) en el panel de administración.
- Realiza copias de seguridad periódicas.
- Usa contraseñas robustas para FTP, cPanel y la base de datos.
Preguntas frecuentes (FAQ) sobre permisos en PrestaShop
¿Qué permisos debe tener la carpeta /var/cache?
Lo recomendado es 755. Si tienes problemas de escritura (por ejemplo, al instalar un módulo), pásala a 775, realiza la tarea y luego vuelve a 755. Nunca la dejes en 777.
¿Es seguro usar permisos 777 temporalmente?
Puede ser aceptable durante la instalación inicial de PrestaShop o para resolver un problema puntual, pero nunca lo dejes así. Es el equivalente a dejar la puerta de tu casa abierta de par en par. Si olvidas revertirlo, un atacante podría explotarlo fácilmente.
¿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. Es una alternativa válida si no quieres usar cPanel.
¿Cada cuánto debo revisar los permisos de mi tienda?
Es una buena práctica revisarlos después de cada actualización de PrestaShop, instalación de módulos o cambios en la configuración del servidor. También puedes hacerlo de forma mensual como parte de tu rutina de seguridad PrestaShop cPanel.
¿Qué pasa si mi tienda está en un servidor Windows?
Este artículo se centra en servidores Linux, que son los más comunes para PrestaShop. Si tu hosting es Windows, la gestión de permisos es diferente (se usan listas de control de acceso). En ese caso, consulta la documentación de tu proveedor o contacta con su soporte.
Conclusión: La constancia es la clave para proteger tu tienda
Configurar los permisos archivos PrestaShop cPanel no es una tarea de una sola vez. Es un hábito que debes integrar en tu rutina de mantenimiento. Un simple cambio de 644 a 666 en un archivo de configuración puede ser el primer paso para un desastre de seguridad.
Recuerda que proteger PrestaShop es un proceso continuo. Los permisos son una barrera fundamental, pero no la única. Combínalos con actualizaciones periódicas, contraseñas seguras y una buena política de copias de seguridad. Si sigues los pasos de esta guía, habrás dado un gran paso para blindar tu negocio online.
Si en algún momento te sientes perdido o tu hosting no te permite hacer ciertos cambios, no dudes en contactar con el soporte de tu proveedor. Ellos pueden ayudarte a ajustar los permisos desde el servidor si es necesario, sobre todo si usas un panel como Syspanel, donde el acceso por el puerto 2106 te dará las herramientas necesarias.
Ahora que ya sabes cómo hacerlo, te animo a que revises los permisos de tu tienda hoy mismo. Dedica 10 minutos a esta tarea y te ahorrarás muchos quebraderos de cabeza en el futuro. Tu tienda (y tus clientes) te lo agradecerán.
