Español

Instalar WordPress en un VPS Linux

Esta guía explica cómo instalar WordPress en su VPS Linux.

⚠️ Aviso importante

Importante: Para sitios WordPress, se recomienda el hosting web de Infrawire (copias de seguridad automáticas, soporte especializado, actualizaciones gestionadas). Si prefiere un entorno dedicado con control total, siga esta guía para instalar WordPress en un VPS.

📋 Requisitos previos

  • VPS Linux con acceso root o sudo
  • Al menos 1 GB de RAM (2 GB recomendado)
  • Al menos 10 GB de espacio libre
  • Dominio apuntando a la IP del VPS
  • Puertos 80 y 443 abiertos

💡 Recomendación de infraestructura

Para un rendimiento óptimo, recomendamos nuestro VPS NVMe o el VPS Ryzen para sitios de alto tráfico.

🔧 Método 1: Instalación con LAMP (Apache)

Paso 1: Actualizar e instalar Apache

Bash
1sudo apt update 2sudo apt upgrade -y 3sudo apt install -y apache2 4sudo systemctl start apache2 5sudo systemctl enable apache2

Paso 2: Instalar MySQL

Bash
sudo apt install -y mysql-server sudo systemctl start mysql sudo systemctl enable mysql sudo mysql_secure_installation

Paso 3: Crear base de datos WordPress

Bash
sudo mysql -u root -p
SQL
1CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 2CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'YourSecurePassword123!'; 3GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; 4FLUSH PRIVILEGES; 5EXIT;

Importante: Reemplace YourSecurePassword123! por una contraseña segura.

Paso 4: Instalar PHP

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

Paso 5: Descargar WordPress

Bash
1cd /tmp 2curl -O https://wordpress.org/latest.tar.gz 3tar xzf latest.tar.gz 4sudo cp -r wordpress/* /var/www/html/ 5sudo chown -R www-data:www-data /var/www/html 6sudo chmod -R 755 /var/www/html

Paso 6: Configurar WordPress

Bash
cd /var/www/html sudo cp wp-config-sample.php wp-config.php sudo nano wp-config.php
PHP
define( 'DB_NAME', 'wordpress_db' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'YourSecurePassword123!' ); define( 'DB_HOST', 'localhost' );

Genere claves únicas en: https://api.wordpress.org/secret-key/1.1/salt/

Paso 7: Configurar Apache

Bash
sudo a2enmod rewrite sudo nano /etc/apache2/sites-available/000-default.conf
Apache
1<Directory /var/www/html> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory>
Bash
sudo systemctl restart apache2

Paso 8: Instalación vía interfaz web

  1. Abra http://SU_IP o http://sudominio.com
  2. Siga el asistente de instalación de WordPress

🔧 Método 2: Instalación con LEMP (Nginx)

Instale Nginx y PHP-FPM. Siga los pasos 2-6 del método LAMP para MySQL y WordPress.

Bash
sudo apt install -y nginx php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip sudo nano /etc/nginx/sites-available/wordpress
Nginx
1server { 2 listen 80; 3 listen [::]:80; 4 server_name sudominio.com www.sudominio.com; 5 root /var/www/html; 6 index index.php index.html index.htm; 7 8 location / { 9 try_files $uri $uri/ /index.php?$args; 10 } 11 12 location ~ \.php$ { 13 include snippets/fastcgi-php.conf; 14 fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 15 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 16 include fastcgi_params; 17 } 18 19 location ~ /\.ht { 20 deny all; 21 } 22}
Bash
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx

Consulte también Nginx + Certbot.

🔒 Proteger WordPress

Bash
sudo find /var/www/html -type f -exec chmod 644 {} \; sudo find /var/www/html -type d -exec chmod 755 {} \; sudo chmod 600 /var/www/html/wp-config.php

SSL con Let's Encrypt

Bash
sudo apt install -y certbot python3-certbot-apache sudo certbot --apache -d sudominio.com -d www.sudominio.com sudo certbot renew --dry-run

Cortafuegos

Bash
sudo ufw allow 'Apache Full' sudo ufw allow 80/tcp sudo ufw allow 443/tcp

Añada en wp-config.php:

PHP
define('DISALLOW_FILE_EDIT', true);

❓ Problemas comunes

Error "Error establishing a database connection"

  1. Verifique credenciales en wp-config.php
  2. Compruebe MySQL: sudo systemctl status mysql
  3. Pruebe: mysql -u wordpress_user -p wordpress_db

Error 404 en enlaces permanentes

Bash
sudo a2enmod rewrite sudo systemctl restart apache2

📞 ¿Necesita ayuda?

Contacte con el soporte Infrawire. Para una experiencia WordPress optimizada, considere nuestro hosting web dedicado.


Nota: El hosting web de Infrawire ofrece soporte dedicado, copias de seguridad automáticas y optimizaciones preconfiguradas.

¿Necesita ayuda?

¿Preguntas sobre esta guía? Nuestro equipo y la comunidad están aquí para ayudarle.