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
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
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.
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.
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
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:
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;
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;
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.
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
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.
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.
Introduce los detalles de las credenciales de tu base de datos MariaDB y haz clic en Instalar Joomla para continuar con la instalación.
Durante la instalación de Joomla, verás lo siguiente:
Una vez finalizada la instalación de Joomla, aparecerá el mensaje‘¡Enhorabuena! Tu sitio Joomla está listo‘.
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.
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.
Si tienes el usuario y la contraseña de administrador correctos, obtendrás el panel de control del administrador de Joomla como el siguiente:
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.