Cómo configurar el archivo settings.inc.php de PrestaShop en DirectAdmin
¿Qué es el archivo settings.inc.php y por qué es tan importante?
Si estás empezando con PrestaShop en un servidor DirectAdmin, es muy probable que hayas escuchado hablar del archivo settings.inc.php. Este archivo es, literalmente, el corazón de la configuración técnica de tu tienda online. Sin él, PrestaShop no puede conectarse a la base de datos, ni leer la URL de tu dominio, ni gestionar las cookies de sesión.
El archivo settings.inc.php se encuentra en la carpeta config de tu instalación de PrestaShop. Es un archivo de texto plano que contiene definiciones de constantes en PHP. Estas constantes son las que indican a tu tienda cómo y dónde debe buscar sus recursos.
Piensa en él como el "cerebro" que le dice a PrestaShop: "Oye, tu base de datos está en este servidor, con este usuario y esta contraseña". Si este archivo está mal configurado, tu tienda dará errores de conexión, pantallas en blanco o el famoso error "PrestaShop no puede conectarse a la base de datos".
En este artículo te voy a explicar, paso a paso y de una forma muy sencilla, cómo configurar este archivo dentro de un entorno DirectAdmin. No necesitas ser un experto en programación, solo seguir las instrucciones con calma.
¿Cuándo necesitas configurar settings.inc.php en DirectAdmin?
Hay varios escenarios en los que necesitarás tocar este archivo:
- Instalación manual de PrestaShop: Si has subido los archivos de PrestaShop por FTP y no has usado el instalador web, tendrás que crear o modificar este archivo a mano.
- Cambio de servidor o dominio: Si has migrado tu tienda de un hosting a otro, o has cambiado el dominio, las rutas y credenciales de la base de datos cambiarán. El archivo deberá actualizarse.
- Cambio de contraseña de la base de datos: Si has regenerado la contraseña de tu base de datos desde DirectAdmin, tendrás que reflejar ese cambio en
settings.inc.php. - Errores de conexión a la base de datos: Si ves mensajes de error que mencionan la base de datos, este archivo es el primer lugar donde debes mirar.
Localizar el archivo en DirectAdmin
Antes de configurar nada, necesitas saber dónde está el archivo. En DirectAdmin, el gestor de archivos es tu mejor amigo. Sigue estos pasos:
- Accede a tu panel de DirectAdmin (normalmente en
https://tudominio.com:2222). - Busca el icono "Administrador de archivos" (File Manager). Puede estar en la sección "Administración de archivos".
- Navega hasta la carpeta
domains. Dentro, busca la carpeta de tu dominio (por ejemplo,tudominio.com). - Entra en
public_html. Aquí es donde normalmente se instala PrestaShop. - Busca la carpeta
config. Dentro de ella, encontrarás el archivosettings.inc.php.
[TIP] Si no ves el archivo, activa la opción "Mostrar archivos ocultos" en la barra de herramientas del Administrador de archivos. El archivo no es oculto, pero por seguridad algunos servidores lo protegen.
Estructura básica del archivo settings.inc.php
El archivo settings.inc.php tiene una estructura muy definida. No es un archivo que se edite al azar. Cada línea define una constante. Las más importantes son:
_DB_SERVER_: La dirección del servidor de base de datos. Normalmente eslocalhost, pero en DirectAdmin puede ser un nombre comolocalhosto la IP del servidor._DB_NAME_: El nombre de tu base de datos. En DirectAdmin suele tener un prefijo con tu usuario, por ejemplousuario_prestashop._DB_USER_: El usuario de la base de datos. También suele tener un prefijo, comousuario_presta._DB_PASSWD_: La contraseña de ese usuario de base de datos._DB_PREFIX_: El prefijo de las tablas. Por defecto esps_, pero si lo has cambiado, aquí debe ir el tuyo.__PS_BASE_URI__: La ruta base de tu tienda. Si está en la raíz, será/. Si está en una subcarpeta, será/subcarpeta/._MEDIA_SERVER_1_,_MEDIA_SERVER_2_,_MEDIA_SERVER_3_: Para servidores de medios estáticos. Normalmente se dejan vacíos._COOKIE_KEY_: Una clave secreta para cifrar las cookies. Debe ser única para cada tienda.
Paso a paso: Configurar settings.inc.php en DirectAdmin
Ahora sí, vamos a la acción. Te guío con un ejemplo práctico.
Paso 1: Crear la base de datos y el usuario en DirectAdmin
Este paso es crucial. No puedes configurar el archivo sin antes tener una base de datos creada.
- En tu panel de DirectAdmin, busca la sección "Administrador de bases de datos MySQL" (o "MySQL Management").
- Haz clic en "Crear nueva base de datos".
- Escribe un nombre para la base de datos. DirectAdmin añadirá tu nombre de usuario como prefijo. Por ejemplo, si tu usuario es
adminy ponestienda, el nombre final seráadmin_tienda. - Crea un usuario para esa base de datos. Escribe un nombre (ej.
admin_presta) y una contraseña segura. Guarda esta contraseña, la necesitarás más tarde. - Añade el usuario a la base de datos con todos los privilegios (ALL PRIVILEGES).
[INFO] En DirectAdmin, el servidor de base de datos suele ser localhost. Rara vez necesitarás usar una IP remota.
Paso 2: Editar el archivo settings.inc.php
Una vez que tienes la base de datos y el usuario, vuelve al Administrador de archivos.
- Haz clic derecho sobre
settings.inc.phpy selecciona "Editar" (o "Code Editor"). - Se abrirá un editor de texto. Verás el código PHP. No te asustes, solo vamos a modificar unas líneas concretas.
Paso 3: Rellenar los datos de conexión
Busca estas líneas y cámbialas por tus datos:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'admin_tienda');
define('_DB_USER_', 'admin_presta');
define('DB_PASSWD_', 'TU_CONTRASEÑA_AQUI');
define('_DB_PREFIX_', 'ps_');
- En
_DB_SERVER_, dejalocalhostsi no te han indicado lo contrario. - En
_DB_NAME_, pon el nombre completo de la base de datos que creaste (con el prefijo de tu usuario). - En
_DB_USER_, pon el nombre completo del usuario. - En
_DB_PASSWD_, pon la contraseña que elegiste. - En
_DB_PREFIX_, dejaps_a menos que sepas que usaste otro prefijo.
Paso 4: Configurar la URL base de la tienda
Busca la línea que define la URL base:
define('__PS_BASE_URI__', '/');
- Si tu tienda está en la raíz de
public_html, déjala como/. - Si la has instalado en una subcarpeta (ej.
public_html/tienda), cambia la línea adefine('__PS_BASE_URI__', '/tienda/');.
Paso 5: Generar una nueva clave de cookies (opcional pero recomendado)
La _COOKIE_KEY_ es una cadena de 56 caracteres que se usa para cifrar las sesiones. Si has migrado o si sospechas que alguien la conoce, es buena idea cambiarla.
Busca la línea:
define('_COOKIE_KEY_', 'una_cadena_larga_de_texto');
Puedes generar una nueva clave aleatoria en cualquier sitio web de generación de claves MD5 o simplemente escribir una frase larga y compleja. Lo importante es que sea única.
[WARNING] No uses comillas simples dentro de la clave, ya que romperías el código PHP. Usa solo letras, números y símbolos como $, %, &, etc.
Paso 6: Guardar los cambios
Una vez que hayas modificado las líneas, haz clic en "Guardar" en el editor. DirectAdmin te pedirá confirmación. Acepta.
Paso 7: Verificar la configuración
Ahora viene la prueba de fuego. Abre tu navegador y visita tu tienda. Si todo está correcto, verás la página principal de PrestaShop.
Si ves un error de conexión a la base de datos, revisa que los datos sean correctos. Un error común es escribir mal el nombre de la base de datos o la contraseña.
Problemas comunes y soluciones
Error: "Link to database cannot be established"
Este es el error más típico. Significa que los datos de conexión son incorrectos o que la base de datos no existe.
- Solución: Revisa en DirectAdmin que la base de datos y el usuario existan. Verifica que el usuario tenga todos los privilegios. Comprueba que no haya espacios en blanco en los valores del archivo.
Error: "PrestaShop no puede conectarse a la base de datos"
Este error es similar al anterior, pero a veces está relacionado con el servidor de la base de datos.
- Solución: Prueba a cambiar
_DB_SERVER_a127.0.0.1en lugar delocalhost. En algunos servidores, esto soluciona el problema.
Pantalla en blanco al acceder a la tienda
Una pantalla en blanco suele indicar un error de PHP. Puede ser por una coma o un punto y coma mal puesto en el archivo.
- Solución: Revisa que todas las líneas terminen con
;y que las comillas estén correctamente cerradas. Puedes habilitar la visualización de errores de PHP temporalmente añadiendoini_set('display_errors', 1);al principio del archivo, pero asegúrate de quitarlo después.
El prefijo de las tablas no es correcto
Si ves errores de "tabla no encontrada" (ej. ps_products no existe), es que el prefijo no es correcto.
- Solución: Ve a tu base de datos en DirectAdmin (phpMyAdmin) y mira cómo se llaman las tablas. Si se llaman
prestashop_products, entonces el prefijo esprestashop_.
Consejos de seguridad para el archivo settings.inc.php
Este archivo contiene información sensible, así que debes protegerlo:
- Cambia los permisos del archivo: En el Administrador de archivos, selecciona
settings.inc.phpy haz clic en "Permisos". Cámbialos a444(solo lectura) o440para que nadie pueda modificarlo desde el exterior. - No lo compartas: Nunca publiques el contenido de este archivo en foros o con soporte técnico a menos que sea absolutamente necesario y con confianza total.
- Haz copias de seguridad: Antes de hacer cualquier cambio, descarga una copia del archivo original a tu ordenador. Así podrás restaurarlo si algo sale mal.
Cómo afecta esto al SEO de tu tienda
Aunque settings.inc.php no es un archivo de SEO directamente, una configuración incorrecta puede tener un impacto devastador en tu posicionamiento.
- Tiempos de carga: Si la conexión a la base de datos es lenta o falla, tu tienda cargará muy lento o dará errores. Google penaliza las páginas lentas y con errores.
- Errores 500: Si el archivo está mal configurado, tu tienda puede devolver errores 500 (Error interno del servidor). Esto hace que Google no pueda rastrear tu sitio y lo elimine de su índice.
- URLs canónicas: Si
__PS_BASE_URI__no está bien definido, PrestaShop puede generar URLs incorrectas, causando problemas de contenido duplicado.
Por lo tanto, tener un archivo settings.inc.php bien configurado es esencial para que tu tienda funcione correctamente y no pierda posiciones en los buscadores.
Preguntas frecuentes (FAQ)
¿Puedo usar el mismo archivo settings.inc.php para dos tiendas diferentes?
No, cada tienda necesita su propio archivo con sus propias credenciales de base de datos y su clave de cookies. Usar el mismo archivo para dos tiendas provocará conflictos y errores.
¿Qué pasa si cambio la contraseña de la base de datos desde DirectAdmin?
Tendrás que actualizar la línea _DB_PASSWD_ en el archivo con la nueva contraseña. Si no lo haces, PrestaShop no podrá conectarse.
¿Necesito editar el archivo si uso un instalador automático desde DirectAdmin?
No. Si usas el instalador de PrestaShop que ofrecen algunos paneles (o Softaculous, si está disponible), el archivo se configura automáticamente. Solo tendrás que editarlo si hay un problema o si haces una migración manual.
¿Qué es el "modo mantenimiento" y tiene que ver con este archivo?
No, el modo mantenimiento se gestiona desde el panel de administración de PrestaShop, no desde este archivo. Pero si tu tienda está en mantenimiento y necesitas acceder, este archivo no te ayudará. Tendrás que desactivarlo desde el back-office.
¿Puedo editar el archivo con un editor de texto plano desde mi ordenador?
Sí, pero ten mucho cuidado. Si usas un editor como el Bloc de notas de Windows, asegúrate de guardar el archivo con codificación UTF-8 sin BOM. Si usas un editor más avanzado como Notepad++ o VS Code, es más seguro.
¿Qué hago si después de configurar todo, sigo teniendo errores?
Revisa los logs de error de PHP en DirectAdmin. Normalmente están en la carpeta logs de tu dominio, en un archivo llamado error.log o prestashop.log. Ahí verás el error exacto que te ayudará a diagnosticar el problema.
Conclusión
Configurar el archivo settings.inc.php de PrestaShop en DirectAdmin puede parecer una tarea técnica complicada, pero con esta guía paso a paso, es totalmente manejable. Recuerda siempre hacer una copia de seguridad antes de modificar nada, y verifica que los datos de la base de datos sean correctos.
Este archivo es la base de tu tienda. Un buen mantenimiento de él te ahorrará muchos dolores de cabeza y te asegurará que tu tienda esté siempre operativa, lo que a su vez beneficia tu posicionamiento en buscadores.
[INFO] Si en algún momento te sientes perdido o no te atreves a tocar el archivo, siempre puedes contratar un soporte técnico especializado. Es una inversión que vale la pena para no romper tu tienda.
Espero que este artículo te haya sido de gran ayuda. Ahora ya sabes cómo manejar uno de los archivos más importantes de tu PrestaShop. ¡Manos a la obra!
