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
- Un servidor que ejecuta AlmaLinux 8.
- Un nombre de dominio válido apuntado con la IP de su servidor.
- Se configura una contraseña raíz 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 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 usando 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:
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 comprobar 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. Puede 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 cortafuegos para aplicar los cambios:
firewall-cmd --reload
Una vez que haya terminado, puede continuar con el siguiente paso.
Acceder al Panel de WordPress
A continuación, abra su navegador web y acceda al panel de administración de WordPress usando la URL https://wordpress.example.com . Será redirigido a la siguiente página:
Seleccione su idioma y haga clic en Continuar . Debería ver la página de configuración del sitio de WordPress:
Proporcione la información de su sitio y haga clic en Instalar WordPress botón. Una vez que se haya completado la instalación, debería ver la siguiente página:
Haga clic en Iniciar sesión botón. Será redirigido a la página de inicio de sesión de WordPress:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver el panel de control de WordPress en la siguiente página:
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. Siéntase libre de preguntarme si tiene alguna pregunta.