Installazione Joomla · 7 min read · Sep 12, 2025
Come installare Joomla con Nginx su server Ubuntu 24.04

Joomla è un sistema di gestione dei contenuti flessibile e open-source per la creazione di siti web e pubblicazioni online. Alimentato da PHP, può essere utilizzato per molteplici scenari, come forum, gallerie fotografiche, e-commerce e altre applicazioni web.
In questa guida, ti mostreremo come installare Joomla su un server Ubuntu 24.04. Eseguirai Joomla con Nginx come server web, MariaDB come server di database e PHP-FPM. Inoltre, proteggerai Joomla con HTTPS.
Prerequisiti
Per completare questa guida, assicurati di avere quanto segue:
- Un server Ubuntu 24.04.
- Un utente non root con privilegi di amministratore.
- Un nome di dominio puntato a un indirizzo IP del server.
Installazione delle dipendenze
Joomla è un sistema di gestione dei contenuti basato su PHP. Per installarlo, devi installare PHP sul tuo sistema. In questa sezione, installerai il LEMP Stack (Linux, Nginx, MariaDB e PHP-FPM) come dipendenze per Joomla.
Per prima cosa, esegui il comando qui sotto per aggiornare l’indice dei pacchetti di Ubuntu.
sudo apt update
Installa le dipendenze del LEMP Stack con il comando qui sotto. Inserisci ‘ Y ‘ per confermare l’installazione.
sudo apt install nginx mariadb-server php-fpm php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip
Dopo che l’installazione è completata, controlla lo stato del servizio Nginx con il seguente:
sudo systemctl is-enabled nginx
sudo systemctl status nginxPuoi vedere che il servizio Nginx è in esecuzione.

Ora controlla il servizio MariaDB per assicurarti che il servizio sia in esecuzione e abilitato con il comando qui sotto:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Infine, esegui il seguente comando per verificare il servizio PHP-FPM. Il PHP-FPM dovrebbe essere in esecuzione per impostazione predefinita sul file sock.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm
Configurazione di PHP-FPM
Ora che il LEMP Stack è installato, configurerai l’installazione di PHP-FPM e cambierai alcune configurazioni predefinite secondo necessità per Joomla.
Apri il file di configurazione di PHP-FPM ‘ /etc/php/8.3/fpm/php.ini ‘ con l’editor ‘ nano ‘.
sudo nano /etc/php/8.3/fpm/php.iniCambia la configurazione predefinita con quanto segue:
memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=120
output_buffering = Off
extension=intlSalva il file ed esci dall’editor.
Ora riavvia il servizio PHP-FPM per applicare le tue modifiche.
sudo systemctl restart php8.3-fpmInfine, puoi controllare il file sock di PHP per il servizio PHP-FPM con il comando qui sotto.
ss -pl | grep phpPuoi vedere qui sotto che il file sock per PHP-FPM si trova in ‘ /var/run/php/php8.3-fpm.sock ‘.

Configurazione del server MariaDB
In questa sezione, proteggerai l’installazione del server MariaDB e poi creerai un nuovo database e un utente per Joomla. Utilizzerai ‘mariadb-secure-installation’ per proteggere il server MariaDB e poi tramite il client ‘mariadb’ per creare un nuovo database e utente.
Per proteggere il server MariaDB, esegui il comando ‘ mariadb-secure-installation ‘ qui sotto.
sudo mariadb-secure-installationOra ti verrà chiesto di configurare il server MariaDB con quanto segue:
- Per l’installazione predefinita del server MariaDB senza una password root, premi INVIO quando ti viene chiesto della password.
- L’autenticazione locale per gli utenti root di MariaDB è protetta per impostazione predefinita, inserisci ‘n’ quando ti viene chiesto di cambiare il metodo di autenticazione in ‘unix_socket’.
- Inserisci ‘Y’ per creare una nuova password root di MariaDB. Quindi, inserisci la password forte per il tuo utente root di MariaDB e ripeti.
- Quando ti viene chiesto di disabilitare l’autenticazione remota per l’utente root di MariaDB, inserisci ‘Y’ per confermare.
- L’installazione predefinita del server MariaDB viene fornita con il database ‘test’ e consente a un utente anonimo di accedervi.
- Inserisci ‘Y’ per entrambe le impostazioni per rimuovere il database predefinito ‘test’ e rimuovere il privilegio anonimo.
- Infine, inserisci ‘Y’ per confermare il ricaricamento dei privilegi delle tabelle.
Una volta che MariaDB è protetto, creerai un nuovo database e un utente per Joomla.
Accedi al server MariaDB con il comando ‘ mariadb ‘ qui sotto. Inserisci la tua password root di MariaDB quando richiesto.
sudo mariadb -u root -pOra esegui le seguenti query per creare un nuovo database ‘ joomladb ‘ e un nuovo utente ‘ joomla ‘ con la password ‘ p4ssword ‘.
CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;
Successivamente, esegui la query qui sotto per controllare i privilegi per l’utente ‘ joomla ‘. Vedrai che l’utente ‘ joomla ‘ può accedere al database ‘ joomladb ‘.
SHOW GRANTS FOR joomla@localhost;Infine, digita ‘ quit ‘ per uscire dal server MariaDB.

Download del codice sorgente di Joomla
A questo punto, hai installato e configurato le dipendenze per Joomla. Ora scaricherai il codice sorgente di Joomla e imposterai la directory document-root/webroot per l’installazione di Joomla.
Vai nella directory ‘/var/www’ e scarica il codice sorgente di Joomla con il comando ‘wget’ qui sotto. Controlla la pagina di download di Joomla e prendi il link per l’ultima versione.
cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-1-4/Joomla_5-1-4-Stable-Full_Package.zipOra esegui il comando ‘unzip’ qui sotto per estrarre il codice sorgente di Joomla nella directory ‘joomla’.
unzip Joomla_5-1-4-Stable-Full_Package.zip -d joomlaInfine, esegui il comando ‘chmod’ qui sotto per cambiare la proprietà della directory ‘/var/www/joomla’ all’utente ‘www-data’.
sudo chown -R www-data:www-data /var/www/joomlaImpostazione del blocco del server Nginx
Ora creerai una nuova configurazione del blocco del server Nginx per eseguire Joomla. Assicurati di avere il tuo nome di dominio pronto e puntato all’indirizzo IP del server.
Crea un nuovo file del server Nginx ‘ /etc/nginx/sites-available/joomla ‘ con l’editor ‘ nano ‘.
sudo nano /etc/nginx/sites-available/joomlaInserisci la configurazione qui sotto e cambia l’opzione ‘ server_name ‘ con il tuo nome di dominio.
server {
listen 80;
server_name howtoforge.local;
server_name_in_redirect off;
access_log /var/log/nginx/localhost.access_log;
error_log /var/log/nginx/localhost.error_log info;
root /var/www/joomla;
index index.php index.html index.htm default.html default.htm;
# Supporto API
location /api/ {
try_files $uri $uri/ /api/index.php?$args;
}
# Supporto URL puliti (aka SEO Friendly)
location / {
try_files $uri $uri/ /index.php?$args;
}
# aggiungi header globale x-content-type-options
add_header X-Content-Type-Options nosniff;
# nega l'esecuzione di script all'interno di directory scrivibili
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
# caching dei file
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}Salva il file ed esci dall’editor.
Ora esegui il comando qui sotto per attivare il blocco del server ‘ joomla ‘ e verificare la tua configurazione Nginx. Se hai impostazioni Nginx corrette, vedrai un output ‘ Syntax is OK ‘.
sudo ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/
sudo nginx -tInfine, esegui il comando ‘systemctl’ qui sotto per riavviare il servizio Nginx e applicare le tue modifiche.
sudo systemctl restart nginx
Proteggere Joomla con HTTPS
In questa guida, proteggerai Joomla con HTTPS. Se stai utilizzando un dominio pubblico, puoi proteggere Joomla tramite certificati SSL/TLS tramite Certbot e Letsencrypt.
Installa ‘Certbot’ e il plugin Certbot Nginx con il comando ‘apt’ qui sotto. Inserisci ‘Y’ per confermare l’installazione.
sudo apt install certbot python3-certbot-nginxDopo che l’installazione è completata, esegui il seguente comando ‘certbot’ per generare certificati SSL/TLS e proteggere la tua installazione di Joomla con HTTPS. Assicurati di cambiare il nome di dominio e l’indirizzo email con le tue informazioni.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.localQuando hai finito, la tua installazione di Joomla è protetta con HTTPS tramite certificati SSL/TLS di Letsencrypt.
Installazione di Joomla
Apri il tuo browser web e visita il tuo nome di dominio Joomla come https://howtoforge.local/. Vedrai la procedura guidata di installazione di Joomla.
Seleziona la tua lingua predefinita e inserisci il nome del tuo sito.

Inserisci il nuovo utente admin, email e password per Joomla.

Inserisci i dettagli del tuo database MariaDB e utente, quindi fai clic su ‘ Installa Joomla ‘ per procedere con l’installazione.

Dopo che l’installazione è completata, fai clic su ‘ Apri Sito ‘ per aprire la homepage predefinita, o ‘ Apri Amministratore ‘ per accedere alla dashboard di amministrazione di Joomla.

Per la homepage predefinita di Joomla, vedrai quanto segue.

Ora inserisci il tuo utente admin e la password e fai clic su ‘ Login ‘.

Se hai l’utente e la password corretti, vedrai la seguente dashboard di amministrazione di Joomla.

Conclusione
Congratulazioni! Hai installato Joomla sul server Ubuntu 24.04. Hai Joomla in esecuzione con il server web Nginx, il server di database MariaDB e PHP-FPM. Hai anche protetto Joomla con HTTPS tramite Certbot e Letsencrypt.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.