Cómo instalar Joomla en Debian 12
Joomla CMS es un sistema de gestión de contenidos de código abierto para crear sitios web y aplicaciones en línea. Ofrece funciones fáciles de usar y extensibilidad, y está disponible gratuitamente para todo el mundo. Basado en PHP, puede utilizarse en múltiples escenarios, como foros, galerías de fotos, comercio electrónico y diversas aplicaciones basadas en web.
En esta guía, cubriremos la instalación de Joomla CMS en el servidor Debian 12. Instalarás Joomla con la pila LAMP (Apache, MariaDB y PHP) y asegurarás la instalación con UFW (Uncomplicated Firewall) y SSL de Letsencrypt.
Prerequistes
Antes de adentrarte en esta guía, reúne lo siguiente:
- Un servidor Debian 12.
- Un usuario no root con privilegios de administrador.
- Un nombre de dominio apuntando a la dirección IP del servidor.
Instalación de dependencias
Joomla es un CMS de código abierto basado en PHP y bases de datos MySQL. Para instalarlo, asegúrate de que están instaladas las dependencias necesarias.
Ahora, instalarás la Pila LAMP y las dependencias adicionales, como UFW y Certbot, que utilizará Joomla.
Ejecuta el siguiente comando apt para actualizar el repositorio de Debian.
sudo apt update
Ahora instala las dependencias de Joomla utilizando el comando apt de abajo. Con esto, instalarás los paquetes LAMP Stack, UFW, Certbot y la utilidad unzip.
sudo apt install apache2 mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip ufw certbot python3-certbot-apache unzip
Escribe Y y pulsa ENTER para confirmar la instalación.
Una vez finalizada la instalación, asegúrate de que tanto Apache2 como MariaDB se están ejecutando y habilitando en tu servidor Debian.
Verifica el servicio apache2 para asegurarte de que el servicio se está ejecutando y está habilitado utilizando el comando que aparece a continuación.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Por último, verifica el servicio mariadb utilizando el siguiente comando. Deberías obtener el servicio mariadb habilitado con el estado activo (en ejecución).
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Configurar UFW
En este ejemplo, ejecutarás Joomla con UFW (Uncomplicated Firewall) ejecutándose y habilitado. En ese caso, asegúrate de añadir los puertos SSH, HTTP y HTTPS a UFW.
En primer lugar, ejecuta el siguiente comando para habilitar el perfil de aplicación OpenSSH y‘WWW Full‘. El perfil OpenSSH abrirá el puerto SSH 22 por defecto, mientras que el perfil ‘WWW Full’ abrirá los puertos HTTP y HTTPS: 80 y 443.
sudo ufw allow OpenSSH sudo ufw allow 'WWW Full'
A continuación, activa UFW ejecutando el siguiente comando. Escribe y para confirmar el proceso.
sudo ufw enable
Deberías recibir el mensaje «El cortafuegos está activo y habilitado al iniciar el sistema«, que confirma que UFW se está ejecutando y está habilitado en tu máquina Debian.
Verifica uFW utilizando el siguiente comando. Asegúrate de que los perfiles OpenSSH y‘WWW Full‘ están disponibles en tus reglas habilitadas para UFW.
sudo ufw status
Configurar PHP
Después de configurar UFW, el siguiente paso es configurar PHP para tu instalación de Joomla.
Joomla requiere al menos las siguientes configuraciones en el archivo php.ini:
- limite_memoria: 256M
- upload_max_filesize: 32M
- tamaño_máx_post: 32M
- tiempo_de_ejecución_máx: 30
Abre el archivo‘/etc/php/8.2/apache2/php.ini‘ utilizando el comando editor nano que aparece a continuación.
sudo nano /etc/php/8.2/apache2/php.ini
Cambia la configuración predeterminada de php. ini por la siguiente. Asegúrate de ajustar la opción memory_limit con la memoria actual de tu sistema.
memory_limit=512M upload_max_filesize=64M post_max_size=64M max_execution_time=60
output_buffering = Off
extension=intl
Guarda y cierra el archivo cuando hayas terminado.
Ahora ejecuta el siguiente comando para reiniciar el servicio apache2 y aplicar tus cambios a PHP.
sudo systemctl restart apache2
Configurar MariaDB
En la siguiente sección, configurarás y asegurarás el servidor MariaDB utilizando la herramienta‘mariadb-secure-installation‘. A continuación, también crearás una nueva base de datos y un nuevo usuario para Joomla a través del cliente MySQL/MariaDB.
Comienza a asegurar la instalación de tu servidor MariaDB ejecutando el comando ‘mariadb-server-installation‘ que aparece a continuación.
sudo mariadb-secure-installation
Introduce Y para implementar la nueva configuración, o escribe N de ‘No’ para rechazarla. A continuación se indican algunas de las configuraciones del servidor MariaDB que deberás configurar:
- 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 raíz 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.
Ahora que ya has configurado el servidor MariaDB, inicia sesión en MariaDB con el siguiente comando. Introduce también tu contraseña de root de MariaDB cuando te lo pida.
sudo mariadb -u root -p
Ejecuta las siguientes consultas para crear una nueva base de datos joomladb con el usuario joomla. Además, asegúrate de cambiar la contraseña de la base de datos‘p4ssword‘ por tu contraseña segura.
CREATE DATABASE joomladb; CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword'; GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost; FLUSH PRIVILEGES;
A continuación, ejecuta la siguiente consulta para verificar los privilegios del usuario joomla@localhost de MariaDB.
SHOW GRANTS FOR joomla@localhost;
Asegúrate de que el usuario joomla@localhost puede acceder a la base de datos joomladb como se indica a continuación.
Escribe quit para salir del servidor MariaDB y pasar al siguiente paso.
Descargar Joomla CMS
En la siguiente sección, descargarás la última versión de Joomla y establecerás los permisos y la propiedad adecuados del código fuente de Joomla.
En este momento, la última versión de Joomla es la v5.0.1. Asegúrate de consultar la página de descargas de Joomla y de obtener la última versión.
Dirígete al directorio /var/www y descarga Joomlad utilizando el comando wget que aparece a continuación.
cd /var/www/ wget https://downloads.joomla.org/cms/joomla5/5-0-1/Joomla_5-0-1-Stable-Full_Package.zip
Una vez descargado, extrae el código fuente de Joomla al directorio joomla utilizando el siguiente comando unzip. Con esto, tu directorio de instalación de Joomla estará ubicado en /var/www/joomla.
unzip Joomla_5-0-1-Stable-Full_Package.zip -d joomla
Ahora cambia la propiedad del directorio /var/www/joomla al usuario www-data y al grupo www-data.
sudo chown -R www-data:www-data /var/www/joomla
Configurar el host virtual Apache2
En el siguiente paso, crearás una nueva configuración de host virtual Apache para ejecutar Joomla. Asegúrate de que tienes un nombre de dominio preparado y apuntando a la dirección IP de tu servidor. Por ejemplo, aquí usaremos hwdomain.io.
Para empezar, ejecuta el siguiente comando del editor nano para crear una nueva configuración de host virtual‘/etc/apache2/sites-available/joomla.conf‘.
sudo nano /etc/apache2/sites-available/joomla.conf
Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio hwdomain.io por tu dominio.
<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 ${APACHE_LOG_DIR}/hwdomain.io_error.log CustomLog ${APACHE_LOG_DIR}/hwdomain.io_access.log combined </VirtualHost>
Guarda el archivo y sal del editor cuando hayas terminado.
A continuación, ejecuta el siguiente comando para activar el archivo de host virtual joomla.conf y verifica la sintaxis de tu Apache.
sudo a2ensite joomla.conf sudo apachectl configtest
Si no hay ningún error en tu sintaxis de Apache, verás una salida‘Sintaxis OK‘.
Ahora aplica el nuevo archivo de host virtual joomla.conf reiniciando Apache2 mediante el siguiente comando systemctl.
sudo systemctl restart apache2
Proteger Joomla con certificados SSl/TLS
Llegados a este punto, tu instalación de Joomla está funcionando. Pero, para asegurarte de que tu instalación de Joomla es segura, implementarás HTTPS mediante Certbot y Letsencrypt.
En el primer paso, has instalado el plugin certbot y python3-certbot-apache.
Ahora ejecuta el siguiente comando de certbot para generar certificados SSl/TLS para tu nombre de dominio. Asegúrate de cambiar los detalles de la dirección de correo electrónico y el nombre de dominio con tu información.
sudo certbot --apache --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d hwdomain.io
Una vez finalizado el proceso, tu instalación de Joomla debería configurarse automáticamente con HTTPS. Y tus certificados SSL estarán disponibles en el directorio /etc/letsencrypt/live/yourdomain.com.
Instalar Joomla a través del Instalador Web
Abre tu navegador web y visita el nombre de dominio de tu instalación de Joomla, por ejemplo(https://hwdomain.io/). Aparecerá la página del instalador web de Joomla.
Selecciona el idioma predeterminado e introduce el nombre del sitio de tu instalación de Joomla. A continuación, haz clic en Configurar datos de inicio de sesión para configurar el usuario administrador de Joomla.
Introduce tu nombre, nombre de usuario, dirección de correo electrónico y la contraseña del usuario administrador de Joomla. A continuación, haz clic en Configurar conexión de base de datos para continuar.
Introduce el nombre de la base de datos del servidor MariaDB, el usuario, el host y el prefijo predeterminado de la base de datos. A continuación, haz clic en Instalar Joomla para iniciar el proceso de instalación.
Durante la instalación, verás lo siguiente:
Una vez finalizada la instalación de Joomla, deberías recibir el mensaje‘¡Enhorabuena! Tu sitio Joomla está listo‘.
Desde aquí, haz clic en lo siguiente:
- Abrir sitio: Abre la página de inicio de tu instalación de Joomla.
- Abrir Administrador: Abre la URL de administración de Joomla, que es https://hwdomain.io/administrator.
A continuación se muestra la captura de pantalla de la página de inicio por defecto de la instalación de Joomla.
En la página de inicio de sesión del administrador de Joomla, introduce el usuario y la contraseña de administrador de tu instalación de Joomla y, a continuación, haz clic en Iniciar sesión para confirmar.
Si tienes el usuario y la contraseña de administrador correctos, deberías obtener el panel de control de administrador de Joomla como el siguiente:
Conclusión
¡Enhorabuena! Has completado la instalación del CMS de código abierto Joomla en el servidor Debian 12. Has instalado Joomla con la pila LAMP (Apache, MariaDB y PHP), y también has protegido tu servidor Debian con UFW (cortafuegos sin complicaciones), y has protegido tu instalación de Joomla con certificados SSL/TLS de Letsencrypt.
Para ir un paso más allá, ¿por qué no eliges algunos temas disponibles y personalizas tu página de inicio de Joomla? O, también puedes probar a instalar el plugin de Joomla para añadir funcionalidad a tu sitio Joomla.