Cómo instalar Joomla con Apache y Let’s Encrypt SSL en AlmaLinux 9

Joomla es un gestor de contenidos flexible y de código abierto para crear sitios web y publicaciones en línea. Potenciado por PHP, puede utilizarse para múltiples escenarios, como foros, galerías de fotos, comercio electrónico y otras aplicaciones basadas en web.

Sigue nuestro tutorial para instalar Joomla CMS en el servidor AlmaLinux 9 con la pila LAMP (Apache/Httpd, MariaDB y PHP).

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente en tu entorno:

  • Un servidor AlmaLinux 9.
  • Un usuario no root con privilegios de administrador.
  • Un SELinux con estado permisivo.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalar las dependencias de la pila LAMP

Joomla es un sistema de gestión de contenidos escrito en PHP con base de datos MySQL/MariaDB. Por tanto, antes de instalar Joomla, deberás instalar sus dependencias. En este ejemplo, instalarás Joomla con la Pila LAMP (Apache/Httpd, MySQL/MariaDB y PHP) en tu servidor AlmaLinux 9.

Para empezar, ejecuta el siguiente comando para añadir el repositorio EPEL y Remi a tu servidor AlmaLinux. El repositorio EPEL es necesario para instalar algunas dependencias adicionales, y el repositorio Remi para los paquetes PHP.

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

configurar repositorio

Ahora ejecuta el siguiente comando para restablecer el módulo del repositorio PHP y habilitar el módulo Remi PHP. Escribe y para confirmar y continuar.

sudo dnf module reset php
sudo dnf module enable php:remi-8.2

activar php remi

Una vez añadido el repositorio, instala LAMP Stack y las dependencias adicionales ejecutando el siguiente comando.

sudo dnf install httpd mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip wget unzip nano

Cuando se te solicite, introduce y para proceder a la instalación. Introduce también y para aceptar la clave GPG si se te pide.

instalar lámpara

añadir clave gpg

Una vez finalizada la instalación, inicia y activa el servicio httpd con el siguiente comando.

sudo systemctl start httpd
sudo systemctl enable httpd

A continuación, verifica el httpd para asegurarte de que el servicio se está ejecutando.

sudo systemctl status httpd

A continuación puedes ver el servicio httpd en ejecución.

activar verificar apache

Para el servicio mariadb, ejecuta el siguiente comando para iniciarlo y habilitarlo.

sudo systemctl start mariadb
sudo systemctl enable mariadb

A continuación, verifica el servicio mariadb con el siguiente comando. Verás que mariadb se está ejecutando.

sudo systemctl status mariadb

habilitar verificar mariadb

Por último, ejecuta el siguiente comando para verificar la versión de PHP y la lista de extensiones habilitadas.

php -v
php -m

Verás que PHP 8.2 está instalado como se muestra a continuación:

verificar php

Configurar PHP

Ahora que has instalado LAMP Stack en tu servidor AlmaLinux, el siguiente paso es configurar tu instalación PHP para Joomla. Modificarás la configuración PHP por defecto php.ini y le harás algunos cambios.

Ejecuta el siguiente comando nano para abrir la configuración PHP por defecto /etc/php.ini.

sudo nano /etc/php.ini

Cambia la configuración por defecto con lo siguiente y asegúrate de ajustar la opción memory_limit con tu memoria/RAM actual disponible.

memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=60

output_buffering = Off

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora reinicia el servicio httpd para aplicar tu modificación utilizando el siguiente comando.

sudo systemctl restart httpd

Configurar el servidor MariaDB

Después de haber configurado PHP, configurarás el servidor MariaDB asegurando la instalación mediante la utilidad mariadb-secure-installation y luego creando una nueva base de datos y un nuevo usuario para Joomla.

Ejecuta el comando mariadb-secure-installation para asegurar la instalación de tu servidor MariaDB.

sudo mariadb-secure-installation

Cuando se te pida que apliques una nueva configuración, introduce y para confirmarla o n para rechazarla. A continuación se indican algunas de las configuraciones del servidor MariaDB que se te pedirán:

  • La instalación por defecto de MariaDB viene sin contraseña, pulsa ENTER cuando se te pida la contraseña.
  • Ahora introduce Y para configurar la contraseña de root de MariaDB. A continuación, escribe la nueva contraseña para MariaDB y repite la contraseña.
  • Introduce Y para eliminar el usuario anónimo de tu instalación de MariaDB.
  • Vuelve a introducir Y cuando se te pida para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB.
  • Introduce Y para eliminar la prueba de base de datos por defecto de tu MariaDB.
  • Por último, introduce Y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

Con el servidor MariaDB configurado, necesitas crear una nueva base de datos y un nuevo usuario para Joomla.

Ejecuta el siguiente comando mariadb para iniciar sesión en MariaDB. Introduce tu contraseña de root de MariaDB cuando se te pida que inicies sesión.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas MariaDB para crear una nueva base de datos joomladb, un nuevo usuario joomla con contraseña p4ssword, y luego concede privilegios para el usuario joomla a la base de datos joomladb.

CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;

crear base de datos y usuario

A continuación, verifica la lista de privilegios para el usuario joomla con la siguiente consulta MariaDB. Verás al usuario joomla con privilegios para acceder a la base de datos joomladb.

SHOW GRANTS FOR joomla@localhost;

verificar privilegios de usuario

Por último, escribe quit para salir del servidor MariaDB.

Configurar el cortafuegos

Por defecto, el firewalld se está ejecutando en el servidor AlmaLinux. Así que ahora tendrás que abrir los puertos HTTP y HTTPS a firewalld.

Ejecuta el siguiente comando firewall-cmd para abrir ambos servicios HTTP y HTTPS en firewalld. A continuación, recarga firewalld para aplicar la modificación.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Ahora verifica las reglas habilitadas en firewalld ejecutando el comando que aparece a continuación.

sudo firewall-cmd --list-all

Verás a continuación los dos servicios HTTP y HTTPS añadidos a firewalld.

configurar firewalld

Descargar Joomla

Ahora que tienes la Pila LAMP instalada y configurada, el siguiente paso es descargar el código fuente de Joomla, configurar el directorio raíz de documentos para Joomla y, a continuación, configurar la propiedad adecuada para el código fuente de Joomla.

Mueve tu directorio de trabajo /var/www y descarga el código fuente de Joomla utilizando el comando wget que aparece a continuación. Asegúrate de consultar la página de descargas de Joomla y coger el enlace de la última versión.

cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-0-2/Joomla_5-0-2-Stable-Full_Package.zip

Una vez descargado, ejecuta el comando unzip de abajo para extraer el código fuente de Joomla al directorio joomla. Así, la raíz de tu documento para Joomla se ubicará en el directorio /var/www/joomla.

unzip Joomla_5-0-2-Stable-Full_Package.zip -d joomla

Por último, ejecuta el siguiente comando chmod para cambiar la propiedad del directorio /var/www/joomla al usuario y grupo apache. Esto asegurará que el servidor web httpd pueda acceder al código fuente de Joomla.

sudo chown -R apache:apache /var/www/joomla

Configurar el host virtual httpd

Con el código fuente de Joomla descargado, en la siguiente etapa, crearás un nuevo archivo de host virtual httpd para Joomla. Así que antes de seguir adelante, asegúrate de que has preparado tu nombre de dominio para tu instalación de Joomla.

Crea una nueva configuración de host virtual /etc/httpd/conf.d/joomla.conf utilizando el siguiente comando del editor nano.

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

Inserta la configuración de abajo y asegúrate de cambiar el nombre de dominio con tu dominio Joomla. Además, asegúrate de cambiar la ruta para los registros de acceso y error de tu Joomla.

<VirtualHost *:80>
ServerAdmin [email protected]

ServerName hwdomain.io
DocumentRoot /var/www/joomla

<Directory /var/www/joomla/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog /var/log/httpd/hwdomain.io_error.log
CustomLog /var/log/httpd/hwdomain.io_access.log combined

</VirtualHost>

Cuando hayas terminado, guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando apachectl para verificar la configuración de tu httpd. Cuando la sintaxis sea correcta, deberías obtener una salida Sintaxis OK.

sudo apachectl configtest

Por último, reinicia el servicio httpd para aplicar tu configuración de host virtual con el comando que aparece a continuación.

sudo systemctl restart httpd

configuración vhost

Asegurar con Certbot y Letsencrypt

Llegados a este punto, ya tienes todo configurado y listo para iniciar la instalación de Joomla. Pero antes de eso, asegurarás Joomla utilizando certificados SSL/TLS de Letsencrypt. Si tienes un nombre de dominio para tu instalación de Joomla, sigue estos pasos. Y si no lo tienes, puedes saltarte esta sección.

Primero, instala el plugin Certbot y Certbot Apache con el siguiente comando.

sudo dnf install certbot python3-certbot-apache -y

Ahora ejecuta el siguiente comando de certbot para generar certificados SSL/TLS para tu instalación de Joomla. Asegúrate de cambiar los detalles del nombre de dominio y la dirección de correo electrónico con tu información.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d hwdomain.io

Cuando finalice el proceso, tus certificados SSL/TLS estarán disponibles en el directorio /etc/letsencrypt/live/domain.com. Además, tu instalación de Joomla se configurará automáticamente con HTTPS.

Instalar Joomla

Inicia tu navegador web y visita el nombre de dominio de tu instalación de Joomla, como http://hwdomain.io/. Si la instalación se realiza correctamente, verás la página de instalación de Joomla.

Selecciona el idioma por defecto a Inglés e introduce el nombre básico de tu sitio. A continuación, haz clic en Configurar datos de inicio de sesión para continuar.

lang y nombre del sitio

Ahora introduce la dirección de correo electrónico, el nombre de usuario y la contraseña de Joomla y haz clic en Configurar conexión de base de datos.

crear usuario administrador

Introduce los detalles de las credenciales de tu base de datos MariaDB y haz clic en Instalar Joomla para continuar con la instalación.

detalles de la base de datos

Durante la instalación de Joomla, verás lo siguiente:

instalar Joomla

Una vez finalizada la instalación de Joomla, aparecerá el mensaje‘¡Enhorabuena! Tu sitio Joomla está listo‘.

instalación finalizada

Desde ahí, puedes hacer clic en los dos enlaces:

  • AbrirSitio para acceder a la página de inicio de tu sitio Joomla.
  • Abrir Administrador para abrir el acceso de administrador de Joomla, que se encuentra en http://hwdomain.io/administrator.

A continuación puedes ver la página de inicio por defecto de Joomla.

inicio

A continuación se muestra la página de inicio de sesión del administrador de Joomla. Introduce tu nombre de usuario y contraseña, y haz clic en Iniciar sesión.

página de acceso

Si tienes el usuario y la contraseña de administrador correctos, obtendrás el panel de control del administrador de Joomla como el siguiente:

salpicadero

Con esto, tu instalación de Joomla en el servidor AlmaLinux 9 está terminada.

Conclusión

¡Enhorabuena! Has completado la instalación del sistema de gestión de contenidos de código abierto Joomla en el servidor AlmaLinux 9. Has instalado Joomla con la pila LAMP (Apache/Httpd, MariaDB y PHP), has protegido Joomla con certificados SSL/TLS de Letsencrypt y has configurado firewalld para abrir los puertos HTTP y HTTPS.

También te podría gustar...