GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar WordPress con Nginx y Let's Encrypt SSL en Debian 11

WordPress es la plataforma de sitios web más popular en Internet. Es gratuito, de código abierto y funciona bien con casi cualquier servicio de alojamiento web, lo que lo convierte en uno de los más fáciles de instalar y usar.

Si aún no tiene alojamiento web, le recomendamos que instale WordPress en su máquina Debian local o VPS.

Aquí veremos cómo instalar WordPress con Nginx en Debian 11.

Instalar la pila LEMP

Siga los enlaces a continuación para instalar la pila LEMP en su sistema Debian para su instalación de WordPress.

Instalar EMP (Nginx, MariaDB y PHP) en Debian 11

Configurar el host virtual de Nginx

Comenzaremos con la creación de un host virtual para una instalación de WordPress. Puede encontrar todos los archivos de configuración del host virtual de Nginx en /etc/nginx/conf.d directorio. Por lo general, los archivos de host virtual contienen un nombre de dominio, número de puerto, raíz de documento, ubicación de registro, CGI rápido, etc.

Suponga lo siguiente,

Nombre de dominio:itzgeek.net, www.itzgeek.net
Número de puerto:80
Raíz del documento:/usr/share/nginx/www.itzgeek.net/html
Registros: /usr/share/nginx/www.itzgeek.net/logs

Cree una configuración de host virtual.

sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf

Luego, coloque el siguiente contenido en el archivo de configuración anterior. Deberá cambiar server_name según su requerimiento.

server {
	server_name itzgeek.net www.itzgeek.net;
	root /usr/share/nginx/www.itzgeek.net/html;

	index index.php index.html;

	access_log /usr/share/nginx/www.itzgeek.net/logs/access.log;
	error_log /usr/share/nginx/www.itzgeek.net/logs/error.log;

	# Prevent access to hidden files
	location ~* /\.(?!well-known\/) {
		deny all;
	}

	# Prevent access to certain file extensions
	location ~\.(ini|log|conf)$ {
		deny all;
	}

        # Enable WordPress Permananent Links
	location / {
		try_files $uri $uri/ /index.php?$args;
	}

	location ~ \.php$ {
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}

Cree un directorio raíz de documentos y registros.

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/

Verifique el archivo de configuración de Nginx con el siguiente comando.

sudo nginx -t

Si obtiene lo siguiente, significa que la configuración del host virtual es correcta.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reinicie los servicios Nginx y PHP-FPM.

sudo systemctl reload nginx php7.4-fpm

Crear registro DNS

Vaya a su registrador de dominios y cree un registro A y CNAME (opcional si no desea utilizar el subdominio www) para su dominio. Por lo general, tendrá que hacer dos registros para su sitio web de WordPress.

  1. Nombre de dominio que no es www (Ej. itzgeek.net)>> A punto de registro a la IP de su servidor
  2. www nombre de dominio (por ejemplo, www.itzgeek.net) >> CNAME punto de registro a itzgeek.net

Para esta demostración, crearé dos registros para que mi sitio web de WordPress sea accesible en www.itzgeek.net.

Instalar el certificado SSL de Let's Encrypt

Instalar cliente Certbot

El cliente de Certbot, que nos ayuda a generar e instalar el certificado SSL de Let's Encrypt, ahora está disponible como un paquete instantáneo para el sistema operativo Debian. Entonces, primero, instale el demonio snapd en su sistema.

sudo apt update

sudo apt install -y snapd

Luego, actualice snapd a la última versión.

sudo snap install core && sudo snap refresh core

Finalmente, instale el cliente Certbot usando el siguiente comando.

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Instalar certificado SSL

Utilice el siguiente comando para generar e instalar el certificado SSL de Let's Encrypt para el servidor web Nginx.

sudo certbot --nginx
1. Ingrese la dirección de correo electrónico recibir notificación sobre renovación urgente y avisos de seguridad
2. Escribe Y y presiona Enter registrarse en el servidor ACME
3. Escriba Y o N para recibir correos electrónicos sobre noticias, campañas, boletines de EFF.
4. Certbot detectará automáticamente el dominio de WordPress y le pedirá permiso para activar HTTPS para su sitio web de WordPress. Escriba 1 o los números apropiados separados por una coma en caso de que tenga varios sitios web.
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: itzgeek.net
2: www.itzgeek.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

Espere a que se complete la instalación de SSL. Ahora podrá acceder al sitio web con HTTPS.

Nota: Si accede al sitio web ahora, recibirá un error 403 prohibido porque aún no ha colocado los archivos de WordPress.

Redirigir solicitudes HTTP que no sean www a www HTTPS con Nginx

Es posible que desee configurar el servidor Nginx para redirigir el tráfico desde el sitio HTTP que no es www al sitio WWW HTTPS, es decir, http://itzgeek.net>> https://www.itzgeek.net.

Certificado SSL de renovación automática

El cliente de Certbot ahora incluye la renovación automática de certificados SSL a través de systemd. Por lo tanto, no tendrá que renovar los certificados manualmente.

Instalar WordPress con Nginx

Crear base de datos de WordPress

Primero, inicie sesión en el servidor de base de datos MariaDB/MySQL.

sudo mysql -u root -p

Luego, cree la base de datos para la instalación de WordPress junto con el usuario y la contraseña de la base de datos.

CREATE DATABASE wpdatabase;

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppassword';

GRANT ALL PRIVILEGES ON wpdatabase.* TO 'wpuser'@'localhost';

EXIT

Descargar WordPress

Descargue la última versión del instalador de WordPress usando el siguiente comando.

curl -O https://wordpress.org/latest.tar.gz

Luego, extraiga el archivo descargado.

tar -zxvf latest.tar.gz

Y luego, mueva los archivos al directorio raíz de documentos de su sitio web.

sudo mv wordpress/* /usr/share/nginx/www.itzgeek.net/html/

Actualice la propiedad y un grupo del directorio de WordPress.

sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/

Instalar WordPress

Abra su navegador y visite el dominio de su sitio web de WordPress para realizar la instalación de WordPress.

https://tu-sitio-web-de-wordpress

1. Elija el Idioma de instalación y haz clic en Continuar

2. Haz clic en ¡Vamos!

3. Introduzca los detalles de la base de datos de WordPress y luego haga clic en Enviar

4. Haga clic en Ejecutar la instalación

5. Introduzca la información del sitio web de WordPress y luego haga clic en Instalar WordPress

6. Haga clic en Iniciar sesión para acceder al backend de administración de WordPress para administrar la instalación de WordPress. Alternativamente, puede acceder al backend de WordPress yendo a https://your-wordpress-website/wp-admin

Acceder al sitio web de WordPress

Ahora podrá acceder al sitio con su nombre de dominio.

https://tu-sitio-web-de-wordpress

Conclusión

Eso es todo. Espero que hayas aprendido a instalar WordPress con Nginx en Debian 11.


Debian
  1. Instale Lets Encrypt and Secure Nginx con SSL/TLS en Debian 9

  2. Instale Automad CMS con Nginx y Lets Encrypt SSL en Debian 10

  3. Cómo instalar WordPress con Nginx y Lets Encrypt SSL en CentOS 8

  4. Cómo instalar Let's Encrypt SSL en Ubuntu 18.04 con Nginx

  5. Cómo instalar WordPress con Nginx en Debian 10

Cómo instalar Let's Encrypt SSL en Apache en Debian 11

Cómo instalar Drupal con Nginx y Let's Encrypt SSL en Debian 11

Cómo instalar Joomla con Nginx y Let's Encrypt SSL en Debian 11

Cómo instalar Let's Encrypt SSL en Nginx en Debian 11

Cómo instalar Nginx con Let's Encrypt TLS/SSL en Ubuntu 20.04

Cómo instalar Nginx con Let's Encrypt SSL en Fedora 35