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

update repo

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

install deps

Dopo che l’installazione è completata, controlla lo stato del servizio Nginx con il seguente:

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Puoi vedere che il servizio Nginx è in esecuzione.

check nginx

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

check 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

check php-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.ini

Cambia 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=intl

Salva il file ed esci dall’editor.

Ora riavvia il servizio PHP-FPM per applicare le tue modifiche.

sudo systemctl restart php8.3-fpm

Infine, puoi controllare il file sock di PHP per il servizio PHP-FPM con il comando qui sotto.

ss -pl | grep php

Puoi vedere qui sotto che il file sock per PHP-FPM si trova in ‘ /var/run/php/php8.3-fpm.sock ‘.

php-fpm sock file

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-installation

Ora 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 -p

Ora 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;

create db user

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.

show user privileges

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

Ora 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 joomla

Infine, 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/joomla

Impostazione 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/joomla

Inserisci 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 -t

Infine, esegui il comando ‘systemctl’ qui sotto per riavviare il servizio Nginx e applicare le tue modifiche.

sudo systemctl restart nginx

setupnginx

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-nginx

Dopo 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.local

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

setup langugage

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

new admin user

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

db details

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.

installation complete

Per la homepage predefinita di Joomla, vedrai quanto segue.

homepage

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

login

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

dashboard

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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.