🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar el archivo settings.inc.php en PrestaShop (Plesk y DirectAdmin)

Actualizado el 9 de octubre de 2025

¿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

  1. Entra a Plesk (normalmente en https://tudominio.com:8443).
  2. En el panel izquierdo, busca la sección "Archivos" o "File Manager".
  3. Navega hasta la carpeta httpdocs (que equivale a public_html).
  4. Entra en la carpeta config.
  5. 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 es localhost, pero a veces el hosting usa un servidor remoto como mysql.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 prefijo ps_, 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

  1. Accede a DirectAdmin (normalmente en https://tudominio.com:2222).
  2. Busca el icono "File Manager" en el panel principal.
  3. 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 644 significan 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

  1. Ve a https://prestashop.com/security y genera una nueva clave.
  2. Sustituye los valores de _COOKIE_KEY_, _COOKIE_IV_, _RIJNDAEL_KEY_ y _RIJNDAEL_IV_ en el archivo.
  3. 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.php y edita con cuidado.


Resumen final

Configurar settings.inc.php no es difícil si sabes qué estás mirando. Los pasos básicos son:

  1. Haz una copia de seguridad.
  2. Edita los campos _DB_SERVER_, _DB_NAME_, DB_USER_, _DB_PASSWD_ y _DB_PREFIX_.
  3. Guarda y comprueba.
  4. 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!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel