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

actualizando repo

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.

instalar dependencias

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

comprobar 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

comprobar 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.

configuración ufw

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

verificar ufw

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;

crear base de datos y usuario

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.

verificar la base de datos y el usuario

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‘.

configurar vhosts

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.

idioma del sitio

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.

configuración administrativa

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.

configuración de la base de datos

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

instalación de joomla

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.

instalación finalizada

A continuación se muestra la captura de pantalla de la página de inicio por defecto de la instalación de Joomla.

joomla página de inicio

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.

joomla página de inicio de sesión

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:

tablero joomla

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.

También te podría gustar...