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

Cómo configurar el archivo settings.inc.php en PrestaShop para DirectAdmin

Actualizado el 22 de febrero de 2026

Introducción: ¿Qué es settings.inc.php y por qué es tan importante?

Si estás leyendo esto, probablemente te has encontrado con un error de conexión a la base de datos en tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes al migrar o instalar la plataforma, y la solución suele estar en un archivo muy concreto: settings.inc.php.

Este archivo es el corazón de la configuración técnica de tu PrestaShop. Contiene los datos de acceso a tu base de datos MySQL, las claves secretas, la URL de tu tienda y otros parámetros críticos para que la plataforma funcione. Sin él, PrestaShop no puede conectarse a la base de datos y, por tanto, no puede mostrar tu catálogo.

En este artículo, te guiaré paso a paso para configurar el archivo settings.inc.php en un entorno DirectAdmin, uno de los paneles de control de hosting más utilizados. A lo largo del camino, veremos los errores más comunes de base de datos en PrestaShop y cómo solucionarlos.

¿Dónde se encuentra el archivo settings.inc.php?

Antes de empezar a editarlo, necesitas saber dónde está. En una instalación típica de PrestaShop, la ruta es la siguiente:

/public_html/config/settings.inc.php

En DirectAdmin, la estructura suele ser:

  • public_html: es la carpeta raíz de tu dominio principal.
  • config: es la subcarpeta dentro de PrestaShop donde se guarda este archivo.

Si tu tienda está en un subdirectorio (por ejemplo, public_html/tienda), la ruta sería:

/public_html/tienda/config/settings.inc.php

[INFO] Si no ves el archivo, asegúrate de tener activada la opción de "mostrar archivos ocultos" en tu gestor de archivos. En DirectAdmin, puedes activarlo haciendo clic en el icono de "Configuración" dentro del Administrador de Archivos.

Requisitos previos antes de editar

Para configurar correctamente settings.inc.php, necesitarás tener a mano los siguientes datos:

  1. Nombre de la base de datos (ejemplo: usuario_prestashop).
  2. Usuario de la base de datos (ejemplo: usuario_admin).
  3. Contraseña del usuario de la base de datos.
  4. Host de la base de datos (normalmente localhost o 127.0.0.1).
  5. Prefijo de las tablas (por defecto es ps_, pero puede variar).

Si no tienes estos datos, puedes obtenerlos desde tu panel de DirectAdmin. Vamos a ver cómo.

Cómo crear una base de datos en DirectAdmin

Si aún no tienes la base de datos creada, sigue estos pasos:

  1. Accede a tu panel de DirectAdmin.
  2. Busca la sección "MySQL Management" o "Gestión de MySQL".
  3. Haz clic en "Create New Database".
  4. Rellena el nombre de la base de datos, el usuario y la contraseña.
  5. Haz clic en "Create".

[TIP] En DirectAdmin, el nombre de la base de datos y del usuario suelen llevar un prefijo con tu nombre de usuario principal. Por ejemplo, si tu usuario es cliente1, la base de datos podría llamarse cliente1_tienda.

Paso a paso: Configurar settings.inc.php en DirectAdmin

Ahora que tienes todos los datos, vamos a editar el archivo. Puedes hacerlo de dos maneras: desde el Administrador de Archivos de DirectAdmin o mediante FTP. Aquí te explico ambas.

Opción 1: Desde el Administrador de Archivos de DirectAdmin

  1. Inicia sesión en tu panel de DirectAdmin.
  2. Ve a "File Manager" o "Administrador de Archivos".
  3. Navega hasta la carpeta config dentro de tu instalación de PrestaShop.
  4. Busca el archivo settings.inc.php y haz clic derecho sobre él.
  5. Selecciona "Edit" o "Editar".
  6. Se abrirá un editor de texto. Ahora verás el contenido del archivo.

Opción 2: Mediante FTP

Si prefieres usar un cliente FTP como FileZilla:

  1. Conéctate a tu servidor usando las credenciales FTP.
  2. Navega hasta la carpeta config.
  3. Descarga settings.inc.php a tu ordenador.
  4. Ábrelo con un editor de texto como Notepad++ o Sublime Text.
  5. Haz los cambios necesarios y guarda el archivo.
  6. Sube el archivo modificado de nuevo al servidor, sobrescribiendo el original.

Entendiendo la estructura del archivo settings.inc.php

El archivo settings.inc.php contiene una serie de constantes definidas en PHP. Las más importantes son:

define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_base_datos');
define('_DB_USER_', 'usuario_base_datos');
define('_DB_PASSWD_', 'contraseña');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_COOKIE_KEY_', 'una_clave_aleatoria');
define('_COOKIE_IV_', 'otra_clave_aleatoria');
define('_PS_CREATION_DATE_', '2023-01-01');

Vamos a ver cada una de ellas en detalle.

DB_SERVER (Host de la base de datos)

Esta constante define dónde se encuentra el servidor MySQL. En la mayoría de los casos, será localhost o 127.0.0.1. Sin embargo, en algunos hostings compartidos, el servidor de base de datos puede estar en un host diferente (por ejemplo, mysql.tudominio.com).

[WARNING] Si cambias el host de la base de datos sin saber lo que haces, podrías provocar errores de conexión. Solo modifícalo si tu proveedor de hosting te lo indica explícitamente.

DB_NAME (Nombre de la base de datos)

Aquí debes poner el nombre exacto de tu base de datos. Recuerda que en DirectAdmin, este nombre suele incluir tu usuario principal como prefijo.

DB_USER (Usuario de la base de datos)

Es el usuario que tiene permisos para acceder a la base de datos. Debe tener todos los privilegios sobre la base de datos _DB_NAME_.

DB_PASSWD (Contraseña de la base de datos)

La contraseña asociada al usuario de la base de datos. Asegúrate de que no contenga caracteres especiales que puedan romper el código PHP, como comillas simples o dobles.

DB_PREFIX (Prefijo de las tablas)

Este es un valor muy importante. Por defecto, PrestaShop utiliza ps_, pero si has importado una base de datos de otra instalación, el prefijo puede ser diferente. Si no coincide, PrestaShop mostrará errores porque no encontrará las tablas.

[TIP] Si no estás seguro del prefijo, puedes revisar la base de datos desde phpMyAdmin en DirectAdmin. Busca en la pestaña "Estructura" y mira cómo se llaman las tablas. El prefijo es la parte que va antes del nombre de la tabla.

Errores comunes de base de datos en PrestaShop y cómo solucionarlos

Ahora que ya sabes editar el archivo, vamos a ver los problemas más habituales que provoca una mala configuración de settings.inc.php.

Error 1: "Link to database cannot be established"

Este es el error más clásico. Aparece cuando PrestaShop no puede conectarse a la base de datos. Las causas más comunes son:

  • Datos incorrectos: Revisa que el nombre de la base de datos, el usuario y la contraseña sean correctos.
  • Host incorrecto: Prueba a cambiar localhost por 127.0.0.1.
  • Usuario sin permisos: Asegúrate de que el usuario de la base de datos tenga todos los privilegios sobre la base de datos.

Error 2: "Table 'ps_shop_url' doesn't exist"

Este error aparece cuando el prefijo de las tablas no coincide con el que tiene la base de datos. Por ejemplo, si tu base de datos usa prestashop_ en lugar de ps_, deberás cambiar la constante _DB_PREFIX_.

Error 3: "PrestaShop could not connect to the database"

Este mensaje suele aparecer junto a un número de error. Si el error es 1045, significa que el acceso fue denegado (usuario o contraseña incorrectos). Si es 2002, el problema es el host.

[WARNING] Si has cambiado los datos de acceso y sigue sin funcionar, verifica que el usuario de la base de datos esté asignado a la base de datos correcta en DirectAdmin. Ve a "MySQL Management" y revisa los privilegios.

Consejos de seguridad al editar settings.inc.php

El archivo settings.inc.php contiene información sensible (credenciales de la base de datos). Aquí tienes algunos consejos:

  1. No compartas el archivo: Nunca lo subas a foros o lo envíes por correo.
  2. Usa permisos restrictivos: En DirectAdmin, puedes cambiar los permisos del archivo a 644 para que solo sea legible por el propietario.
  3. Haz una copia de seguridad: Antes de editar, descarga una copia del archivo original. Si algo sale mal, puedes restaurarlo.
  4. No uses espacios en blanco: Al editar, asegúrate de no dejar espacios innecesarios antes de <?php, ya que esto puede provocar errores de "headers already sent".

Cómo solucionar errores de base de datos sin tocar settings.inc.php

A veces, el problema no está en el archivo, sino en la propia base de datos. Si el archivo está bien configurado pero sigues viendo errores, prueba lo siguiente:

  1. Reparar las tablas: Desde phpMyAdmin, selecciona todas las tablas y elige "Reparar".
  2. Optimizar la base de datos: También desde phpMyAdmin, usa la opción "Optimizar".
  3. Verificar el espacio en disco: Si el servidor está lleno, la base de datos puede fallar. Revisa el uso de disco en DirectAdmin.

[INFO] Si estás usando un servidor con Syspanel (antes conocido como HestiaCP), el acceso al panel se realiza a través del puerto 2106. El proceso de configuración es similar, pero la ubicación de los archivos puede variar ligeramente.

Preguntas frecuentes (FAQ) sobre settings.inc.php y DirectAdmin

¿Puedo regenerar el archivo settings.inc.php automáticamente?

Sí, PrestaShop tiene un instalador web que puede regenerar este archivo. Simplemente sube los archivos de PrestaShop a tu servidor y accede a tudominio.com/install. El instalador te pedirá los datos de la base de datos y creará el archivo automáticamente.

¿Qué hago si no tengo acceso a DirectAdmin?

Si no tienes acceso al panel de control, puedes usar FTP para editar el archivo. También puedes contactar con tu proveedor de hosting para que te ayuden.

¿Por qué mi tienda muestra un error 500 después de editar el archivo?

Un error 500 suele indicar un error de sintaxis en el archivo PHP. Revisa que no hayas eliminado ninguna comilla o que no haya caracteres extraños. Si tienes una copia de seguridad, restáurala.

¿Es necesario configurar COOKIE_KEY y COOKIE_IV?

Estas claves se utilizan para cifrar las cookies y la sesión de los usuarios. Si las cambias, los usuarios que ya tengan una sesión iniciada serán desconectados. Es recomendable mantenerlas tal y como están, salvo que estés migrando la tienda a otro servidor.

Conclusión

Configurar el archivo settings.inc.php en DirectAdmin es un proceso sencillo si sabes qué datos necesitas y dónde encontrarlos. La clave está en verificar que el nombre de la base de datos, el usuario, la contraseña y el prefijo sean correctos.

Recuerda que los errores de base de datos en PrestaShop son muy comunes, pero también muy fáciles de solucionar. Con este artículo, ya tienes las herramientas necesarias para diagnosticar y corregir la mayoría de los problemas relacionados con este archivo.

Si después de seguir todos los pasos sigues teniendo problemas, no dudes en contactar con tu proveedor de hosting. Ellos podrán verificar si el servidor MySQL está funcionando correctamente y si hay algún problema de configuración a nivel de servidor.

[TIP] Te recomiendo guardar una copia de seguridad de settings.inc.php en un lugar seguro, como un gestor de contraseñas o un servicio de almacenamiento en la nube. Así, si necesitas restaurarlo en el futuro, lo tendrás a mano.

Espero que este artículo te haya sido de ayuda. ¡Buena suerte con tu tienda PrestaShop!

¿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