Errores comunes al instalar WordPress en un VPS (y cómo solucionarlos)

Instalar WordPress en un VPS te da velocidad, control y seguridad, pero también puede generar errores si es tu primera vez trabajando con servidores. En esta guía encontrarás los problemas más comunes durante la instalación y cómo solucionarlos paso a paso.


1. Error 500 después de instalar WordPress

El error 500 es uno de los más frecuentes y suele deberse a:

  • Permisos incorrectos en los archivos
  • Falta de módulos PHP
  • .htaccess corrupto

Solución

A) Repara permisos:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

B) Instala módulos PHP faltantes:

sudo apt install php-mysql php-xml php-mbstring php-curl php-zip php-gd -y
sudo systemctl restart apache2

C) Regenera .htaccess:

sudo nano /var/www/html/.htaccess

Pega esto:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

2. Error “Error establishing a database connection”

Este error indica que WordPress no puede conectarse a la base de datos.

Causas típicas

  • Credenciales incorrectas en wp-config.php
  • MariaDB no está corriendo
  • El usuario no tiene permisos

Solución

A) Verifica que MariaDB esté activo:

sudo systemctl status mariadb
sudo systemctl start mariadb

B) Revisa credenciales en wp-config.php:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'TU_PASSWORD' );
define( 'DB_HOST', 'localhost' );

C) Reasigna permisos al usuario:

sudo mysql
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. WordPress muestra una página en blanco (White Screen of Death)

Esto ocurre cuando PHP falla silenciosamente.

Solución

A) Activa el modo debug:

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

B) Revisa el log:

wp-content/debug.log

C) Reinstala plugins o temas corruptos.


4. No se carga el sitio después de apuntar el dominio

Si el dominio no muestra WordPress, el problema suele estar en DNS o en el VirtualHost.

Solución

A) Verifica que el registro A apunte a tu IP:

dig tu-dominio.com

B) Revisa tu VirtualHost:

sudo nano /etc/apache2/sites-available/tu-sitio.conf

Asegúrate de tener:

<VirtualHost *:80>
    ServerName tu-dominio.com
    ServerAlias www.tu-dominio.com
    DocumentRoot /var/www/html
</VirtualHost>

C) Activa el sitio y reinicia Apache:

sudo a2ensite tu-sitio.conf
sudo systemctl reload apache2

5. Error al instalar SSL con Let’s Encrypt

Certbot puede fallar si:

  • El dominio no apunta correctamente
  • Apache tiene configuraciones duplicadas
  • El puerto 80 está bloqueado

Solución

A) Verifica que el dominio resuelva:

ping tu-dominio.com

B) Ejecuta Certbot:

sudo certbot --apache

C) Revisa conflictos:

sudo apachectl configtest

6. WordPress no envía correos desde el VPS

Este es uno de los errores más comunes. La solución es usar SMTP.

Solución

  • Instala WP Mail SMTP
  • Conecta Gmail o tu proveedor SMTP
  • Configura el From Email correctamente

Luego prueba desde:

WP Mail SMTP → Tools → Email Test


🔧 Sección extra: Script de diagnóstico rápido para WordPress en VPS

Si después de seguir esta guía tu sitio sigue mostrando errores, puedes usar este pequeño script de debug automático para detectar los problemas más comunes en tu instalación de WordPress.

Este script revisa el estado de Apache y MariaDB, verifica los módulos PHP esenciales, comprueba permisos del directorio /var/www/html y muestra los últimos errores del servidor.

📜 Código del script

#!/bin/bash
# Script de diagnóstico rápido para WordPress en VPS

echo "=== Diagnóstico WordPress VPS ==="
echo "Fecha: $(date)"
echo "----------------------------------"

# 1. Verificar servicios
echo "[1] Verificando servicios..."
for service in apache2 mariadb; do
  systemctl is-active --quiet $service && echo "✔ $service activo" || echo "❌ $service inactivo"
done

# 2. Comprobar módulos PHP
echo "[2] Módulos PHP requeridos:"
modules=(php-mysql php-xml php-mbstring php-curl php-zip php-gd)
for m in "${modules[@]}"; do
  dpkg -l | grep -q $m && echo "✔ $m instalado" || echo "❌ Falta $m"
done

# 3. Revisar permisos del directorio
echo "[3] Permisos de /var/www/html:"
ls -ld /var/www/html

# 4. Comprobar conexión a la base de datos
echo "[4] Probando conexión a MariaDB..."
mysql -u root -e "SHOW DATABASES;" >/dev/null 2>&1 && echo "✔ Conexión OK" || echo "❌ Error de conexión"

# 5. Revisar errores recientes de Apache
echo "[5] Últimos errores de Apache:"
tail -n 10 /var/log/apache2/error.log

echo "----------------------------------"
echo "Diagnóstico completado."

🧠 Cómo usarlo

  1. Copia el código anterior en un archivo llamado wp-debug-check.sh.
  2. Guárdalo en tu servidor VPS (por ejemplo, en /root o /home/usuario).
  3. Ejecuta el script con permisos de administrador:
sudo bash wp-debug-check.sh

El script mostrará un resumen con los servicios activos, módulos PHP instalados y posibles errores detectados. Es una forma rápida de saber qué está fallando sin tener que revisar cada componente manualmente.

💡 Consejo: Puedes ampliar este script para incluir comprobaciones de SSL, DNS o SMTP si tu sitio ya está en producción.


Conclusión

Instalar WordPress en un VPS te da control total, pero también implica resolver errores técnicos. Con esta guía podrás identificar y solucionar los problemas más comunes sin perder tiempo. Si sigues estos pasos, tu sitio quedará funcionando de forma estable, rápida y segura.