Cómo configurar el archivo settings.inc.php en PrestaShop (Plesk y DirectAdmin)
¿Qué es el archivo settings.inc.php y por qué es tan importante?
Si alguna vez has visto un error como "Error de conexión con la base de datos" o "PrestaShop no puede conectarse a MySQL", el culpable casi siempre es el archivo settings.inc.php. Este pequeño pero poderoso archivo es el corazón de la configuración técnica de tu tienda. Contiene las credenciales de acceso a tu base de datos, la clave secreta de cifrado y la URL de tu tienda.
Piénsalo como la llave maestra de tu casa: si la pierdes o la dañas, no podrás entrar. En el mundo PrestaShop, si este archivo se corrompe, se mueve de carpeta o se edita con errores, tu tienda se cae por completo.
En este artículo te explicaré paso a paso cómo configurar settings.inc.php en dos de los paneles de control más usados en hosting: Plesk y DirectAdmin. También veremos los errores más comunes relacionados con la base de datos y cómo solucionarlos.
¿Dónde se encuentra el archivo settings.inc.php?
Antes de tocar nada, necesitas saber dónde vive este archivo. La ruta típica es:
/public_html/config/settings.inc.php
En algunos servidores con carpetas personalizadas, la ruta puede variar. Por ejemplo:
/var/www/vhosts/tudominio.com/httpdocs/config/settings.inc.php
[TIP] Si no encuentras la carpeta
config, activa la opción de "Mostrar archivos ocultos" en tu administrador de archivos. A veces el archivo se oculta por seguridad.
Configurar settings.inc.php en Plesk
Plesk es uno de los paneles más intuitivos para gestionar hosting. Vamos a ver cómo editar el archivo y qué valores debes cambiar.
Paso 1: Accede al Administrador de archivos
- Entra a Plesk (normalmente en
https://tudominio.com:8443). - En el panel izquierdo, busca la sección "Archivos" o "File Manager".
- Navega hasta la carpeta
httpdocs(que equivale apublic_html). - Entra en la carpeta
config. - Localiza el archivo
settings.inc.php.
Paso 2: Haz una copia de seguridad
Esto es obligatorio. Antes de editar cualquier cosa, haz clic derecho sobre el archivo y selecciona "Copiar" o "Descargar". Guárdalo en tu ordenador. Si algo sale mal, podrás restaurarlo.
Paso 3: Edita el archivo
Haz clic en el archivo y selecciona "Editar en el editor de texto". Verás un código similar a este:
<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_base_de_datos');
define('_DB_USER_', 'tu_usuario');
define('_DB_PASSWD_', 'tu_contraseña');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '0');
define('_COOKIE_KEY_', 'cadena_aleatoria_larga');
define('_COOKIE_IV_', 'otra_cadena');
define('_PS_CREATION_DATE_', '2023-01-01');
define('_RIJNDAEL_KEY_', 'clave_cifrado');
define('_RIJNDAEL_IV_', 'iv_cifrado');
define('_PS_VERSION_', '1.6.1.24');
Los campos críticos son:
_DB_SERVER_: normalmente eslocalhost, pero a veces el hosting usa un servidor remoto comomysql.tudominio.com. Si no estás seguro, consulta el panel de Plesk en "Bases de datos"._DB_NAME_: el nombre exacto de tu base de datos._DB_USER_: el usuario que tiene permisos sobre esa base._DB_PASSWD_: la contraseña de ese usuario._DB_PREFIX_: el prefijo de las tablas. Si instalaste con el prefijops_, déjalo así. Si usaste otro, cámbialo.
Paso 4: Guarda y comprueba
Guarda el archivo y ve a tu tienda. Si todo está bien, cargará sin problemas. Si no, revisa que no haya espacios en blanco al principio o al final del archivo, y que las comillas sean simples, no dobles.
[WARNING] Nunca uses el Bloc de notas de Windows para editar este archivo, porque añade caracteres invisibles que rompen el código. Usa el editor de Plesk o Notepad++.
Configurar settings.inc.php en DirectAdmin
DirectAdmin es otro panel muy popular, especialmente en servidores dedicados y VPS. El proceso es parecido, pero con algunas diferencias en la interfaz.
Paso 1: Entra al Administrador de archivos
- Accede a DirectAdmin (normalmente en
https://tudominio.com:2222). - Busca el icono "File Manager" en el panel principal.
- Navega a
domains/tudominio.com/public_html/config/.
Paso 2: Descarga una copia de seguridad
Igual que en Plesk, haz clic derecho sobre settings.inc.php y descárgalo. Es tu seguro de vida.
Paso 3: Edita con cuidado
Haz clic en el archivo y selecciona "Edit". DirectAdmin usa un editor simple, pero funcional. Cambia los mismos campos que mencionamos antes: _DB_SERVER_, _DB_NAME_, _DB_USER_, _DB_PASSWD_ y _DB_PREFIX_.
Paso 4: Verifica los permisos
En DirectAdmin, es crucial que el archivo tenga permisos 644. Si ves que está en 666 o 777, cámbialo. Haz clic derecho sobre el archivo → "Change Permissions" → marca 644.
[INFO] Los permisos
644significan que el propietario puede leer y escribir, y el resto solo leer. Esto es lo más seguro para un archivo de configuración.
Errores comunes con la base de datos y cómo solucionarlos
Aquí tienes los fallos más típicos que verás relacionados con settings.inc.php y la base de datos, junto con sus soluciones.
"Error de conexión con la base de datos" en la instalación
Este error aparece cuando PrestaShop no puede conectarse a MySQL. Las causas más frecuentes son:
- Credenciales incorrectas: revisa que el usuario, la contraseña y el nombre de la base sean exactos. Un espacio extra al final rompe todo.
- El servidor de base de datos no es localhost: algunos hostings usan un servidor remoto. En Plesk lo encuentras en "Bases de datos" y en DirectAdmin en "MySQL Management".
- El usuario no tiene permisos: en Plesk, asegúrate de que el usuario esté asignado a la base de datos. En DirectAdmin, usa el botón "Add User to Database".
"Table 'ps_shop_url' doesn't exist"
Esto significa que el prefijo de las tablas es incorrecto. Si tu base de datos usa prestashop_ en lugar de ps_, debes cambiar _DB_PREFIX_ en el archivo.
define('_DB_PREFIX_', 'prestashop_');
"Access denied for user"
El usuario existe, pero no tiene permisos para esa base de datos. Ve al panel de control y verifica que el usuario esté vinculado a la base. En DirectAdmin, esto se hace desde "MySQL Management" → selecciona la base → "Add User to Database".
"Unknown database"
El nombre de la base de datos está mal escrito. Revisa si hay mayúsculas, guiones bajos o puntos. Copia y pega directamente desde el panel de control.
Cómo regenerar la clave de cifrado (COOKIE_KEY)
Si sospechas que alguien más tiene acceso a tu settings.inc.php, o si cambiaste de servidor, es buena idea regenerar las claves de cifrado. Esto invalida las sesiones antiguas y protege tu tienda.
Método manual
- Ve a https://prestashop.com/security y genera una nueva clave.
- Sustituye los valores de
_COOKIE_KEY_,_COOKIE_IV_,_RIJNDAEL_KEY_y_RIJNDAEL_IV_en el archivo. - Guarda y prueba.
[WARNING] Al cambiar estas claves, todas las sesiones de clientes y administradores se cerrarán. Es normal. Los usuarios tendrán que volver a iniciar sesión.
Preguntas frecuentes (FAQ)
¿Puedo usar el mismo settings.inc.php en dos servidores?
No. Cada servidor tiene credenciales de base de datos diferentes. Además, las claves de cifrado deben ser únicas por instalación. Compartir este archivo entre servidores es un riesgo de seguridad enorme.
¿Qué hago si no tengo acceso al archivo por FTP?
Usa el administrador de archivos de Plesk o DirectAdmin. Si ni siquiera puedes entrar ahí, contacta con tu proveedor de hosting y pídeles que restauren el archivo desde una copia de seguridad.
¿Por qué mi tienda da error 500 después de editar el archivo?
Casi siempre es por un error de sintaxis. Revisa que no haya espacios en blanco antes de <?php y que todas las líneas terminen con ;. También verifica que las comillas sean simples y no dobles.
¿Puedo cambiar el prefijo de las tablas sin perder datos?
Sí, pero no solo editando el archivo. Tendrás que renombrar todas las tablas en phpMyAdmin. Es un proceso delicado, así que haz una copia de seguridad completa antes.
Consejos de seguridad para settings.inc.php
Este archivo contiene las llaves de tu reino. Protégelo:
- No lo compartas por email, foros o tickets de soporte sin enmascarar las contraseñas.
- Cambia las contraseñas de la base de datos periódicamente desde Plesk o DirectAdmin.
- Restringe el acceso por IP si tu hosting lo permite.
- Mantén PrestaShop actualizado porque las versiones antiguas tienen vulnerabilidades conocidas.
[TIP] Si usas un panel como Syspanel (antes conocido como HestiaCP), recuerda que el acceso al panel se hace por el puerto 2106. El proceso de edición es similar: entra al File Manager, busca
public_html/config/settings.inc.phpy edita con cuidado.
Resumen final
Configurar settings.inc.php no es difícil si sabes qué estás mirando. Los pasos básicos son:
- Haz una copia de seguridad.
- Edita los campos
_DB_SERVER_,_DB_NAME_,DB_USER_,_DB_PASSWD_y_DB_PREFIX_. - Guarda y comprueba.
- Si falla, revisa permisos y sintaxis.
Tanto en Plesk como en DirectAdmin, el proceso es casi idéntico. La diferencia está en la interfaz, pero la lógica es la misma.
Recuerda que los errores de base de datos en PrestaShop casi siempre se resuelven con paciencia y revisando los detalles. Un carácter mal puesto puede ser la diferencia entre una tienda funcionando y un error 500.
Si después de todo esto sigues con problemas, no dudes en contactar con tu proveedor de hosting. Ellos tienen acceso a los logs del servidor y pueden ver exactamente qué está fallando. Pero ahora ya tienes las herramientas para resolverlo tú mismo en la mayoría de los casos. ¡Manos a la obra!
