Cómo instalar WordPress con Nginx en Debian y Ubuntu


NGINX (pronunciado engine-x ) es un servidor HTTP potente, ligero y flexible de código abierto que ha ganado popularidad en los últimos años y ahora es la interfaz principal del servidor que impulsa algunos de los sitios web de mayor tráfico en estos días, como Facebook , WordPress , Sourceforge u otros.

Lo que lo hace tan rápido y confiable es el hecho de que usa el mismo diseño modular que Apache , pero tiene un enfoque diferente con respecto a los sockets web, utilizando una arquitectura asíncrona controlada por eventos que no genera procesos como tan rápido como recibe solicitudes y también utiliza archivos de configuración simples.

Para los sistemas basados u200bu200ben Ubuntu y Debian , Nginx ya está compilado como un paquete en sus repositorios y se puede instalar mediante la utilidad de paquete apt.

También es compatible con hosts virtuales como Apache y utiliza un canal Fastcgi para comunicarse con archivos PHP en el servidor a través de PHP-FPM.

Este tutorial cubre la instalación y las configuraciones básicas de archivos para que Nginx aloje un sitio web de WordPress CMS en un host virtual y la configuración se aplica a Ubuntu 18.04/20.04 , Debian 10/9 y Linux Mint 20/19/18 .

Instalación del servidor web Nginx

1. La instalación de Nginx para Ubuntu , Debian o Linux Mint es tan sencilla como cualquier otro paquete y se puede instalar con un simple comando.

$ sudo apt-get install nginx

2. A continuación, inicie, habilite y verifique el estado de Nginx utilice los siguientes comandos systemctl.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

Instalación de PHP y MariaDB Server

3. Para que Nginx pueda ejecutar WordPress , debe instalar los paquetes PHP, PHP-FPM y MariaDB.

$ sudo apt-get install php php-mysql php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip mariadb-server mariadb-client

4. A continuación, verifique que el servicio de base de datos MariaDB se esté ejecutando y habilitado para iniciarse automáticamente cuando se inicie su sistema.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb

5. Para comunicarse con el backend FastCGI , el servicio PHP-FPM debe estar activo en el servidor.

$ sudo systemctl start php7.4-fpm
$ sudo systemctl enable php7.4-fpm
$ sudo systemctl status php7.4-fpm

6. Ahora necesita hacer que su instalación de MariaDB sea segura ejecutando el script mysql_secure_installation que viene con el paquete MariaDB.

$ sudo mysql_secure_installation

Después de ejecutar el script, lo llevará a través de una serie de preguntas donde puede responder yes (y) para mejorar la seguridad de su instalación de MariaDB de las siguientes maneras:

  • Enter current password for root (enter for none): Enter
  • Set a root password? [Y/n] y
  • Remove anonymous users? [Y/n] y
  • Disallow root login remotely? [Y/n] y
  • Remove test database and access to it? [Y/n] y
  • Reload privilege tables now? [Y/n] y

Instalación de WordPress

7. Un WordPress requiere una base de datos para almacenar datos en el servidor, así que cree una nueva base de datos de WordPress para su sitio web usando el comando mysql como se muestra.

# mysql -u root -p
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;

8. Ahora es el momento de crear una ruta raíz de host virtual de WordPress , descargar el archivo de WordPress, extraerlo y luego emitir una copia recursiva en /var/www/html/wordpress .

$ sudo mkdir -p /var/www/html/mysite.com
$ wget http://wordpress.org/latest.tar.gz
$ tar xfvz latest.tar.gz
$ sudo cp -r wordpress/* /var/www/html/mysite.com

9. Para una instalación fluida de WordPress sin ningún error de archivo de creación de wp-config.php , conceda a los usuarios del sistema www-data de Nginx permiso de escritura sobre /var/www/html/mysite.com la ruta y revertir los cambios después de instalar WordPress.

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

Creación de un host virtual NGINX para el sitio web de WordPress

10. Ahora es el momento de crear un host virtual básico para el sitio web de WordPress en el servidor Nginx . Ejecute el siguiente comando para crear un archivo de configuración del servidor de WordPress.

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

Luego agregue el siguiente contenido.

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; } }

11. De forma predeterminada, Nginx enruta todas las solicitudes al bloque del servidor default . Por lo tanto, elimine el bloque de servidor default para habilitar su sitio web de WordPress u otros sitios web que desee alojar en el mismo servidor más adelante.

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

12. 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 nuevos cambios.

$ sudo nginx -t
$ sudo systemctl restart nginx

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

13. Ahora abra su navegador web y complete la instalación de WordPress usando el instalador web.

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

14. Luego, agregue la información del sitio web, como el título, el nombre de usuario del administrador, la contraseña y la dirección de correo electrónico. Luego haga clic en Instalar WordPress para continuar con la instalación.

15. Una vez que finalice la instalación de WordPress, 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.

16. 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.

17. Una vez completada la instalación, deshaga los permisos emitiendo el siguiente comando.

$ sudo chown -R root /var/www/html/mysite.com

Habilitar HTTPS en WordPress

18. Si desea habilitar HTTPS en su sitio web de WordPress, debe instalar un certificado SSL gratuito de Let's Encrypt como se muestra.

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository universe
$ sudo apt-get update
$ sudo apt-get install certbot python3-certbot-nginx
$ sudo certbot --nginx

Para confirmar que su sitio de WordPress está configurado correctamente con un certificado SSL gratuito, visite su sitio web en https://yourwebsite.com/ y busque el icono de candado en la barra de URL. Alternativamente, puede verificar el HTTPS de su sitio en https://www.ssllabs.com/ssltest/.

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