Configurar el archivo settings.inc.php en PrestaShop 1.6 (DirectAdmin)
Si has llegado hasta aquÃ, probablemente estás lidiando con un error de conexión a la base de datos en tu tienda PrestaShop 1.6, o quizás necesitas cambiar la contraseña de tu base de datos y no sabes por dónde empezar. No te preocupes, es una situación más común de lo que crees y, además, tiene una solución muy clara.
El archivo settings.inc.php es el corazón de la configuración de tu PrestaShop. Sin él, tu tienda no sabe a qué base de datos conectarse, y sin esa conexión, tu tienda no puede mostrar productos, procesar pedidos ni nada por el estilo. En este artÃculo, te voy a guiar paso a paso, y con un lenguaje muy sencillo, para que puedas editar este archivo en un servidor con panel de control DirectAdmin. Al final, te sentirás con la confianza suficiente para hacerlo tú mismo, sin necesidad de ser un experto en programación.
¿Qué es exactamente el archivo settings.inc.php?
Piensa en tu tienda PrestaShop como un edificio de oficinas. El archivo settings.inc.php serÃa el guardia de seguridad en la entrada principal. Este guardia tiene una lista con los nombres y las llaves de todas las puertas internas (las tablas de la base de datos). Si el guardia tiene la información incorrecta (por ejemplo, un nombre de usuario o una contraseña equivocada), no podrá abrir la puerta principal y nadie podrá entrar a trabajar.
Técnicamente, este archivo contiene las credenciales de acceso a tu base de datos MySQL, asà como la URL de tu tienda y otras configuraciones clave. Se encuentra en la carpeta config/ de tu instalación de PrestaShop. Es un archivo de texto plano, pero con una extensión .php para que el servidor lo ejecute de forma segura.
¿Por qué necesitarÃas editarlo?
Existen varias razones comunes por las que podrÃas necesitar tocar este archivo, y todas son bastante lógicas:
- Cambiaste la contraseña de tu base de datos desde el panel de DirectAdmin (o desde phpMyAdmin) y ahora tu tienda muestra un error de conexión.
- Migraste tu tienda a un nuevo servidor y las credenciales de la base de datos son diferentes.
- Moviste tu tienda a un nuevo dominio y necesitas actualizar la URL base.
- Tu tienda se ha corrompido y necesitas restaurar una copia de seguridad que requiere ajustar los datos de conexión.
- Quieres cambiar el prefijo de las tablas de la base de datos por razones de seguridad (aunque esto es menos común).
Preparativos antes de tocar nada
Antes de lanzarnos a editar el archivo, es fundamental que hagas una copia de seguridad. No es negociable. Si cometes un error al escribir una sola letra, tu tienda podrÃa quedar inaccesible. Pero no te asustes, porque nosotros vamos a hacerlo con calma y precisión.
Paso 1: Accede a tu panel de DirectAdmin
Lo primero es entrar en tu panel de control de hosting. Normalmente, la URL es algo asà como https://tudominio.com:2222 o https://tuip:2222. Si no estás seguro, revisa el correo de bienvenida de tu proveedor de hosting. Una vez dentro, verás un panel con muchos iconos. No te agobies, solo necesitamos un par de ellos.
Paso 2: Localiza el Administrador de Archivos
Busca un icono que diga "Administrador de Archivos" o "File Manager". En DirectAdmin suele estar en la sección de "Herramientas de Archivo". Haz clic en él. Se abrirá una nueva ventana (o pestaña) que te mostrará la estructura de carpetas de tu cuenta de hosting.
[INFO] El Administrador de Archivos es como el "Explorador de Windows" de tu hosting. Desde aquà podrás ver, crear, editar y eliminar archivos de tu sitio web.
Paso 3: Navega hasta la carpeta de tu tienda
Dentro del Administrador de Archivos, busca la carpeta public_html. Esta es la carpeta raÃz de tu sitio web. Si tu PrestaShop está instalado directamente en el dominio principal, los archivos de PrestaShop estarán dentro de public_html directamente. Si lo tienes en un subdominio o en una subcarpeta (por ejemplo, public_html/tienda), navega hasta esa carpeta.
Una vez dentro, busca la carpeta llamada config. Haz doble clic para entrar en ella.
[WARNING] Asegúrate de estar en la carpeta correcta. Si tienes varias tiendas o aplicaciones, es fácil confundirse. Verifica que dentro de la carpeta
configencuentres el archivosettings.inc.php.
Paso 4: Haz una copia de seguridad (¡IMPORTANTE!)
Antes de editar, vamos a crear una copia de seguridad de este archivo. Esto nos permitirá volver atrás si algo sale mal. En el Administrador de Archivos, haz clic derecho sobre el archivo settings.inc.php. Se abrirá un menú contextual. Busca la opción "Copiar" o "Copy". Te pedirá un nombre para la copia. Ponle algo como settings.inc.php.bak o settings_original.php. Haz clic en "Aceptar".
Ahora sÃ, ya tienes tu red de seguridad. ¡Manos a la obra!
Editando el archivo settings.inc.php en DirectAdmin
Ahora viene la parte principal. Vamos a abrir el archivo y modificar los valores que necesitamos.
Paso 5: Abre el archivo con el editor de texto
En el Administrador de Archivos, haz clic derecho sobre settings.inc.php (el original, no la copia). En el menú contextual, busca la opción "Editar" o "Edit". DirectAdmin te preguntará con qué editor quieres abrirlo. Elige la opción que diga "Text Editor" o "Editor de Texto". Se abrirá una nueva pestaña o ventana con el contenido del archivo.
Verás un código PHP que empieza con <?php y que define varias constantes. No te preocupes por el código en general, solo nos vamos a centrar en las lÃneas que empiezan por define.
Paso 6: Identifica los parámetros clave
El archivo tiene una estructura muy clara. Busca las siguientes lÃneas (puede que el orden varÃe ligeramente, pero serán muy similares):
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_base_de_datos');
define('_DB_USER_', 'tu_usuario_bd');
define('_DB_PASSWD_', 'tu_contraseña_bd');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '0');
define('_COOKIE_KEY_', 'una_cadena_larga_de_caracteres');
define('_COOKIE_IV_', 'otra_cadena');
define('_PS_CREATION_DATE_', '2023-10-26');
define('_PS_VERSION_', '1.6.1.24');
Vamos a desglosar cada uno de estos parámetros:
_DB_SERVER_: Es el servidor de la base de datos. En el 99% de los casos en DirectAdmin, este valor eslocalhost. No lo cambies a menos que tu proveedor te diga explÃcitamente lo contrario._DB_NAME_: Es el nombre de tu base de datos. Este es el valor que tienes que verificar. En DirectAdmin, suele tener un formato comousuario_nombrebd._DB_USER_: Es el nombre de usuario de la base de datos. También suele tener el formatousuario_nombreusuario. Es muy común que el usuario y la base de datos compartan el mismo nombre o un prefijo similar._DB_PASSWD_: Esta es la contraseña de la base de datos. Ojo aquÃ: si cambiaste la contraseña, asegúrate de que este valor coincida exactamente con la nueva._DB_PREFIX_: Es el prefijo que se añade a las tablas de la base de datos. Por defecto esps_. No lo cambies a menos que sepas lo que estás haciendo, o tu tienda dejará de funcionar._PS_BASE_URL_: Esta lÃnea es crucial si has cambiado de dominio. DeberÃa verse algo comodefine('_PS_BASE_URL_', 'http://tudominio.com');. Si tu tienda usa SSL, deberÃa serhttps://tudominio.com.
Paso 7: Realiza los cambios necesarios
Ahora es cuando entran en juego los datos que tienes que modificar. Con el editor abierto, localiza las lÃneas que necesitas cambiar y edÃtalas con cuidado.
Si cambiaste la contraseña de la base de datos
- Ve a la lÃnea
define('_DB_PASSWD_', 'tu_contraseña_bd');. - Borra el texto entre las comillas simples (
' '). - Escribe tu nueva contraseña exactamente como es, respetando mayúsculas, minúsculas y caracteres especiales.
- No dejes espacios en blanco alrededor de la contraseña.
Si cambiaste el nombre de usuario o la base de datos
- Repite el proceso anterior con las lÃneas
define('_DB_USER_', ...);ydefine('_DB_NAME_', ...);. - Asegúrate de que el nombre que escribes es el que aparece en tu panel de DirectAdmin, en la sección de "MySQL Management".
Si cambiaste el dominio de tu tienda
- Busca las lÃneas
define('_PS_BASE_URL_', 'http://tudominio.com');ydefine('_PS_SHOP_DOMAIN_', 'tudominio.com');. - Reemplaza
tudominio.comcon tu nuevo dominio. - Si tu nuevo dominio tiene SSL, asegúrate de que la URL comience con
https://. También deberÃas actualizar_PS_SHOP_DOMAIN_SSL_si existe.
[TIP] Si no estás seguro de si tu dominio tiene SSL, lo más seguro es usar
http://para no generar errores de "contenido mixto" durante la configuración. Puedes cambiar ahttps://más tarde.
Paso 8: Guarda los cambios
Una vez que hayas realizado todas las modificaciones necesarias, busca el botón "Guardar" o "Save" en la parte superior o inferior del editor de texto. Haz clic en él.
[WARNING] Es muy importante que guardes el archivo con la codificación correcta. Si el editor te da la opción de elegir, selecciona "UTF-8 sin BOM" o "UTF-8". Si eliges una codificación incorrecta, tu tienda podrÃa mostrar caracteres extraños o, peor aún, un error de parseo de PHP.
Paso 9: Verifica que tu tienda funciona
Cierra el editor y vuelve a tu navegador. Intenta acceder a tu tienda (tu dominio). Si todo ha ido bien, verás tu tienda perfectamente cargada. Si sigues viendo un error, no te desesperes. Vuelve a revisar los pasos anteriores y, sobre todo, verifica que la contraseña, el usuario y el nombre de la base de datos son exactamente los correctos.
Solución de problemas comunes (FAQ)
Aquà tienes una lista de problemas tÃpicos y sus soluciones rápidas, para que no pierdas tiempo buscando en foros.
Error de "conexión a la base de datos fallida"
Este es el error más común y suele deberse a tres causas:
- Credenciales incorrectas: Has escrito mal el nombre de usuario, la contraseña o el nombre de la base de datos. RevÃsalos una y otra vez. En DirectAdmin, puedes verificar estos datos en la sección "MySQL Management".
- La base de datos no existe: Asegúrate de que la base de datos que has puesto en
_DB_NAME_existe en tu servidor. A veces, al crear un nuevo usuario, no se crea la base de datos automáticamente. - El usuario no tiene permisos: El usuario de la base de datos debe tener todos los privilegios sobre la base de datos. En DirectAdmin, cuando creas un usuario y lo asignas a una base de datos, debes marcar la casilla de "ALL PRIVILEGES". Si no lo hiciste, ve a la gestión de MySQL y edita los privilegios.
Error de "archivo no encontrado" o "404"
Esto suele significar que la URL base (_PS_BASE_URL_) no coincide con la ubicación real de los archivos de PrestaShop. Si tu tienda está en public_html/tienda, la URL base deberÃa ser http://tudominio.com/tienda.
La tienda carga, pero las imágenes no se ven
Este problema casi siempre está relacionado con la URL base o con los enlaces permanentes. Ve a Back Office > Preferencias > SEO y URLs y asegúrate de que la URL base es correcta. También puedes intentar regenerar las miniaturas en Back Office > Parámetros Avanzados > Rendimiento y luego en "Regenerar miniaturas".
[INFO] Si después de hacer todos los cambios tu tienda sigue fallando, puedes usar la copia de seguridad que hicimos al principio. Simplemente borra el archivo
settings.inc.phpque has editado y renombra la copia (settings.inc.php.bak) asettings.inc.php. Esto te devolverá al estado anterior.
Consejos de seguridad adicionales
Ahora que ya sabes manejar este archivo, te daré dos consejos extra:
- Cambia el prefijo de las tablas: Si eres valiente, puedes cambiar
_DB_PREFIX_deps_a algo más aleatorio comomi_tienda_. Esto añade una capa extra de seguridad, pero solo debes hacerlo si sabes lo que haces, ya que tendrÃas que renombrar todas las tablas de tu base de datos manualmente. - Mantén el archivo con permisos correctos: En DirectAdmin, el archivo
settings.inc.phpdeberÃa tener permisos644(lectura y escritura para el propietario, y solo lectura para el grupo y otros). No lo pongas en777, ya que serÃa un agujero de seguridad.
Conclusión
Editar el archivo settings.inc.php en PrestaShop 1.6 a través de DirectAdmin es un proceso muy manejable una vez que entiendes qué es cada cosa. No dejes que un error de conexión te detenga. Con esta guÃa, tienes el conocimiento para resolver el problema por ti mismo, ahorrándote tiempo y posibles costes de soporte técnico.
Recuerda siempre hacer una copia de seguridad antes de empezar, seguir los pasos con calma y verificar que tus credenciales son correctas. Con un poco de práctica, este tipo de tareas de administración se convertirán en algo rutinario para ti. ¡Tu tienda volverá a estar en lÃnea en un abrir y cerrar de ojos!
