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.