GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Ubuntu 20.04:instalación de WordPress con Nginx

WordPress es un sistema de gestión de contenido (CMS) extremadamente popular para sitios web. Su popularidad y ubicuidad realmente no se pueden subestimar, ya que impulsa un asombroso 35% de los sitios web. Es una manera fácil de poner un sitio web en línea y ofrece mucho en cuanto a la personalización.

Ubuntu 20.04 Focal Fossa y Nginx son la combinación perfecta para ejecutar su sitio de WordPress. El uso de estas utilidades le brindará un sitio web muy poderoso, eficiente y estable. Lo mejor de todo es que todo este software es completamente gratuito y la configuración no es muy difícil. Siga nuestros pasos a continuación para ver cómo poner en funcionamiento su sitio de WordPress en Ubuntu 20.04 con Nginx.

Si está más familiarizado o prefiere Apache sobre Nginx, hemos escrito una guía separada para la instalación de Ubuntu 20.04 WordPress en Apache.

En este tutorial aprenderás:

  • Cómo instalar y configurar Nginx
  • Cómo instalar y configurar MariaDB para MySQL
  • Cómo configurar una base de datos MySQL para WordPress
  • Cómo descargar e instalar WordPress
  • Cómo configurar SSL para su sitio de WordPress

Ejecución de un sitio web de WordPress en Ubuntu 20.04 con Nginx

Instalar Nginx, PHP y MySQL

Antes de instalar WordPress, nuestro sistema Ubuntu 20.04 necesitará tres componentes principales para ejecutarlo:Nginx, PHP y MySQL. Nginx es para nuestro servidor web, PHP es para mostrar contenido dinámico y MariaDB (una bifurcación de código abierto de MySQL) es para nuestra base de datos. Puede instalar estos paquetes abriendo una terminal y escribiendo los siguientes dos comandos:

$ sudo apt update$ sudo apt install nginx mariadb-server mariadb-client php-fpm php-mysql

Configurar MySQL

MySQL requiere un poco de configuración antes de que podamos comenzar a crear una base de datos. Primero repasemos la configuración de seguridad inicial. Escribe el siguiente comando en la terminal:

$ sudo mysql_secure_installation

Se le pedirá que establezca una contraseña de root para MySQL y luego algunas preguntas de seguridad. Puedes responder y (sí) a todas las preguntas y luego se completará la configuración.

Pasando por la configuración de seguridad de MySQL

Cubrimos más a fondo la configuración de MySQL en nuestro artículo Instalación de MySQL en Ubuntu 20.04, aunque la configuración anterior es realmente todo lo que necesita hacer.

Crear una base de datos para WordPress

Su sitio de WordPress necesitará una base de datos para almacenar toda la información del usuario, publicar contenido, etc. Siga estos pasos para preparar su base de datos y el usuario de MySQL:

  1. Inicie MySQL como usuario root:
    $ sudo mysql
  2. Crear una nueva base de datos para WordPress:
    MariaDB [(none)]> CREAR BASE DE DATOS wordpress_db;
  3. A continuación, cree un nuevo usuario de base de datos para WordPress. El mi_contraseña el texto a continuación debe reemplazarse con la contraseña deseada (segura):
    MariaDB [(ninguna)]> CREAR USUARIO 'wordpress_user'@'localhost' IDENTIFICADO POR 'mi_contraseña';
  4. Ahora, debemos otorgarle a nuestro usuario de WordPress permisos completos en la base de datos de WordPress:
    MariaDB [(ninguno)]> OTORGAR TODOS LOS PRIVILEGIOS EN wordpress_db.* a wordpress_user@'localhost';
  5. Finalmente, guarde los cambios que hemos hecho en los permisos de usuario y salga de la base de datos:
    MariaDB [(none)]> FLUSH PRIVILEGES;MariaDB [(none)]> exit

    Creando la nueva base de datos y usuario para WordPress en MySQL

Configurar Nginx

Antes de que podamos descargar WordPress, necesitaremos configurar correctamente Nginx para alojar nuestro sitio web. Vamos a llamar a nuestro sitio web "wordpress" dentro de toda la configuración de Nginx, pero puede elegir otro nombre si lo desea.

Primero, cree un archivo de configuración en /etc/nginx/sites-available directorio usando nano o su editor de texto favorito:

$ sudo nano /etc/nginx/sitios-disponibles/wordpress

Puede pegar el siguiente contenido en su archivo recién creado, que es una configuración Nginx bastante estándar.

servidor { escuchar 80; escucha [::]:80; raíz /var/www/wordpress; índice índice.php; nombre_servidor 127.0.0.1; ubicación / { try_files $uri $uri/ =404; } ubicación ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; }} 

Aquí hay algunas líneas que quizás debas cambiar. La línea 9 debe contener su nombre de dominio en lugar de 127.0.0.1 , a menos que no tenga un nombre de dominio. La línea 17 debe actualizarse con el número de versión de su PHP instalado. Para verificar su versión de PHP, ejecute php --version comando en la terminal.

Archivo de configuración de Nginx para nuestro sitio de WordPress

Una vez que haya realizado las ediciones de configuración, puede guardar los cambios en este archivo y cerrarlo. Los últimos pasos en la configuración de Nginx son eliminar el sitio predeterminado, habilitar su sitio web y reiniciar Nginx para que los cambios surtan efecto:

$ sudo rm /etc/nginx/sites-enabled/default$ sudo ln -s /etc/nginx/sites-disponible/wordpress /etc/nginx/sites-enabled/wordpress$ sudo systemctl restart nginx

Descargar e instalar WordPress

Ahora que se han cumplido todos los requisitos previos, finalmente podemos continuar con la instalación de WordPress.

  1. Primero, descargue la última versión de WordPress usando wget :
    $ wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
  2. Descomprima el archivo de WordPress descargado en el directorio del sitio:
    $ sudo tar -xzvf /tmp/wordpress.tar.gz -C /var/www
  3. Cambie la propiedad del directorio del sitio:
    $ sudo chown -R www-data.www-data /var/www/wordpress
  4. Abra su navegador de Internet y vaya a 127.0.0.1 o su nombre de dominio completo. Será recibido por el asistente de configuración de WordPress. Haga clic en el botón "Vamos" para comenzar con la configuración.

    Página de configuración de WordPress
  5. La siguiente pantalla nos pide información sobre la configuración de nuestra base de datos. Ingrese los valores que estableció anteriormente y luego haga clic en "Enviar". Los dos últimos cuadros (host de la base de datos y prefijo de la tabla) se pueden dejar en sus valores predeterminados.

    Ingrese la información de la base de datos MySQL para WordPress
  6. WordPress debería confirmar que puede comunicarse con la base de datos MySQL. Haga clic en "Ejecutar la instalación" para comenzar a instalar WordPress.

    WordPress confirma que puede conectarse a la base de datos MySQL
  7. Ahora se le pedirá que complete cierta información general sobre su nuevo sitio web:su nombre, nombre de usuario de administrador, contraseña, etc. Complételo y luego haga clic en "instalar WordPress" en la parte inferior.

    Ingrese información sobre su nuevo sitio de WordPress
  8. La instalación debe estar completa y puede iniciar sesión en su nuevo sitio web para comenzar a crear contenido.

    La instalación de WordPress se completó con éxito

Siempre puede acceder al panel de administración de WordPress navegando a http://127.0.0.1/wp-admin (o reemplazando 127.0.0.1 con su nombre de dominio completo).

Panel de administración de WordPress

Los cambios que realice en el panel de administración se reflejarán en el sitio web:

Nuestro nuevo sitio web de WordPress está operativo

Configuración SSL opcional

Antes de terminar, también le mostraremos cómo habilitar SSL en su nuevo sitio de WordPress. Esto es puramente opcional, ya que su sitio funcionará perfectamente bien sin él, pero ofrece seguridad adicional y brinda a los usuarios una sensación cálida y confusa al ver el candado junto a su nombre de dominio en la barra de URL de su navegador.

  1. Empiece por generar un nuevo certificado autofirmado con el siguiente comando y responda las pocas preguntas que se le soliciten. Para el "nombre común", ingrese la dirección IP de su sitio web o el nombre de dominio completo:
    $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned .key -out /etc/ssl/certs/nginx-selfsigned.crt

    Rellenar la información del certificado SSL
  2. A continuación, cree un nuevo archivo de configuración SSL en la siguiente ubicación:
    $ sudo nano /etc/nginx/snippets/self-signed.conf
  3. En este archivo, ingrese las dos líneas siguientes, antes de guardar los cambios y salir del archivo:
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;ssl_certificate_key /etc/ssl/private/nginx-selfsigned. clave;

    Configuración del fragmento SSL self-signed.conf
  4. Luego, necesitamos crear otro fragmento de configuración:$ sudo nano /etc/nginx/snippets/ssl-params.conf
  5. Ingrese los siguientes contenidos en este archivo, luego guárdelo y ciérrelo. Tenga en cuenta que dado que estamos utilizando un certificado autofirmado, las líneas 9 y 10, que se relacionan con el engrapado SSL, se han comentado. Si no está utilizando un certificado autofirmado, elimine el comentario de esas dos líneas. GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256->ssl_ecdh_curve secp384r1; ssl_session_timeout 10m;ssl_session_cache shared:SSL:10m;ssl_session_tickets desactivado; # ssl_grapado activado; # ssl_stapling_verify activado; resolver 8.8.8.8 8.8.4.4 válido=300s;resolver_timeout 5s;add_header X-Frame-Options DENY;add_header X-Content-Type-Options nosniff;add_header X-XSS-Protection "1; mode=block";

    Configuración del fragmento SSL ssl-params.conf
  6. Luego, ejecute el siguiente comando para generar el dhparam.pem archivo:
    $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

    Generando el archivo dhparam.pem
  7. Ahora que la configuración de SSL está completa, necesitamos configurar Nginx para usar SSL. Abra el archivo de configuración de Nginx que creamos anteriormente para nuestro sitio de WordPress:
    $ sudo nano /etc/nginx/sites-disponible/wordpress
  8. Dentro del servidor bloque, necesitamos agregar las siguientes cuatro líneas:
     listen 443 ssl; escucha [::]:443 ssl; incluir fragmentos/autofirmado.conf; incluir fragmentos/ssl-params.conf;

    Estas cuatro líneas son necesarias para habilitar SSL en nuestro sitio de WordPress
  9. Guarde sus cambios en ese archivo antes de cerrarlo y luego reinicie Nginx:
    $ sudo systemctl restart nginx

Su sitio de WordPress ahora podrá usar el cifrado SSL:

El sitio web de WordPress ahora usa encriptación SSL (HTTPS)

Conclusión

WordPress es utilizado por millones, desde compañías Fortune 500 hasta blogueros de poca monta. Utiliza componentes de primera línea y funciona maravillosamente en Ubuntu 20.04 Focal Fossa, una combinación que es realmente difícil de superar.

En este artículo, vimos cómo instalar y configurar Nginx, PHP y MySQL para ejecutar un sitio web de WordPress. Aunque la configuración lleva un poco de tiempo, vale la pena. Nginx es más rápido que otros servidores web, y WordPress le brinda un sitio web ingenioso desde el primer momento.


Ubuntu
  1. Cómo instalar Nginx con PHP5 y MySQL en Ubuntu 11.10

  2. Instalar WordPress en Nginx Ubuntu

  3. Instalar phpMyAdmin con Nginx en Ubuntu 18.04 - ¿Proceso paso a paso?

  4. Aloja WordPress en Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  5. Instalar WordPress con Varnish y Nginx en Ubuntu

Instale WordPress con LEMP Stack en Ubuntu 20.04

Cómo instalar WordPress 5.x con Nginx en Ubuntu 18.04 / Ubuntu 16.04

Cómo instalar WordPress con Nginx en Ubuntu

Instale WordPress con LEMP Stack en Ubuntu 20.04

Cómo instalar WordPress con Nginx en Ubuntu 20.04

Instalar WordPress con Nginx en Ubuntu 18.04

    Requisitos de software y convenciones de línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Ubuntu 20.04 instalado o Ubuntu 20.04 Focal Fossa actualizado
    Software WordPress, Nginx, PHP, MariaDB (MySQL)
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios