Alojar una web WordPress en un VPS Linux
Nginx, PHP-FPM, MariaDB, wp-config.php y copias de seguridad: qué instalar para alojar WordPress usted mismo.
En un VPS, WordPress no es una opción ya instalada: usted monta la pila. Bastan un servidor web, PHP y una base de datos. A cambio, conserva el control de la configuración, las versiones y las copias de seguridad.
- WordPress en un VPS se apoya en Nginx, PHP-FPM y MariaDB: usted instala y mantiene los tres.
- Una base dedicada por sitio y permisos limitados reducen el impacto de un fallo.
- Copie los archivos y la base juntos, y saque las copias fuera del servidor.
Instalar la pila de software
WordPress necesita tres piezas: un servidor web (Nginx en este ejemplo), PHP con su gestor FPM y una base MariaDB o MySQL. En un VPS, usted instala y actualiza estos componentes.
- sudo apt update && sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl unzip
- php -v muestra la versión de PHP, y ls /run/php/ el socket de FPM, por ejemplo php8.3-fpm.sock.
- sudo mysql_secure_installation elimina los accesos anónimos y fija la contraseña de administrador de la base.
Crear la base y descargar WordPress
Una base dedicada, con un usuario que solo acceda a ella, limita el daño en caso de fallo. El código se descarga del sitio oficial de WordPress y se coloca en la carpeta web.
- sudo mysql -e "CREATE DATABASE wp_exemple CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'contrasena-larga'; GRANT ALL ON wp_exemple.* TO 'wp_user'@'localhost';"
- cd /tmp && curl -O https://wordpress.org/latest.tar.gz && tar xzf latest.tar.gz
- sudo mv /tmp/wordpress /var/www/exemple.fr && sudo chown -R www-data:www-data /var/www/exemple.fr
Configurar Nginx y wp-config.php
El bloque server indica a Nginx dónde está el sitio y envía los archivos .php a PHP-FPM. En wp-config.php, rellene los datos de la base, proteja el archivo y desactive el editor de archivos.
- En /etc/nginx/sites-available/exemple.fr: root /var/www/exemple.fr; y un bloque location que envía los .php al socket de PHP-FPM.
- sudo ln -s /etc/nginx/sites-available/exemple.fr /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx
- En wp-config.php: define('DISALLOW_FILE_EDIT', true); y chmod 640, porque el archivo contiene las credenciales de la base.
Copiar y actualizar
Un sitio WordPress tiene dos partes: los archivos y la base. Copie las dos, porque una sin la otra no restaura el sitio. En un VPS, las actualizaciones del núcleo, de las extensiones y de PHP le corresponden a usted.
- mysqldump wp_exemple > /root/wp_exemple-$(date +%F).sql: copia de la base del día.
- tar czf /root/site-$(date +%F).tar.gz /var/www/exemple.fr: archivo de los ficheros, para copiarlo después fuera del VPS.
- Pruebe las actualizaciones de extensiones en una copia del sitio antes de aplicarlas en producción.
Preguntas frecuentes
¿Basta el plan de 4,99 € para WordPress?
Para un sitio de tamaño modesto, el plan Mini (8 GB de RAM, 2 vCPU, 4,99 €/mes) deja margen. La necesidad real depende de las extensiones, el tráfico y la caché: mida con free -h y htop durante unos días.
¿Conviene instalar HTTPS antes que WordPress?
No es obligatorio, pero es más sencillo: en cuanto el dominio apunta al VPS, certbot añade HTTPS al bloque de Nginx. Después ajuste la dirección del sitio en los ajustes de WordPress.
¿Puedo alojar varios sitios WordPress en el mismo VPS?
Sí. Basta un bloque server, una carpeta y una base por sitio, cada una con su usuario de base de datos y su certificado.