Instalar WordPress en Debian 12 & Nginx

Estos son los pasos para instalar WordPress en Debian 12, utilizando Nginx, MariaDB y PHP

Paso 1: Actualizar el sistema

Antes de comenzar, es recomendable actualizar los paquetes del sistema.
sudo apt update && sudo apt upgrade -y

Paso 2: Instalar Nginx

Instalamos el servidor web Nginx.
sudo apt install nginx -y
Habilitamos y verificamos el estado del servicio:
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

Para probar que funciona, abre un navegador y accede a http://tu-servidor-ip/. Deberías ver la página de bienvenida de Nginx.

Paso 3: Instalar MariaDB (MySQL)

WordPress necesita una base de datos, así que instalamos MariaDB.
sudo apt install mariadb-server mariadb-client -y
Iniciamos el servicio y lo habilitamos:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Para mejorar la seguridad, ejecutamos:
sudo mysql_secure_installation
Opciones recomendadas:
  • Configurar la contraseña del root de MariaDB.
  • Eliminar usuarios anónimos.
  • Deshabilitar el acceso remoto de root.
  • Eliminar la base de datos de prueba.
  • Recargar los privilegios.

Paso 4: Crear la base de datos y usuario de WordPress

Accedemos a MariaDB:
sudo mysql -u root -p
Creamos la base de datos:

CREATE DATABASE wordpress;
Creamos un usuario y le damos permisos:
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Paso 5: Instalar PHP y extensiones necesarias

WordPress necesita PHP, así que lo instalamos junto con sus extensiones:
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-json -y
Verificamos la versión:
php -v

Paso 6: Descargar e instalar WordPress

Nos movemos al directorio de Nginx y descargamos WordPress:
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
Extraemos el archivo:
sudo tar -xvzf latest.tar.gz
sudo rm latest.tar.gz
Cambiamos los permisos:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

Paso 7: Configurar Nginx para WordPress

Creamos un nuevo archivo de configuración:
sudo nano /etc/nginx/sites-available/wordpress
Pegamos el siguiente contenido:
server {
    listen 80;
    server_name davidalvarezp.com www.davidalvarezp.com;
    root /var/www/html;
    
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}
Guardamos y cerramos el archivo (CTRL + X, luego Y y ENTER).
Creamos un enlace simbólico para habilitar el sitio:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
Verificamos la configuración de Nginx:
sudo nginx -t
Reiniciamos Nginx:
sudo systemctl restart nginx

Paso 8: Configurar WordPress

Renombramos el archivo de configuración de WordPress:
cd /var/www/html
sudo cp wp-config-sample.php wp-config.php
Editamos el archivo:
sudo nano wp-config.php
Buscamos las siguientes líneas y reemplazamos con los datos de la base de datos:
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'tu_contraseña_segura');
define('DB_HOST', 'localhost');
Guardamos (CTRL + X, Y, ENTER).

Paso 9: Completar la instalación

Abre un navegador y accede a http://tu-dominio-o-ip.
Sigue el asistente de instalación.
Configura el título del sitio, usuario administrador y contraseña.
Finaliza la instalación y accede al panel de administración.

Paso 10: Configurar HTTPS (Opcional)

Si tienes un dominio, puedes instalar Let’s Encrypt para habilitar HTTPS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d davidalvarezp.com -d www.davidalvarezp.com


¡Listo! Sustituye davidalvarezp.com por tu dominio. WordPress ya estaría instalado en Debian 12

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *