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
Bash1sudo apt update 2sudo apt upgrade -y 3sudo apt install -y apache2 4sudo systemctl start apache2 5sudo systemctl enable apache2
Paso 2: Instalar MySQL
Bashsudo apt install -y mysql-server sudo systemctl start mysql sudo systemctl enable mysql sudo mysql_secure_installation
Paso 3: Crear base de datos WordPress
Bashsudo mysql -u root -p
SQL1CREATE 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
Bashsudo 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
Bash1cd /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
Bashcd /var/www/html sudo cp wp-config-sample.php wp-config.php sudo nano wp-config.php
PHPdefine( '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
Bashsudo a2enmod rewrite sudo nano /etc/apache2/sites-available/000-default.conf
Apache1<Directory /var/www/html> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory>
Bashsudo systemctl restart apache2
Paso 8: Instalación vía interfaz web
- Abra
http://SU_IPohttp://sudominio.com - 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.
Bashsudo 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
Nginx1server { 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}
Bashsudo 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
Bashsudo 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
Bashsudo apt install -y certbot python3-certbot-apache sudo certbot --apache -d sudominio.com -d www.sudominio.com sudo certbot renew --dry-run
Cortafuegos
Bashsudo ufw allow 'Apache Full' sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Añada en wp-config.php:
PHPdefine('DISALLOW_FILE_EDIT', true);
❓ Problemas comunes
Error "Error establishing a database connection"
- Verifique credenciales en
wp-config.php - Compruebe MySQL:
sudo systemctl status mysql - Pruebe:
mysql -u wordpress_user -p wordpress_db
Error 404 en enlaces permanentes
Bashsudo 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.