Articles

Cómo instalar WordPress con Nginx en Ubuntu 20.04

Hoy en día, más del 36% de la web se ejecuta en la plataforma WordPress, ya que es uno de los sistemas de gestión de contenidos de código abierto más utilizados para crear un sitio web o un blog utilizando sus potentes características, hermosos diseños y, sobre todo, la libertad de construir lo que quieras.

Lee también: Cómo instalar WordPress con Apache en Ubuntu 20.04

En este artículo, aprenderás a instalar WordPress con el servidor web Nginx en Ubuntu 20.04. Para instalar WordPress, debes tener la pila LEMP instalada en tu servidor Ubuntu 20.04, de lo contrario, consulta nuestra guía:

  • Cómo instalar la pila LEMP con PhpMyAdmin en Ubuntu 20.04

Instalación de WordPress en Ubuntu 20.04

1. Una vez que tenga la pila de LEMP en su lugar, seguir adelante para descargar e instalar WordPress desde su sitio oficial utilizando el siguiente comando wget.

$ wget -c http://wordpress.org/latest.tar.gz

2. Cuando el paquete ha terminado de descargar, extraer el archivo archivado utilizando el comando tar como se muestra.

$ tar -xzvf latest.tar.gz

3. Ahora copiar el contenido de la carpeta wordpress en la carpeta de su sitio web (e.g mysite.com) que debe ser almacenado bajo la raíz del documento web del servidor web (/var/www/html/), como se muestra.

Note que cuando se utiliza el comando cp, el directorio mysite.com no tiene que existir antes, se creará automáticamente.

$ ls -l$ sudo cp -R wordpress/ /var/www/html/mysite.com$ sudo ls -l /var/www/html/mysite.com/
Host WordPress On Website
Host WordPress On Website

4. A continuación, establezca los permisos correctos en el directorio del sitio web /var/www/html/mysite.com. El usuario y el grupo www-data del servidor web deben poseerlo con permisos de lectura, escritura y ejecución.

$ sudo chown -R www-data:www-data /var/www/html/mysite.com$ sudo chmod -R 775 /var/www/html/mysite.com

Crear una base de datos de WordPress para el sitio web

5. WordPress requiere una base de datos para el almacenamiento de datos del sitio web. Para crear una para su sitio, inicie sesión en el shell de MariaDB mediante el comando mysql utilizando la opción -u para proporcionar el nombre de usuario y -p para la contraseña y también utilice sudo si está accediendo como usuario root de la base de datos.

$ sudo mysql -u root -p OR$ sudo mysql -u root#this also works for root database user

6. Una vez que haya accedido al shell de la base de datos, emita los siguientes comandos para crear la base de datos de su sitio web, el usuario de la base de datos y una contraseña como se muestra (no olvide utilizar sus valores en lugar de «mysite», «mysiteadmin» y «!»).

MariaDB > CREATE DATABASE mysite;MariaDB > GRANT ALL PRIVILEGES ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY '!';MariaDB > FLUSH PRIVILEGES;MariaDB > EXIT;
Create WordPress Database
Crear una base de datos de WordPress

7. En este punto, necesita crear un archivo wp-config.php para su nueva instalación de WordPress, donde definirá la conexión de la base de datos y algunos otros parámetros también. Muévete a la raíz de documentos del sitio web /var/www/html/mysite.com y crea un archivo wp-config.php a partir del archivo de ejemplo proporcionado por defecto.

$ cd /var/www/html/mysite.com$ sudo mv wp-config-sample.php wp-config.php

8. Después de crear un archivo wp-config.php, ábrelo para editarlo.

$ sudo vim wp-config.php

Ahora modifique la configuración de la conexión a la base de datos (el nombre de la base de datos para WordPress, el nombre de usuario de la base de datos MariaDB y la contraseña del usuario) como se destaca en la siguiente captura de pantalla, para que su nuevo sitio de WordPress se conecte a la base de datos que creó para él.

Set Database Settings in WordPress Config
Configuración de la base de datos en WordPress Config

Creación de un bloque de servidor virtual NGINX (VirtualHost) para el sitio web de WordPress

9. Para que NGINX sirva su sitio web a los clientes que utilizan su nombre de dominio (por ejemplo, mysite.com), debe configurar un bloque de servidor virtual (análogo al host virtual en Apache) para su sitio en la configuración de NGINX.

Cree un archivo llamado mysite.com.conf en el directorio /etc/nginx/conf.d/ como se muestra.

$ sudo vim /etc/nginx/conf.d/mysite.com.conf

Copie y pegue la siguiente configuración en el archivo. Recuerde reemplazar mysite.com y www.mysite.com con el nombre de su dominio.

server { listen 80; listen :80; root /var/www/html/mysite.com; index index.php index.html index.htm; server_name mysite.com www.mysite.com; error_log /var/log/nginx/mysite.com_error.log; access_log /var/log/nginx/mysite.com_access.log; client_max_body_size 100M; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }}
Create Nginx Server Block for WordPress Website
Crear un bloque de servidor Nginx para el sitio web de WordPress

Nota: En la configuración anterior, el valor del parámetro fastcgi_pass debe apuntar al socket en el que PHP-FPM está escuchando, según lo definido por el valor del parámetro listen en el archivo de configuración del pool /etc/php/7.4/fpm/pool.d/www.conf. El valor por defecto es un socket UNIX /run/php/php7.4-fpm.sock.

10. Es importante destacar que NGINX normalmente enruta todas las peticiones al servidor por defecto. Por lo tanto, elimine el archivo de bloqueo del servidor predeterminado para que su nuevo sitio y otros sitios que pretenda configurar en el mismo servidor se carguen bien.

$ sudo rm /etc/nginx/sites-enabled/default$ sudo rm /etc/nginx/sites-available/default

11. A continuación, compruebe si la sintaxis de la configuración de NGINX presenta algún error antes de reiniciar el servicio Nginx para aplicar los cambios anteriores.

$ sudo nginx -t$ sudo systemctl restart nginx
Check Nginx Configuration
Comprobar la configuración de Nginx

Completar la instalación de WordPress a través del instalador web

12. A continuación, debe completar la instalación de WordPress mediante el instalador web. Abra un navegador web y utilice su nombre de dominio para navegar:

http://mysite.com/ORhttp://SERVER_IP/

Cuando se cargue el instalador web, elija el idioma que prefiera para el proceso de instalación y haga clic en Continuar.

Select WordPress Installation Language
Seleccione el idioma de instalación de WordPress

13. A continuación, rellene la información necesaria sobre su nuevo sitio web. Es decir, el título del sitio, el nombre de usuario administrativo, la contraseña del usuario y la dirección de correo electrónico. A continuación, haga clic en Instalar WordPress. Tenga en cuenta que siempre puede editar esta información más adelante.

Add WordPress Site Details
Agregar detalles del sitio de WordPress

14. Una vez instalado WordPress con éxito, proceda a acceder al panel de control del administrador del sitio web haciendo clic en el botón de inicio de sesión como se destaca en la siguiente pantalla.

WordPress Installation Complete
Instalación de WordPress completa

15. En la página de inicio de sesión del administrador del sitio web, proporcione su nombre de usuario y contraseña creados anteriormente y haga clic en el inicio de sesión, para acceder al panel de administración de su sitio.

WordPress Login
Inicio de sesión de WordPress
WordPress Dashboard
Panel de control de WordPress

¡Felicidades! Has instalado con éxito la última versión de WordPress con NGINX en Ubuntu 20.04, para empezar a construir tu nuevo sitio web o blog.

Para ejecutar un sitio seguro, necesitas habilitar HTTPS instalando un certificado SSL/TLS para la comunicación cifrada con los clientes. En un entorno de producción, se recomienda utilizar Let’s Encrypt certificado es libre automatizado, abierto, y de confianza por la mayoría, si no todos los navegadores web modernos. Alternativamente, usted puede comprar uno de una autoridad de certificación comercial (CA).