Los errores de conexión con base de datos pueden suceder en algunas ocasiones. En esta ocasión, me ha sucedido con una instalación de WordPress en un servidor linux dedicado donde toda la configuración e instalación de componentes se realiza manualmente. Veamos el error obtenido y la solución que encontré.

También te puede interesar:
¿Qué es Elementor WordPress? Todo sobre Diseño Web con Elementor
Optimiza tu web en WordPress con WP Rocket
¿Qué son y para qué sirven los plugins de WordPress?
Cómo instalar un servidor web en un NAS Synology

Error de conexión con Base de Datos en WordPress

En esta ocasión, en esta instalación de WordPress, el error de conexión de con base de datos era el siguiente:

php_network_getaddresses: getaddrinfo failed: Name or service not known

Como el de la imagen:

WordPress php_network_getaddresses: getaddrinfo failed: Name or service not known

Activar modo debug en WordPress

Antes que nada, si no recuperas ningún error, posiblemente debas activar el modo Debug de WordPress. Edita el fichero wp-config.php y pon a true las siguientes propiedades, o añádelas si no las tienes en tu fichero de configuración:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

Una vez activado el modo debug, deberías obtener el error de la pantalla anterior y entender mejor cuál es el problema en cuestión.

Posibles causas

Debes analizar el problema, e ir acotándolo. Para ello, os dejo algunas cosas que podéis analizar para ir descartando.

Ausencia de librerías PHP

Investigando el problema, haciendo uso del PHP Info y comparando un WordPress que sí funciona, vi que me faltaban algunas librerías PHP por instalar. Entre ellas están mbstring y msqli.

Comandos para instalar las librerías mbstring y msqli en Centos 8 con PHP 7.4:

dnf install php-mbstring

dnf install php74-php-mbstring

dnf install php-mysqli

Visibilidad con la base de datos

Al tratarse un error con pinta de ser de problemas de red, me puse a analizar si había visibilidad entre el servidor de aplicaciones Apache con el servidor de BBDD. En mi caso, eran servidores distintos. Y ahí se encontraba el problema. Revisando mi fichero de configuración de WordPress vi que tenía puesto el nombre del servidor en vez de una IP.

Ejemplo:

  • Servidor de aplicaciones: 192.168.1.2
  • Servidor de base de datos: 192.168.1.1

/** Database hostname */
define( 'DB_HOST', 'nombreservidorbbdd' );

También pude ver que durante la creación de la base de datos y los permisos del usuario, lo hice de la siguiente de forma:

MySQL Antes:

CREATE DATABASE WPTEST;
CREATE USER BLOG_WPTEST_APP@nombreservidorbbdd IDENTIFIED BY 'BLOG_WPTEST';
GRANT ALL PRIVILEGES ON WPTEST.* TO BLOG_WPTEST_APP@nombreservidorbbdd;
FLUSH PRIVILEGES;

Lo modifiqué y recreé el usuario para que el acceso sea por IP. Hay que indicarle la IP desde dónde se permite la conexión.

CREATE DATABASE WPTEST;
CREATE USER BLOG_WPTEST_APP@192.168.1.2 IDENTIFIED BY 'BLOG_WPTEST';
GRANT ALL PRIVILEGES ON WPTEST.* TO BLOG_WPTEST_APP@192.168.1.2;
FLUSH PRIVILEGES;

La corrección del wp-config.php quedaba entonces así:

/** Database hostname */
define( 'DB_HOST', '192.168.1.1' );

Comprobar correcciones

Una vez realizadas las modificaciones anteriores, ya se muestra correctamente el formulario de instalación de WordPress. El error de conexión con base de datos ha desaparecido.

formulario de instalación de WordPress

Conclusiones

La instalación de cualquier aplicación open source en servidores linux dedicados tiene estas cosas. La instalación se complica con cuestiones que un hosting especializado en WordPress se solventan de forma automática. Por ello, algunas veces merece la pena valorar si es rentable tener un servidor dedicado o no para un WordPress o aplicación similar, y optar por soluciones automáticas como los Hosting WordPress donde todas estas cuestiones técnicas son transparentes para nosotros.

 

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR