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 contenido de código abierto más utilizados para crear un sitio web o blog utilizando sus potentes funciones, hermosos diseños y, sobre todo, la libertad de construye lo que quieras.

En este artículo, aprenderá cómo instalar WordPress con el servidor web Nginx en Ubuntu 20.04. Para instalar WordPress, debe tener la pila LEMP instalada en su servidor Ubuntu 20.04; de lo contrario, consulte nuestra guía:

  • Cómo instalar LEMP Stack con PhpMyAdmin en Ubuntu 20.04

Instalación de WordPress en Ubuntu 20.04

1. Una vez que tenga la pila LEMP en su lugar, continúe para descargar y configurar WordPress desde su sitio oficial usando el siguiente comando wget.

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

2. Cuando el paquete haya terminado de descargarse, extraiga el archivo archivado con el comando tar como se muestra.

$ tar -xzvf latest.tar.gz

3. Ahora copie el contenido de la carpeta wordpress en la carpeta de su sitio web (por ejemplo, mysite.com ) que debe almacenarse en la raíz del documento web del servidor web (/var/www/html/), como se muestra.

Tenga en cuenta que al usar 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/

4. A continuación, configure los permisos correctos en el directorio del sitio web /var/www/html/mysite.com . El usuario del servidor web y el grupo www-data 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

Creación de una base de datos de WordPress para un sitio web

5. WordPress requiere una base de datos para el almacenamiento de datos del sitio web. Para crear uno para su sitio, inicie sesión en el shell MariaDB usando el comando mysql usando la opción -u para proporcionar el nombre de usuario y -p para la contraseña y también use sudo si accede como usuario raíz 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 usar sus valores en lugar de "mysite", "mysiteadmin" y "[email protected] ! ”).

MariaDB [(none)]> CREATE DATABASE mysite;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY  '[email protected]!';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

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. Vaya a la raíz del documento del sitio web /var/www/html/mysite.com y cree un archivo wp-config.php a partir del archivo de muestra que se proporciona de forma predeterminada.

$ 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 , ábralo para editarlo.

$ sudo vim wp-config.php

Ahora modifique la configuración de conexión de 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 resalta en la siguiente captura de pantalla, para que su nuevo sitio de WordPress se conecte a la base de datos que creó para él.

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 usan 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 NGINX configuración.

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 su nombre de 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;
        }
}

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

10. Es importante destacar que NGINX normalmente enruta todas las solicitudes al servidor predeterminado. Por lo tanto, elimine el archivo de bloqueo del servidor predeterminado para permitir que su nuevo sitio y otros sitios que desee 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 la sintaxis de configuración de NGINX en busca de errores antes de poder reiniciar el servicio Nginx para aplicar los cambios anteriores.

$ sudo nginx -t
$ sudo systemctl restart nginx

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

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

http://mysite.com/
OR
http://SERVER_IP/

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

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

14. Una vez que WordPress se haya instalado correctamente, proceda a acceder al panel del administrador del sitio web haciendo clic en el botón de inicio de sesión como se resalta en la siguiente pantalla.

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 iniciar sesión para acceder al panel de administración de su sitio.

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

Para ejecutar un sitio seguro, debe 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. El certificado es gratuito, automatizado, abierto y en el que confían la mayoría, si no todos, los navegadores web modernos. Alternativamente, puede comprar uno de una autoridad de certificación comercial (CA).