Joomla! es uno de los sistemas de gestión de contenido (CMS) más populares junto a WordPress. Con Joomla, puede crear blogs, foros de discusión y otros sitios web.
Es gratuito, de código abierto y funciona bien con casi cualquier servicio de alojamiento web, lo que lo convierte en uno de los más fáciles de instalar y usar.
Si aún no tiene alojamiento web, le recomendamos que instale Joomla en su sistema Debian o VPS local.
Aquí veremos cómo instalar Joomla con Nginx en Debian 11.
Requisitos
Instalar la pila LEMP
Siga los enlaces a continuación para instalar la pila LEMP en su sistema Debian para la instalación de Joomla.
Instalar EMP (Nginx, MariaDB y PHP) en Debian 11
Instalar extensiones de PHP
Use el comando apt para instalar las extensiones de PHP necesarias para Joomla.
sudo apt update sudo apt install -y php-gd php-xmlrpc php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath
Configurar los ajustes de PHP para Joomla
Joomla requiere algunas configuraciones de PHP como el directorio temporal de PHP, el tamaño máximo permitido para que los archivos cargados funcionen correctamente. Entonces, edite el php.ini
archivo.
sudo nano /etc/php/7.4/fpm/php.ini
Luego, actualice los valores a continuación según sus requisitos.
output_buffering = off # Required for Joomla upload_tmp_dir = "/tmp" upload_max_filesize = 64M post_max_size = 64M
Configurar el host virtual de Nginx para Joomla
Comenzaremos con la creación de un host virtual para una instalación de Joomla. Puede encontrar todos los archivos de configuración del host virtual de Nginx en /etc/nginx/conf.d
directorio.
Normalmente, el archivo de host virtual contiene un nombre de dominio, número de puerto, raíz del documento, ubicación de registro, CGI rápido, etc.
Para este artículo, asumo lo siguiente:
Nombre de dominio:itzgeek.net, www.itzgeek.net
Número de puerto:80
Raíz del documento:/usr/share/nginx/www.itzgeek.net/html
Registros:/usr/share/nginx/www.itzgeek.net/logs
Primero, cree una configuración de host virtual.
sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf
Luego, coloque el siguiente contenido en el archivo de configuración anterior. Deberá cambiar server_name
según su requerimiento.
server { server_name itzgeek.net www.itzgeek.net; root /usr/share/nginx/www.itzgeek.net/html; index index.php index.html; access_log /usr/share/nginx/www.itzgeek.net/logs/access.log; error_log /usr/share/nginx/www.itzgeek.net/logs/error.log; # Prevent access to certain file extensions location ~\.(ini|log|conf)$ { deny all; } location ~ \.php$ { # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Cree un directorio raíz de documentos y registros.
sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/ sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/
Verifique el archivo de configuración de Nginx con el siguiente comando.
sudo nginx -t
Si obtiene lo siguiente, significa que la configuración del host virtual es correcta.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Reinicie los servicios Nginx y PHP-FPM.
sudo systemctl reload nginx php7.4-fpm
Instalar el certificado SSL de Let's Encrypt
Crear registro DNS
Vaya a su registrador de dominios y cree un registro DNS [A y CNAME (opcional si no desea usar el subdominio www)] para su dominio.
- Nombre de dominio que no es www (Ej. itzgeek.net)>> A punto de registro a la IP de su servidor
- www nombre de dominio (por ejemplo, www.itzgeek.net)>> CNAME punto de registro a itzgeek.net
Para esta demostración, creé dos registros para que mi sitio web de Joomla sea accesible en www.itzgeek.net.

Instalar cliente Certbot
El cliente de Certbot, que nos ayuda a generar e instalar el certificado SSL de Let's Encrypt, ahora está disponible como un paquete instantáneo para el sistema operativo Debian. Entonces, primero, instale snapd en su sistema.
sudo apt update sudo apt install -y snapd
Luego, actualice snapd a la última versión.
sudo snap install core && sudo snap refresh core
Finalmente, instale el cliente Certbot usando el comando snap.
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
Instalar certificado SSL
Usa el certbot
comando para generar e instalar el certificado Let's Encrypt SSL para el servidor web Nginx.
sudo certbot --nginx1. Ingrese la dirección de correo electrónico recibir notificación sobre renovación urgente y avisos de seguridad
2. Escribe Y y presiona Enter registrarse en el servidor ACME
3. Escriba Y o N para recibir correos electrónicos sobre noticias, campañas, boletines de EFF.
4. Certbot detectará automáticamente el dominio de Joomla y le pedirá permiso para activar HTTPS para su sitio web Joomla. Escriba 1 o los números apropiados separados por una coma en caso de que tenga varios sitios web.
Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1. itzgeek.net 2: www.itzgeek.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1,2
Espere a que se complete la instalación de SSL. Ahora podrá acceder al sitio web con HTTPS.
Redirigir solicitudes HTTP que no sean www a www HTTPS con Nginx
Es posible que desee configurar el servidor Nginx para redirigir el tráfico desde el sitio HTTP que no es www al sitio WWW HTTPS, es decir, http://itzgeek.net>> https://www.itzgeek.net. Puede omitir esto si no usa www en su dominio.
Certificado SSL de renovación automática
El cliente de Certbot ahora incluye la renovación automática de certificados SSL a través de systemd. Por lo tanto, no tendrá que renovar los certificados manualmente.
Instalar Joomla con Nginx
Crear base de datos para la instalación de Joomla
Primero, inicie sesión en el servidor de base de datos MariaDB/MySQL.
sudo mysql -u root -p
Luego, cree la base de datos para la instalación de Joomla junto con el usuario y la contraseña de la base de datos.
CREATE DATABASE joomladb; CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost'; EXIT
Descargar paquete Joomla
Descargue la última versión del paquete de Joomla usando el siguiente comando en la terminal.
mkdir /tmp/joomla && cd /tmp/joomla wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.tar.gz?format=gz -O Joomla_4-0-3-Stable-Full_Package.tar.gz
Luego, extraiga el archivo descargado.
tar -zxvf Joomla_4-0-3-Stable-Full_Package.tar.gz
Y luego, mueva los archivos al directorio raíz de documentos de su sitio web.
sudo mv * /usr/share/nginx/www.itzgeek.net/html/
Actualice la propiedad y un grupo del directorio del sitio de Joomla.
sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/
Instalar Joomla CMS
Abra su navegador y visite el dominio de su sitio web de Joomla para realizar la instalación de Joomla.
https://tu-sitio-web-joomla
1. Seleccionar idioma para el instalador y escriba el Nombre del sitio para su sitio web de Joomla y luego haga clic en Configurar datos de inicio de sesión
2. Introduzca nombre, nombre de usuario, contraseña y dirección de correo electrónico del administrador de Joomla y luego haga clic en Configurar conexión de datos
3. Seleccione el tipo de base de datos como MySQL (PDO) y luego ingrese detalles de la base de datos de Joomla [Deje el prefijo de tabla y Cifrado de conexión tal como está] y luego haga clic en Instalar Joomla
4. Ahora recibirá ¡Felicitaciones! Su sitio Joomla está listo. Puede acceder al sitio web haciendo clic en Completar y abrir sitio o el back-end de Joomla haciendo clic en Complete &Open Admin. Si lo desea, también puede agregar un idioma adicional para el front-end y el back-end de su sitio web haciendo clic en Instalar idiomas adicionales.
5. Puede acceder al back-end de Joomla en cualquier momento yendo a https://your-joomla-website/administrator
Acceder al sitio web de Joomla
Ahora podrá acceder al sitio con su nombre de dominio.
https://tu-sitio-web-joomla
Conclusión
Eso es todo. Espero que hayas aprendido a instalar Joomla con Nginx en Debian 11.