Servidores y VPS

Cómo Instalar WordPress en un VPS Linux en México

Guía paso a paso para instalar WordPress en un VPS Linux desde cero, con comandos reales y consejos de seguridad para sitios web en México.

Detailed image of a server rack with glowing lights in a modern data center.

Para instalar WordPress en un VPS Linux necesitas configurar un stack LAMP (Linux, Apache, MySQL, PHP), crear una base de datos y copiar los archivos del CMS — todo el proceso toma entre 30 y 60 minutos si sigues esta guía.

A diferencia del hosting compartido, un VPS te da control total sobre el servidor. Eso significa que tú eliges versiones de PHP, ajustas límites de memoria y activas los módulos exactos que WordPress necesita. En esta guía usamos Ubuntu 22.04 LTS, que es la distribución más común entre los proveedores de VPS en México.

Requisitos previos

Antes de empezar, asegúrate de tener lo siguiente:

  • Un VPS con Ubuntu 22.04 (mínimo 1 GB de RAM, aunque 2 GB es lo recomendable para producción).
  • Acceso SSH como usuario con privilegios sudo.
  • Un dominio apuntando a la IP del VPS (registros A configurados).
  • Puerto 22, 80 y 443 abiertos en el firewall del proveedor.

Si tu VPS es completamente nuevo, consulta también nuestra guía sobre servidores VPS para elegir el plan adecuado antes de instalar WordPress.

Paso 1 — Instalar el stack LAMP

El stack LAMP es la base sobre la que corre WordPress. Instala los cuatro componentes en este orden:

Actualizar el sistema

sudo apt update && sudo apt upgrade -y

Instalar Apache

sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

Instalar MariaDB (recomendado sobre MySQL puro)

sudo apt install mariadb-server -y
sudo mysql_secure_installation

Durante mysql_secure_installation responde Y a todas las preguntas: eliminar usuarios anónimos, deshabilitar login remoto de root y borrar la base de datos de prueba. Esto sella las brechas más comunes.

Instalar PHP y extensiones necesarias

sudo apt install php libapache2-mod-php php-mysql \
  php-curl php-gd php-mbstring php-xml php-xmlrpc \
  php-soap php-intl php-zip -y

WordPress requiere al menos PHP 7.4; instalar PHP 8.2 mejora el rendimiento en un 15-25 % según la propia documentación del CMS.

Paso 2 — Crear la base de datos para WordPress

WordPress guarda todo su contenido en MySQL/MariaDB. Crea una base de datos y un usuario dedicado — nunca uses root para la aplicación.

sudo mysql -u root -p

Una vez dentro del prompt de MariaDB, ejecuta:

CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'ContraseñaSegura123!';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Usa una contraseña larga y aleatoria. Los caracteres especiales son bienvenidos — el driver de PHP los maneja correctamente con las credenciales parametrizadas que WordPress usa internamente.

Paso 3 — Descargar e instalar WordPress

Descarga siempre la versión más reciente directamente desde wordpress.org:

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/html/tusitio.com

Ajusta los permisos para que Apache pueda leer y escribir donde WordPress lo necesita:

sudo chown -R www-data:www-data /var/www/html/tusitio.com
sudo find /var/www/html/tusitio.com -type d -exec chmod 755 {} \;
sudo find /var/www/html/tusitio.com -type f -exec chmod 644 {} \;

Crear el archivo wp-config.php

cd /var/www/html/tusitio.com
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

Edita las siguientes líneas con los datos de tu base de datos:

define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'ContraseñaSegura123!' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

También reemplaza los salts de seguridad usando el generador oficial: https://api.wordpress.org/secret-key/1.1/salt/

Paso 4 — Configurar Apache para WordPress

Crea un VirtualHost dedicado para tu sitio:

sudo nano /etc/apache2/sites-available/tusitio.com.conf

Pega el siguiente bloque:

<VirtualHost *:80>
    ServerName tusitio.com
    ServerAlias www.tusitio.com
    DocumentRoot /var/www/html/tusitio.com

    <Directory /var/www/html/tusitio.com>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/tusitio-error.log
    CustomLog ${APACHE_LOG_DIR}/tusitio-access.log combined
</VirtualHost>

Activa el sitio y el módulo rewrite (necesario para los permalinks de WordPress):

sudo a2ensite tusitio.com.conf
sudo a2enmod rewrite
sudo systemctl reload apache2

Paso 5 — Habilitar HTTPS con Let's Encrypt

HTTPS no es opcional en 2025: Google lo exige para el ranking y los navegadores marcan HTTP como inseguro.

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d tusitio.com -d www.tusitio.com

Certbot configura la redirección de HTTP a HTTPS automáticamente y renueva el certificado cada 90 días. Verifica que la renovación automática esté activa:

sudo systemctl status certbot.timer

Paso 6 — Completar la instalación vía navegador

Abre https://tusitio.com en el navegador. El asistente de WordPress te pedirá:

  1. Título del sitio.
  2. Usuario administrador y contraseña (usa una contraseña fuerte, no "admin").
  3. Correo de administración.

Haz clic en Instalar WordPress y en menos de 30 segundos tendrás acceso al panel en /wp-admin.

Ajustes de seguridad recomendados post-instalación

  • Cambia el prefijo de tablas: en wp-config.php cambia $table_prefix = 'wp_'; por algo aleatorio como 'x7k2_'.
  • Desactiva la edición de archivos desde el panel: agrega define('DISALLOW_FILE_EDIT', true); a wp-config.php.
  • Limita intentos de login: instala un plugin como Limit Login Attempts Reloaded.
  • Activa un firewall de aplicación (WAF): Wordfence en su versión gratuita cubre los vectores más comunes.
  • Configura backups automáticos: UpdraftPlus hacia un bucket externo (no en el mismo VPS).

Si buscas acompañamiento profesional para tu infraestructura, elenlace.com ofrece servicios de configuración y mantenimiento de servidores para empresas en México.

Conclusiones clave

  • El stack LAMP (Linux, Apache, MariaDB, PHP) es la base mínima para correr WordPress en un VPS.
  • Crea siempre un usuario de base de datos exclusivo para WordPress; nunca uses root.
  • Los permisos 755/644 y el propietario www-data evitan la mayoría de los problemas de escritura.
  • HTTPS con Let's Encrypt es gratuito, automático y obligatorio.
  • Los ajustes de seguridad post-instalación (prefijo de tablas, DISALLOW_FILE_EDIT, WAF) reducen drásticamente la superficie de ataque.
  • PHP 8.2 mejora el rendimiento de WordPress hasta un 25 % respecto a versiones anteriores.

¿Listo para lanzar tu sitio en un VPS propio? Contáctanos en elenlace.com y te ayudamos a elegir el plan correcto, configurar el servidor y dejarlo blindado desde el primer día.

Preguntas frecuentes

¿Cuánta RAM necesita un VPS para correr WordPress?

Con 1 GB de RAM puedes correr un sitio WordPress de tráfico bajo a medio. Para sitios con más de 10,000 visitas mensuales o con WooCommerce, se recomiendan 2 GB o más. La caché (Redis o Memcached) reduce significativamente el consumo de memoria.

¿Es mejor usar Apache o Nginx para WordPress en VPS?

Apache es más fácil de configurar con WordPress gracias al soporte nativo de .htaccess y el módulo mod_rewrite. Nginx tiene mejor rendimiento bajo alta concurrencia, pero requiere configuración manual de reglas de reescritura. Para la mayoría de los sitios en México, Apache es la opción más práctica.

¿Puedo migrar un WordPress existente a un VPS?

Sí. El proceso estándar es: instalar WordPress en el VPS, exportar la base de datos del hosting anterior con mysqldump, importarla en el nuevo servidor, copiar los archivos de wp-content y actualizar wp-config.php. Plugins como All-in-One WP Migration automatizan la mayor parte del proceso.

¿Qué pasa si me equivoco en la configuración de Apache?

Apache tiene el comando apachectl configtest que valida la sintaxis de tus archivos de configuración antes de recargar el servicio. Si hay un error, te muestra exactamente en qué línea está el problema, sin llegar a interrumpir el servidor.

Para saber más

Otros proveedores y guías que vale la pena comparar:

← Todos