Cómo instalar Joomla con Apache y Let’s Encrypt SSL gratuito en Alma Linux 8

Joomla es un sistema de gestión de contenidos gratuito, de código abierto y uno de los más populares. Está escrito en PHP y se utiliza para crear sitios web y blogs sin ningún conocimiento de programación. Ofrece plugins y temas gratuitos y de pago que te ayudan a ampliar la funcionalidad del sitio web. Proporciona un panel de control de la iniciativa para gestionar los sitios web desde el navegador web. Joomla proporciona características muy útiles, como soporte multilingüe, gestor de medios, SEO, un sistema de ayuda integrado, gestión de contactos y muchas más.

En este tutorial, aprenderás a instalar el CMS Joomla con Apache y Let’s Encrypt SSL en Alma Linux 8.

Requisitos previos

  • Un servidor con Alma Linux 8.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada en el servidor.

Instalar el servidor LAMP

Joomla se ejecuta en el servidor web, escrito en PHP, y utiliza MariaDB como backend de la base de datos. Así que tendrás que instalar el Servidor LAMP en tu sistema. Puedes instalarlo con el siguiente comando:

dnf install httpd @mariadb php php-curl php-xml php-zip php-mysqlnd php-intl php-gd php-json php-ldap php-mbstring php-opcache unzip curl wget -y

Una vez completada la instalación, edita el archivo de configuración de PHP y cambia la configuración por defecto:

nano /etc/php.ini

Cambia las siguientes líneas:

memory_limit = 256M
output_buffering = Off
max_execution_time = 300
date.timezone = UTC

Guarda y cierra el archivo y luego inicia el servicio Apache y habilita su inicio tras el reinicio del sistema:

systemctl start httpd mariadb
systemctl enable httpd mariadb

Configurar la base de datos MariaDB

A continuación, tendrás que crear una base de datos y un usuario para Joomla CMS. Primero, conéctate al shell de MariaDB con el siguiente comando:

mysql

Una vez que te hayas conectado, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE joomla;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON joomla.* TO 'joomla'@'localhost' IDENTIFIED BY "securepassword";

A continuación, recarga los privilegios para aplicar los cambios:

MariaDB [(none)]> FLUSH PRIVILEGES;

A continuación, sal del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> EXIT;

Una vez que hayas terminado, puedes pasar al siguiente paso.

Descargar Joomla CMS

En el momento de escribir este tutorial, la última versión disponible es Joomla 4.1.2. Puedes descargarla desde su página oficial de descargas con el siguiente comando:

wget https://downloads.joomla.org/cms/joomla4/4-1-2/Joomla_4-1-2-Stable-Full_Package.zip?format=zip -O joomla.zip

Una vez completada la descarga, descomprime el archivo descargado en el directorio raíz de la web de Apache con el siguiente comando:

unzip joomla.zip -d /var/www/html/joomla

A continuación, cambia la propiedad y el permiso del directorio de Joomla:

chown -R apache:apache /var/www/html/joomla/
chmod -R 775 /var/www/html/joomla/

Una vez completado, puedes pasar al siguiente paso.

Configurar Apache para Joomla

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para Joomla. Puedes crearlo con el siguiente comando:

nano /etc/httpd/conf.d/joomla.conf

Añade los siguientes códigos:

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

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

Guarda y cierra el archivo y luego reinicia el servicio Apache para aplicar los cambios de configuración:

systemctl restart httpd

Ahora puedes comprobar el estado del servidor web Apache con el siguiente comando:

systemctl status httpd

Obtendrás la siguiente salida:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Fri 2022-04-15 08:52:59 UTC; 3s ago
     Docs: man:httpd.service(8)
 Main PID: 4749 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 11412)
   Memory: 24.3M
   CGroup: /system.slice/httpd.service
           ??4749 /usr/sbin/httpd -DFOREGROUND
           ??4751 /usr/sbin/httpd -DFOREGROUND
           ??4752 /usr/sbin/httpd -DFOREGROUND
           ??4753 /usr/sbin/httpd -DFOREGROUND
           ??4754 /usr/sbin/httpd -DFOREGROUND

Apr 15 08:52:59 linux systemd[1]: httpd.service: Succeeded.
Apr 15 08:52:59 linux systemd[1]: Stopped The Apache HTTP Server.
Apr 15 08:52:59 linux systemd[1]: Starting The Apache HTTP Server...

Una vez que hayas terminado con la configuración de Apache, puedes pasar al siguiente paso.

Configurar el Firewall para Joomla

A continuación, tendrás que permitir los servicios HTTP y HTTPS a través del cortafuegos. Puedes permitirlos con el siguiente comando:

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

A continuación, recarga el firewalld para aplicar los cambios:

firewall-cmd --reload

Accede al Asistente de Instalación Web de Joomla

Ahora, abre tu navegador web y accede a la instalación de Joomla utilizando la URL http://joomla.example.com. Serás redirigido a la siguiente pantalla:

Selecciona tu idioma, proporciona el nombre de tu sitio web y luego haz clic en el botón Configurar datos de acceso. Deberías ver la pantalla de configuración del administrador:

Proporciona tu nombre de usuario y contraseña de administrador y haz clic en Configurar la conexión a la base de datos. Deberías ver la siguiente pantalla:

Proporciona el nombre de tu base de datos, el nombre de usuario, la contraseña y haz clic en el botón Instalar Joomla. Una vez instalado Joomla, deberías ver la siguiente pantalla:

Haz clic en el botón Abrir administrador. Deberías ver la pantalla de inicio de sesión de Joomla:

Proporciona tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Joomla en la siguiente pantalla:

Asegura el CMS de Joomla con Let’s Encrypt SSL

A continuación, tendrás que instalar el cliente Certbot para instalar el SSL de Let’s Encrypt para tu sitio web. Puedes instalarlo con el siguiente comando:

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

A continuación, obtén e instala un certificado SSL para tu dominio lets con el siguiente comando:

certbot --apache -d joomla.example.com

Se te pedirá que proporciones tu dirección de correo electrónico y que aceptes las condiciones 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 joomla.example.com
Performing the following challenges:
http-01 challenge for joomla.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/joomla.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/joomla.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://joomla.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/joomla.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/joomla.example.com/privkey.pem
   Your certificate will expire on 2022-07-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

Conclusión

¡Enhorabuena! Has instalado con éxito Joomla CMS con Apache y Let’s Encrypt SSL en Alma Linux 8. Usando el maravilloso Joomla CMS, ahora puedes construir tu propio sitio web sin ningún conocimiento de programación o codificación. No dudes en preguntar si tienes alguna duda.

También te podría gustar...