Cómo instalar WordPress con Nginx en Debian 12 u 11

WordPress es un sistema de gestión de contenidos (CMS) potente y ampliamente utilizado que permite a los usuarios crear y gestionar sitios web con facilidad. Cuando se combina con la pila LEMP (Linux, NGINX, MariaDB, PHP), WordPress se convierte en una plataforma robusta y de alto rendimiento para el desarrollo web. La pila LEMP es conocida por su eficiencia, velocidad y escalabilidad, lo que la hace ideal para alojar sitios web de WordPress. Las características clave de WordPress incluyen una interfaz intuitiva, un extenso ecosistema de complementos, temas personalizables y un sólido soporte comunitario.

Para instalar WordPress en Debian 12 u 11 con NGINX, MariaDB y PHP, siga estos pasos. Esta guía cubrirá la configuración de la pila LEMP, la instalación de WordPress y las configuraciones esenciales para que su sitio esté funcionando sin problemas.

Instalar LEMP para WordPress

Actualice Debian antes de instalar la pila LEMP

Antes de instalar WordPress, actualice su sistema Debian para evitar posibles conflictos. Abre tu terminal y ejecuta:

sudo apt update && sudo apt upgrade

Este comando actualiza los paquetes disponibles y mejora su sistema.

Instale los paquetes necesarios

Incluso si tienes algunos paquetes esenciales para WordPress, vuelve a verificar para asegurarte de que no te perdiste ninguno. Ejecute el siguiente comando:

sudo apt install curl git wget unzip zip

Este comando instala o confirma los paquetes necesarios para WordPress.

Instalar Nginx - Parte 1 de la instalación de LEMP

Para configurar una pila LEMP, necesita instalar Nginx. Ejecute este comando:

sudo apt install nginx

Después de la instalación, verifique si Nginx se está ejecutando:

systemctl status nginx

Si el servicio Nginx no está activo, puede ponerlo en marcha con el siguiente comando:

sudo systemctl enable nginx --now

Este comando garantiza que Nginx se inicie con cada reinicio del servidor, lo cual es esencial para una pila LEMP funcional.

Nota: Es mejor utilizar la última versión principal de Nginx para optimizar el rendimiento de WordPress. Puedes seguir la guía en instalación de Nginx Mainline en Debian Linux para instalar la última versión. Esta versión ofrece características y mejoras adicionales para mejorar la velocidad y el rendimiento general de su sitio web.

Configuración del cortafuegos UFW para Nginx

Configurar el firewall UFW con su servidor Nginx es crucial para la seguridad y para permitir el acceso externo a los puertos web estándar. La buena noticia es que Nginx ofrece perfiles que simplifican el proceso de configuración de UFW.

Instalación de UFW:

Si aún no ha instalado UFW en su sistema Debian, ejecute el siguiente comando:

sudo apt install ufw

Activando UFW:

Una vez instalado, es hora de activar UFW. De forma predeterminada, UFW bloquea todas las conexiones entrantes y permite todas las salientes. Active el firewall con:

sudo ufw enable

Visualización de perfiles de Nginx:

Para verificar los perfiles de Nginx disponibles para UFW, ejecute lo siguiente:

sudo ufw app list

En el resultado, notarás que:

  • Nginx opera en el puerto 80 (HTTP)
  • Nginx Secure opera en el puerto 443 (HTTPS)
  • Nginx Full abarca ambos puertos

Configurando UFW para Nginx:

Si desea habilitar el acceso HTTP y HTTPS, opte por el perfil completo de Nginx:

sudo ufw allow 'Nginx Full'

Sin embargo, sus requisitos pueden diferir:

Para acceso solo HTTPS, elija el perfil Nginx Secure:

sudo ufw allow 'Nginx Secure'

Acceso solo HTTP, vaya con el perfil HTTP de Nginx:

sudo ufw allow 'Nginx HTTP'

Puede crear otras reglas UFW para proteger su servidor y la configuración LEMP con WordPress, y debe invertir tiempo en bloquear su servidor si está expuesto al público.

Instalar MariaDB - Parte 2 de la instalación de LEMP

MariaDB, conocida por su rendimiento mejorado sobre MySQL, es el componente de base de datos en la pila LEMP. Si desea instalar una versión específica de MariaDB desde los repositorios oficiales de MariaDB.org, consulte las guías en instalar MariaDB en Debian. Esto puede optimizar aún más el rendimiento de su WordPress.

Para instalar MariaDB, ejecute:

sudo apt install mariadb-server mariadb-client

Después de la instalación, verifique el estado de MariaDB:

systemctl status mariadb

Este comando muestra el estado del servicio de MariaDB y cualquier error potencial.

Si MariaDB no se está ejecutando, inícielo con:

sudo systemctl enable mariadb --now

Esto garantiza que MariaDB se inicie con cada reinicio del sistema, lo cual es vital para una pila LEMP estable y una configuración de WordPress.

Asegure MariaDB con script de seguridad

Para la protección de datos, debe proteger su instalación de MariaDB. Las instalaciones nuevas de MariaDB pueden tener valores predeterminados de seguridad laxos, exponiéndolos a amenazas. Sin embargo, el script mysql_secure_installation puede reforzar las defensas de su base de datos.

Ejecute el script de seguridad:

sudo mysql_secure_installation

Este script lo guía a través de varias configuraciones de seguridad:

  • Configurar la contraseña de root u optar por unix_socket para prevenir el acceso no autorizado.
  • Eliminar cuentas de usuarios anónimos para limitar el acceso a la base de datos a usuarios autorizados.
  • Restringir el inicio de sesión remoto para cuentas de usuario root.
  • Eliminar la base de datos de prueba para evitar accesos no autorizados y posibles fugas de datos.

Responda cada pregunta con atención; Estas configuraciones afectan profundamente la seguridad de su base de datos. Después de completar los pasos, la configuración de MariaDB debería ser segura y operativa.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Estas medidas de seguridad garantizan que su instalación de MariaDB esté segura y protegida contra amenazas.

Instalar PHP, PHP-FPM – Parte 3 de la instalación de LEMP

Para obtener una pila LEMP completa, necesita instalar PHP. PHP actúa como puente entre Nginx y MariaDB, facilitado por PHP-FPM y otros módulos esenciales para WordPress.

Nota: Si desea una versión PHP específica adaptada a sus necesidades, consulte nuestro guía sobre la instalación de PHP en Debian. Los nuevos usuarios de Linux deberían por ahora utilizar el valor predeterminado antes de instalar versiones personalizadas.

Ejecute el siguiente comando para instalar PHP, PHP-FPM y los módulos necesarios:

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

Después de la instalación, verifique el estado del servicio PHP, que es similar a lo que hizo para MariaDB y Nginx. Para este ejemplo, estamos usando PHP 7.4:

systemctl status php7.4-fpm

La salida debería verse así:

Nota: La versión PHP-FPM varía con cada versión estable de Debian. Si no está seguro acerca de su versión, ejecute php -v descubrir.

Configuración previa a la instalación de WordPress con LEMP

Crear estructura de directorios de WordPress

Para instalar WordPress en su pila Debian LEMP, puede: descargar la última versión desde la página de descarga oficial de WordPress.org o use el siguiente comando para descargarla directamente:

wget https://wordpress.org/latest.zip

Una vez descargado, descomprima el archivo en el directorio /var/www/html usando el siguiente comando:

sudo unzip latest.zip -d /var/www/html/

A continuación, asegúrese de que WordPress tenga los permisos de escritura correctos configurando los permisos del propietario del directorio para el usuario del servidor web.

Esto se puede hacer con el siguiente comando:

sudo chown -R www-data:www-data /var/www/html/wordpress/

Después de configurar el permiso del propietario del directorio, debe configurar los permisos correctos para las carpetas y archivos de WordPress usando los siguientes comandos:

Para carpetas:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

Y para archivos:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Establecer los permisos correctos para carpetas y archivos garantiza que su instalación de WordPress sea segura y funcione correctamente.

Crear una base de datos para WordPress

Para ejecutar WordPress en su pila Debian LEMP, debe crear una base de datos usando MariaDB. Acceda al shell MariaDB como root usando el siguiente comando:

sudo mariadb -u root

Una vez en el shell MariaDB, cree una nueva base de datos usando el siguiente comando:

CREATE DATABASE WORDPRESSDB;

A continuación, cree una nueva cuenta de usuario para WordPress con el siguiente comando:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Nota: Reemplace “WPUSER” y “PASSWORD” con el nombre de usuario y contraseña que desee.

Finalmente, asigne el acceso de la cuenta de usuario recién creada a la base de datos del sitio web de WordPress utilizando únicamente el siguiente comando:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Después de crear la cuenta de usuario, elimine los privilegios para garantizar que los nuevos cambios surtan efecto con el siguiente comando:

FLUSH PRIVILEGES;

Por último, salga del shell MariaDB escribiendo:

EXIT;

Establecer archivos de configuración de WordPress

Configurar los archivos de configuración de WordPress es un paso esencial en el proceso de instalación. Esto implica cambiar el nombre del archivo de muestra wp-config.php e ingresar los detalles de configuración necesarios.

Navegue al directorio de WordPress usando el siguiente comando:

cd /var/www/html/wordpress/

Copie wp-config-sample.php a wp-config.php usando el siguiente comando:

sudo cp wp-config-sample.php wp-config.php

Usando un editor de texto, abra el archivo wp-config.php recién copiado:

sudo nano wp-config.php

A continuación, ingrese el nombre de la base de datos, la cuenta de usuario con una contraseña y la dirección IP del host si es necesario.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

Además de estas configuraciones, también puedes agregar lo siguiente al archivo wp-config.php para mejorar la administración de WordPress:

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

El límite de memoria de su servidor dedicado o VPS puede variar según la capacidad de su sistema. Puede aumentar o disminuir el límite de memoria de 256 MB en pequeños incrementos, como 128 MB, 256 MB, 512 MB, etc.

Nota: Es importante tener en cuenta que se recomienda realizar solo pequeños ajustes en el límite de memoria para lograr un rendimiento y una estabilidad óptimos.

Implementación de claves salt de seguridad de WordPress

Mejorar la seguridad de su instalación de WordPress es primordial, y una forma efectiva de lograrlo es configurando claves salt de seguridad de WordPress. Estas claves actúan como un escudo de seguridad aumentado, fortaleciendo su sitio de WordPress contra amenazas potenciales y reforzando la autenticación del usuario y el cifrado de datos.

Generación de claves salt de seguridad

Para generar sus claves salt de seguridad, navegue hasta la API de clave secreta de WordPress: https://api.wordpress.org/secret-key/1.1/salt/. Una vez que haya generado estas claves, es vital reemplazar las líneas de marcador de posición en su archivo wp-config.php con sus claves únicas. Este paso fortalece la autenticación del usuario y el cifrado de datos.

Nota: No utilice las líneas de ejemplo proporcionadas aquí ni en ningún otro lugar, ya que tienen fines ilustrativos. El uso de claves salt preestablecidas puede exponer su sitio a vulnerabilidades. Genere siempre claves distintas para cada configuración de WordPress para garantizar una seguridad óptima.

Integración de claves salt de seguridad

Para incrustar las claves salt de seguridad recién generadas en su archivo wp-config.php, abra el archivo en un editor de texto:

sudo nano /var/www/html/wordpress/wp-config.php

Ahora, identifique las líneas en el archivo wp-config.php correspondientes a las claves de muestra. Una vez ubicada, reemplace cada clave de muestra en el archivo wp-config.php con sus claves recién generadas. Después de realizar los reemplazos necesarios, asegúrese de guardar y cerrar el archivo.

Si está utilizando el editor nano, guarde presionando "CTRL+X" seguido de "Y".

Configuración del bloque del servidor Nginx para la configuración LEMP de WordPress

Configurar correctamente el bloque del servidor Nginx es vital para una instalación perfecta de WordPress a través de la interfaz de usuario web. Es esencial obtener “try_files $uri $uri/ /index.php?$args;” derecho directivo. Omitir los “?$args” puede interferir con la API REST de WordPress. Para evitar posibles contratiempos durante la instalación, siga atentamente estas instrucciones.

Cree un nuevo archivo de configuración de servidor para su instalación de WordPress en Nginx. Reemplace "ejemplo.com" con su nombre de dominio real en el siguiente comando:

sudo nano /etc/nginx/sites-available/example.com.conf

Para que Nginx funcione con PHP, debe incluir la “ubicación ~ .php$” en el archivo de configuración del bloque del servidor. Aquí hay una configuración de muestra que puede usar como referencia.

Asegúrese de ajustar la ruta raíz y los nombres de dominio para que se ajusten a su configuración:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

Recuerde, ajuste el archivo de configuración de Nginx en consecuencia si ha instalado una versión diferente de PHP o PHP-FPM o si su versión de Debian tiene por defecto otra versión de PHP.

Por ejemplo, para PHP-FPM 8.2, cambie la línea fastcgi_pass unix:/run/php/php8.1-fpm.sock; a fastcgi_pass unix:/run/php/php8.2-fpm.sock;. Es esencial hacer coincidir la versión en la configuración con la de su sistema para una funcionalidad fluida.

Comprender el bloque del servidor Nginx de WordPress

Para aquellos nuevos en la configuración de Nginx y WordPress, aquí hay un desglose del ejemplo del bloque del servidor:

Configuración básica del servidor:

  • Estas configuraciones definen los aspectos fundamentales del bloque del servidor, como la dirección IP, el puerto para que Nginx escuche y los nombres del servidor.
  • La directiva raíz apunta al directorio principal que contiene los archivos del sitio web.
  • La directiva de índice indica a Nginx cómo identificar archivos de índice al servir el sitio.

Configuración de ubicación:

  • Estas configuraciones incluyen varios bloques de ubicación que dictan cómo Nginx procesa las solicitudes de diferentes URL.
  • El bloque de ubicación inicial gestiona las solicitudes a la URL raíz del sitio mediante la directiva try_files.
  • El bloque de ubicación posterior procesa solicitudes específicamente para el archivo sitemap.xml de WordPress.

Configuración de manejo de PHP:

  • Estas configuraciones determinan cómo Nginx procesa los archivos PHP.
  • La directiva fastcgi_pass apunta a la ubicación del archivo de socket PHP-FPM.
  • La directiva fastcgi_param asigna el valor del parámetro SCRIPT_FILENAME a la ubicación del archivo PHP solicitado.
  • Las directivas de inclusión extraen archivos de configuración adicionales para el módulo FastCGI.
  • Directivas como fastcgi_buffer_size y fastcgi_buffers designan el tamaño del búfer para la transferencia de datos entre Nginx y PHP-FPM.
  • La directiva fastcgi_intercept_errors permite a Nginx capturar y gestionar errores de PHP.

Configuración de compresión Gzip:

  • Estas configuraciones configuran la compresión Gzip, reduciendo el tamaño del archivo entregado al cliente.
  • La directiva gzip activa la compresión Gzip.
  • Directivas como gzip_comp_level y gzip_min_length determinan el nivel de compresión y el tamaño mínimo de archivo para la compresión, respectivamente.
  • La directiva gzip_proxied identifica qué tipos de solicitudes se someten a compresión.
  • La directiva gzip_types enumera los tipos MIME elegibles para la compresión.

Configuración de almacenamiento en caché de archivos:

  • Estas configuraciones optimizan el almacenamiento en caché para archivos estáticos, mejorando la velocidad del sitio web.
  • El bloque de ubicación inicial establece la duración de caducidad de los archivos multimedia y de activos.
  • El bloque de ubicación posterior establece la caducidad de los archivos SVG y de fuentes.
  • Directivas como access_log y log_not_found rigen el registro de solicitudes.
  • La directiva add_header agrega el encabezado Access-Control-Allow-Origin, lo que permite la carga de fuentes y SVG desde dominios externos.

Bloqueo de archivos .htaccess:

  • Esta configuración restringe el acceso a archivos que comienzan con .ht, normalmente archivos de configuración del servidor confidenciales.

Configurar el bloque del servidor Nginx con un enlace simbólico

Para finalizar la configuración del bloque del servidor Nginx, debe activar el archivo de configuración desde el directorio "sitios disponibles". Esto se logra creando un enlace simbólico al directorio de “sitios habilitados”.

Ejecute el siguiente comando, asegurándose de reemplazar "example.com.conf" con el nombre de su archivo de configuración:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Este comando establece un enlace simbólico entre los directorios, otorgando a Nginx acceso al archivo de configuración. Después de configurar esto, valide la configuración con:

sudo nginx -t

Si la prueba no arroja errores, reinicie Nginx para aplicar los cambios del bloque del servidor:

sudo systemctl restart nginx

Una vez completados estos pasos, ahora debería poder accederse a su sitio de WordPress a través de Nginx.

Configuración de PHP.ini para un rendimiento óptimo de WordPress

Ajustar la configuración de PHP es crucial para lograr el mejor rendimiento con WordPress. Para manejar archivos multimedia de manera eficiente en WordPress, considere aumentar el tamaño máximo de carga, el tamaño de publicación y el límite de memoria. Es posible que también deba modificar el tiempo máximo de ejecución y las variables de entrada para evitar posibles problemas.

Para acceder a su archivo php.ini, use la terminal. Recuerde, la ubicación del archivo puede diferir según su versión de PHP:

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

Para personalizar la configuración de PHP, busque y ajuste las siguientes líneas en su archivo php.ini:

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

Después de modificar la configuración de PHP, es vital reiniciar el servidor PHP-FPM. Esto garantiza que las nuevas configuraciones estén activas, lo que permite que su sitio de WordPress funcione de la mejor manera.

Aumentar el tamaño máximo del cuerpo del cliente del servidor Nginx

Para acomodar cargas de archivos más grandes en su sitio de WordPress, deberá modificar el bloque del servidor Nginx. Esto garantiza que Nginx pueda manejar cuerpos de solicitudes HTTP más grandes, lo cual es esencial cuando se trata de cargas de archivos de gran tamaño.

Modificar el bloque del servidor Nginx

Abra el archivo de configuración del bloque de su servidor e inserte la siguiente línea:

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

Asegúrese de que el valor de client_max_body_size se alinee con el upload_max_filesize que configuró en su configuración de PHP.

Reiniciando PHP-FPM

Después de ajustar la configuración de PHP para un rendimiento óptimo de WordPress, incluido el tamaño de carga, el tamaño de la publicación y el límite de memoria, es crucial reiniciar el servidor PHP-FPM para que los cambios surtan efecto. El comando exacto para reiniciar el servidor depende de su versión de PHP. Si no está seguro acerca de su versión de PHP, consulte la documentación de su sistema.

Para diferentes versiones de PHP, use los comandos correspondientes para reiniciar PHP-FPM:

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

Instalar la interfaz de WordPress

Después de finalizar la instalación y configuración del backend, es hora de iniciar el frontend de WordPress en su dominio. Comience la instalación dirigiéndote a tu dominio, con el prefijo “https://” o “http://”. Alternativamente, puede acceder directamente a “https://www.yoursite.com/wp-admin/install.php”.

Esta URL le dirige al asistente de instalación de front-end.

Paso 1: seleccione el idioma de WordPress

Seleccione el idioma deseado y haga clic "Continuar."

Paso 2: cree un usuario administrador para WordPress

A continuación, accederá a una página que le solicitará que ingrese el título de su sitio, nombre de usuario, contraseña y la dirección de correo electrónico del administrador principal del sitio de WordPress.

Por razones de seguridad, elija una contraseña segura y proporcione una dirección de correo electrónico válida. Recuerda que puedes modificar otras configuraciones más adelante dentro del panel de configuración de WordPress.

Para aquellos que desarrollan su sitio y desean mantenerlo privado de los motores de búsqueda como Google o Bing, existe una opción para "disuadir enfáticamente a los motores de búsqueda de indexarlo".

Paso 3: continúe y haga clic en el botón Instalar WordPress

Después de completar sus datos y preferencias, presione el “Instalar WordPress” botón. Una instalación exitosa lo redireccionará a la página de inicio de sesión.

Paso 4: Proceda a iniciar sesión en la página de administración de WordPress

Ingrese sus datos de inicio de sesión y presione "Iniciar sesión". Esta acción lo llevará al panel de WordPress, donde podrá crear o importar su sitio web.

Paso 5: Ver y ajustar el sitio de WordPress a través del administrador de WordPress

El panel de WordPress es su centro de comando. Aquí puede redactar nuevas publicaciones, diseñar páginas, manejar temas y complementos, y personalizar la apariencia, el contenido y las operaciones de su sitio.

Con su interfaz fácil de usar, el panel le permite establecer rápidamente su sitio web, permitiéndole diseñar un sitio atractivo y profesional con el mínimo esfuerzo.

Consejos adicionales para WordPress con Nginx

Proteger WordPress y Nginx con el certificado SSL Let's Encrypt

Mejorar la seguridad de su servidor web es primordial y una forma eficaz de lograrlo es ejecutando Nginx en HTTPS utilizando un certificado SSL. Let's Encrypt ofrece una autoridad de certificación abierta, automatizada y gratuita, lo que facilita la configuración de certificados SSL para su servidor Nginx.

Instalación de Certbot

Comience instalando el paquete certbot con el comando:

sudo apt install python3-certbot-nginx

Generando el certificado SSL

Una vez que haya instalado el paquete certbot, genere su certificado SSL con lo siguiente:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Certbot le pedirá que ingrese su correo electrónico y nombre de dominio durante este proceso. También tendrás la opción de recibir correos electrónicos de la EFF. Decida si desea participar según sus preferencias.

Después de instalar el certificado, la URL de su sitio web cambiará de HTTP a HTTPS. Los visitantes que accedan a la antigua URL HTTP serán redirigidos automáticamente a la nueva URL HTTPS. Esta configuración garantiza redirecciones HTTPS 301, un encabezado Strict-Transport-Security y grapado OCSP para una seguridad de primer nivel.

Configurar la renovación automática de certificados

Para mantener válido su certificado SSL, configure un trabajo cron para su renovación automática. Certbot ofrece un script para esto. Antes de finalizar la configuración, ejecute una prueba de funcionamiento:

sudo certbot renew --dry-run

Accede a la configuración de crontab, ingresa:

sudo crontab -e

Para renovar automáticamente su certificado SSL, prográmelo usando un trabajo cron con el siguiente comando:

00 00 */1 * * /usr/sbin/certbot-auto renew

Esto intentará renovar el certificado todos los días a medianoche.

Resolver errores de sesión de PHP

¿Tiene problemas para guardar sesiones, especialmente cuando utiliza ciertos complementos? La raíz del problema puede ser permisos de usuario incorrectos en el directorio /var/lib/php/sessions/. Pero no te preocupes; puedes abordar esto con un comando sencillo.

Ajustar los permisos del directorio

Ejecute el siguiente comando para establecer los permisos correctos:

sudo chown -R www-data:www-data /var/lib/php/sessions/

Este comando establece el usuario y grupo www-data como propietarios del directorio de sesiones. Como resultado, WordPress puede escribir datos de sesión sin problemas. Este ajuste es vital para el funcionamiento perfecto de su sitio de WordPress, principalmente si utiliza complementos que manejan tareas automatizadas, como publicar en las redes sociales.

Abordar los errores de sesión de PHP es clave para aumentar el rendimiento de su sitio web y mejorar la experiencia del usuario.

Resolver el bucle de redireccionamiento HTTPS en WordPress

Si su sitio de WordPress se encuentra atrapado en un bucle de redireccionamiento después de activar HTTPS, es probable que WordPress siga intentando redirigir a la versión HTTPS segura, pero el bucle nunca se completa. Para abordar esto, puede modificar su archivo wp-config.php con líneas de código específicas.

Modificando el archivo wp-config.php

Inserta las siguientes líneas en tu wp-config.php:

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Aquí hay un desglose de lo que hace cada línea:

  • La primera línea establece la constante FORCE_SSL_ADMIN en verdadero, lo que garantiza que todas las páginas de administración utilicen HTTPS.
  • El código siguiente comprueba si el encabezado HTTP_X_FORWARDED_PROTO contiene el término "https". Si encuentra una coincidencia, designa la variable del servidor HTTPS como "activada". Esta acción informa a WordPress que la conexión es segura.

Al integrar estas líneas en su archivo wp-config.php, debería poder liberarse del bucle de redireccionamiento HTTPS y asegurarse de que su sitio de WordPress funcione sin problemas con su nueva conexión segura.

Reparar el bucle de redireccionamiento de nombres de dominio

Un bucle de redireccionamiento en su sitio de WordPress a veces puede deberse a una falta de coincidencia entre el nombre de dominio especificado en su archivo wp-config.php y el nombre de dominio de su sitio web. Para solucionar este problema, deberá verificar y posiblemente ajustar el nombre de dominio en la configuración.

Comprobando el archivo wp-config.php

Inspeccione las siguientes líneas en su wp-config.php:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Si el nombre de dominio no coincide con el dominio de su sitio web, corríjalo en consecuencia.

Conclusión

Con WordPress instalado con éxito en su sistema Debian utilizando la pila LEMP, puede aprovechar sus potentes funciones y su sólido rendimiento. Actualice periódicamente su instalación de WordPress y los componentes de la pila LEMP para garantizar una seguridad y funcionalidad óptimas. Disfrute de la flexibilidad y las amplias capacidades que ofrecen WordPress y la pila LEMP para crear y administrar su sitio web.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)

Deja un comentario