Cómo instalar WordPress con Nginx en AlmaLinux 8

Elige lengua

WordPress es un CMS gratuito, de código abierto y el más popular del mundo construido completamente en PHP. Es utilizado por miles de personas en todo el mundo para ejecutar blogs, sitios web comerciales y tiendas de comercio electrónico. Tiene algunas características excelentes que incluyen un panel de administración simple y fácil de usar, miles de complementos, una gran comunidad, temas detallados, personalización y más.

En esta gu√≠a, le mostraremos c√≥mo instalar WordPress con Apache y Let’s Encrypt SSL en AlmaLinux 8.

requisitos previos

  • Un servidor que ejecuta AlmaLinux 8.
  • Un nombre de dominio v√°lido apuntado con la IP de su servidor.
  • Una contrase√Īa de root est√° configurada en el servidor.

Instalar servidor LAMP

WordPress requiere que el servidor LAMP esté instalado en su servidor. Puedes instalarlo usando el siguiente comando:

dnf install httpd mariadb-server php php-mysqlnd php-dom php-simplexml php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-json php-mbstring php-posix php-sockets php-tokenizer unzip -y

Después de instalar el servidor LAMP, inicie el servicio Apache y MariaDB y habilítelos para que se inicien al reiniciar el sistema:

systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar la base de datos MariaDB

Primero, deber√° configurar la contrase√Īa ra√≠z de MariaDB y asegurar la instalaci√≥n de MariaDB. Puedes hacerlo usando el siguiente comando:

mysql_secure_installation

Responda todas las preguntas como se muestra a continuación:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
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

Una vez que haya terminado, inicie sesión en MariaDB con el siguiente comando:

mysql -u root -p

Una vez que haya iniciado sesión, cree una base de datos y un usuario para WordPress:

MariaDB [(none)]> CREATE DATABASE wordpress;
MariaDB [(none)]> CREATE USER `wordpress`@`localhost` IDENTIFIED BY 'password';

A continuación, otorgue todos los privilegios a la base de datos de WordPress usando el siguiente comando:

MariaDB [(none)]> GRANT ALL ON wordpress.* TO `wordpress`@`localhost`;

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que haya terminado, puede continuar con el siguiente paso.

Descargar WordPress

A continuaci√≥n, cambie el directorio a la ra√≠z web de Apache y descargue la √ļltima versi√≥n de WordPress con el siguiente comando:

cd /var/www/html
wget https://wordpress.org/latest.tar.gz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar -xvzf latest.tar.gz

A continuación, cambie el directorio a wordpress y cambie el nombre del archivo de configuración de muestra:

cd wordpress
mv wp-config-sample.php wp-config.php

A continuación, edite el archivo de configuración con el siguiente comando:

nano wp-config.php

Defina la configuración de su base de datos como se muestra a continuación:

/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpress' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Guarde y cierre el archivo cuando haya terminado, luego establezca el permiso adecuado para el directorio de WordPress:

chown -R apache:apache /var/www/html/wordpress

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Apache para WordPress

A continuación, deberá crear un archivo de configuración de host virtual de Apache para WordPress. Puedes crearlo con el siguiente comando:Publicidad

nano /etc/httpd/conf.d/wordpress.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/var/www/html/wordpress"
   ServerName wordpress.example.com
   ErrorLog "/var/log/httpd/example.com-error_log"
   CustomLog "/var/log/httpd/example.com-access_log" combined

<Directory "/var/www/html/wordpress">
   DirectoryIndex index.html index.php
   Options FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
</VirtualHost>

Guarde y cierre el archivo, luego reinicie el servicio Apache para aplicar los cambios:

systemctl restart httpd

Puede verificar el estado de Apache con el siguiente comando:

systemctl status httpd

Deberías obtener el siguiente resultado:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-07-09 03:30:47 EDT; 3s ago
     Docs: man:httpd.service(8)
 Main PID: 4153 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 12524)
   Memory: 24.5M
   CGroup: /system.slice/httpd.service
           ??4153 /usr/sbin/httpd -DFOREGROUND
           ??4155 /usr/sbin/httpd -DFOREGROUND
           ??4156 /usr/sbin/httpd -DFOREGROUND
           ??4157 /usr/sbin/httpd -DFOREGROUND
           ??4158 /usr/sbin/httpd -DFOREGROUND

Jul 09 03:30:47 AlmaLinux systemd[1]: Stopped The Apache HTTP Server.
Jul 09 03:30:47 AlmaLinux systemd[1]: Starting The Apache HTTP Server...

Una vez que haya terminado, puede continuar con el siguiente paso.

Asegure WordPress con Let’s Encrypt SSL

A continuaci√≥n, deber√° instalar el cliente Certbot para instalar Let’s Encrypt SSL para WordPress. Puedes instalarlo con el siguiente comando:

dnf install epel-release -y
dnf install certbot python3-certbot-apache

A continuación, obtenga e instale un certificado SSL para su dominio de Lets con el siguiente comando:

certbot --apache -d wordpress.example.com

Se le pedirá que proporcione su dirección de correo electrónico y acepte el término del servicio:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for wordpress.example.com
Performing the following challenges:
http-01 challenge for wordpress.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/wordpress.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/wordpress.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wordpress.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: [email protected]).


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wordpress.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wordpress.example.com/privkey.pem
   Your certificate will expire on 2022-02-09. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Configurar cortafuegos

A continuación, deberá permitir los puertos 80 y 443 a través del firewalld. Puede permitirlos con el siguiente comando:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

A continuación, vuelva a cargar el firewalld para aplicar los cambios:

firewall-cmd --reload

Una vez que haya terminado, puede continuar con el siguiente paso.

Acceder al Panel de WordPress

Luego, abra su navegador web y acceda al panel de administración de WordPress usando la URL https://wordpress.ejemplo.com. Será redirigido a la siguiente página:

Elige lengua

Seleccione su idioma y haga clic en el Continuar. Debería ver la página de configuración del sitio de WordPress:

Detalles del sitioAnuncio publicitario

Proporcione la información de su sitio y haga clic en Instalar WordPress botón. Una vez completada la instalación, debería ver la siguiente página:

Instalación de WordPress exitosa

Haga clic en el Acceso botón. Será redirigido a la página de inicio de sesión de WordPress:

Iniciar sesión en WordPress

Proporcione su nombre de usuario y contrase√Īa de administrador y haga clic en el Acceso bot√≥n. Deber√≠a ver el panel de control de WordPress en la siguiente p√°gina:

Tablero de WordPress

Conclusión

¬°Felicidades! Ha instalado correctamente WordPress con Apache y Let’s Encrypt SSL en AlmaLinux 8. Ahora puede crear su propio sitio web f√°cilmente con WordPress. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *