Installazione Moodle · 7 min read · Nov 02, 2025
Come installare Moodle LMS su server Ubuntu 24.04

Moodle è una popolare piattaforma open-source utilizzata da istituzioni educative in tutto il mondo per creare corsi online, gestire contenuti e facilitare l’apprendimento collaborativo. Eseguire Moodle su Ubuntu è una scelta comune grazie alla stabilità, sicurezza e supporto di Ubuntu per un’ampia gamma di pacchetti software. Il processo prevede l’installazione di componenti necessari come Apache o Nginx come server web, MySQL o PostgreSQL come database e PHP come linguaggio di scripting, tutti ben supportati su Ubuntu. Questa configurazione consente alle istituzioni di creare un ambiente di apprendimento online robusto, scalabile e personalizzabile, adattabile a specifiche esigenze educative.
In questo tutorial, ti mostreremo come installare Moodle su server Ubuntu 24.04. Installerai Moodle con il LAMP Stack e poi proteggerai Moodle con UFW e HTTPS tramite Certbot e Letsencrypt.
Prerequisiti
Prima di iniziare, assicurati di avere i seguenti requisiti:
- Un server Ubuntu 24.04.
- Un utente non root con privilegi di amministratore.
- Un nome di dominio puntato a un indirizzo IP del server.
- Un firewall UFW attivo e funzionante.
Installazione delle dipendenze
Moodle è una piattaforma di apprendimento open-source scritta in PHP. Per installare Moodle, hai bisogno di Apache/Nginx, MySQL/MariaDB/PostgreSQL e PHP. In questa sezione, installerai il LAMP Stack (Linux, Apache, MariaDB e PHP) su Ubuntu e configurerai Moodle sopra di esso.
Per iniziare, esegui il seguente comando e aggiorna l’indice dei pacchetti di Ubuntu.
sudo apt update
Ora esegui il comando qui sotto per installare le dipendenze del LAMP Stack (Apache, MariaDB e PHP). Inserisci ‘Y’ per confermare l’installazione.
sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php
Dopo che l’installazione è completata, controlla lo stato del servizio Apache con il comando qui sotto.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Nel seguente, puoi vedere che il server web Apache è in esecuzione.

Controlla il server database MariaDB con il seguente comando. Vedrai che il server MariaDB è in esecuzione.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Infine, controlla la versione di PHP e le estensioni abilitate con il seguente:
php -v
php -mVedrai che PHP 8.3 è installato sul tuo server Ubuntu.

Configurazione del server MariaDB
Dopo che le dipendenze sono installate, devi cambiare il motore di archiviazione predefinito di MariaDB in ‘InnoDB‘, che è richiesto da Moodle. Questo può essere fatto modificando la configurazione del server MariaDB. E poi, proteggerai anche il deployment del server MariaDB utilizzando l’utilità ‘mariadb_secure_installation‘.
Apri il file di configurazione del server MariaDB ‘/etc/mysql/mariadb.conf.d/50-server.cnf‘ con l’editor ‘nano’.
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnfAggiungi la seguente configurazione sotto la sezione ‘[mysqld]‘. Questo cambierà il motore di archiviazione predefinito in ‘innodb‘.
innodb_file_format = Barracuda
default_storage_engine = innodb
innodb_large_prefix = 1
innodb_file_per_table = 1Salva il file ed esci dall’editor.
Ora esegui il comando ‘systemctl‘ qui sotto per riavviare il server MariaDB e applicare le tue modifiche.
sudo systemctl restart mariadbInfine, esegui il comando ‘mariadb_secure_installation‘ qui sotto per configurare l’utente root di MariaDB e proteggere il tuo deployment.
sudo mariadb_secure_installationDurante il processo, ti verrà chiesto 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. Poi, 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.
Creazione di database e utente
Ora che hai configurato il server MariaDB, creiamo un nuovo database e un utente tramite il client ‘mariadb’.
Accedi al server MariaDB con il comando client ‘ 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 ‘moodle‘, un utente ‘moodle‘ e assicurati di cambiare la password con le tue informazioni.
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";
FLUSH PRIVILEGES;
QUIT
Configurazione di PHP
In questa sezione, modificherai la configurazione di PHP ‘php.ini’ e cambierai alcuni valori predefiniti richiesti da Moodle.
Apri la configurazione di PHP ‘/etc/php/8.3/apache2/php.ini‘ con l’editor ‘nano‘.
sudo nano /etc/php/8.3/apache2/php.iniCambia la configurazione predefinita con la seguente. Assicurati di regolare le opzioni ‘memory_limit‘ e ‘date_timezone‘ con le tue informazioni.
memory_limit = 256M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
max_input_vars = 5000Quando hai finito, salva il file ed esci.
Infine, esegui il comando qui sotto per riavviare il server web Apache e applicare le tue modifiche a PHP.
sudo systemctl restart apache2Download del codice sorgente di Moodle
A questo punto, hai installato e configurato il LAMP Stack. Scarichiamo il codice sorgente di Moodle e configuriamo la directory di installazione di Moodle.
Vai alla directory ‘/var/www‘ e scarica il codice sorgente di Moodle utilizzando il comando ‘wget‘. Assicurati di visitare la pagina di download di Moodle per ottenere il link per l’ultima versione. In questo caso, scaricherai l’ultima versione stabile Moodle 40.4.
cd /var/www
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgzDopo che Moodle è stato scaricato, estrailo con il comando ‘tar‘ qui sotto. Il codice sorgente di Moodle sarà disponibile nella directory ‘/var/www/moodle‘.
tar xvf moodle-latest-404.tgzInfine, esegui il comando qui sotto per creare una nuova directory dati ‘/var/www/moodledata‘, cambiare la proprietà della directory di Moodle all’utente ‘www-data‘ e assicurati che sia la directory di Moodle che quella dei dati siano scrivibili dall’utente ‘www-data‘.
sudo mkdir -p /var/www/moodledata
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata
sudo chmod u+rwx /var/www/moodle /var/www/moodledataConfigurazione dell’host virtuale Apache
Con Moodle scaricato, creerai un nuovo file di host virtuale Apache per eseguire Moodle. Assicurati di avere il tuo dominio pronto e risolto all’indirizzo IP del tuo server Ubuntu.
Per prima cosa, esegui il comando ‘a2enmod‘ qui sotto per attivare il modulo ‘rewrite‘.
sudo a2enmod rewriteCrea un nuovo file di host virtuale Apache ‘/etc/apache2/sites-available/moodle.conf‘ con il seguente editor ‘nano‘.
sudo nano /etc/apache2/sites-available/moodle.confInserisci la seguente configurazione e assicurati di cambiare il nome di dominio con le tue informazioni.
DocumentRoot /var/www/moodle/
ServerName moodle.howtoforge.local
ServerAdmin [email protected]
Options +FollowSymlinks
AllowOverride All
Require all granted
ErrorLog /var/log/apache2/moodle_error.log
CustomLog /var/log/apache2/moodle_access.log combined
Salva il file ed esci dall’editor quando hai finito.
Ora esegui il seguente comando per abilitare il file ‘moodle.conf‘ e verificare la sintassi di Apache. Se hai la sintassi corretta di Apache, vedrai un output ‘Syntax is OK‘.
sudo a2ensite moodle.conf
sudo apachectl configtestInfine, esegui il comando ‘systemctl‘ qui sotto per riavviare Apache e applicare le tue modifiche.
sudo systemctl restart apache2Proteggere Moodle con UFW
In questo passaggio, aprirai i protocolli HTTP e HTTPS tramite UFW (Uncomplicated Firewall). Assicurati che UFW sia attivo prima di iniziare.
Esegui il comando qui sotto per abilitare il profilo ‘Apache Full‘ su UFW. Con questo, il traffico HTTP e HTTPS sarà consentito.
sudo ufw allow 'Apache Full'Ora controlla l’elenco delle regole abilitate su UFW con il seguente. Vedrai che il profilo ‘Apache Full‘ è abilitato.
sudo ufw statusProteggere Moodle con HTTPS
Oltre al firewall, genererai anche certificati SSL/TLS e proteggerai Moodle con HTTPS. In questa sezione, implementerai HTTPS per Moodle tramite Certbot e Letsencrypt. Se stai installando Moodle localmente, salta questo.
Installa i pacchetti ‘certbot‘ e ‘python3-certbot-apache‘ con il seguente comando.
sudo apt install certbot python3-certbot-apache -yDopo che l’installazione è completata, esegui il comando ‘certbot‘ qui sotto per generare certificati SSL/TLS per Moodle. Assicurati di cambiare il nome di dominio e l’indirizzo email con le tue informazioni.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d moodle.howtoforge.localQuando il processo è terminato, i tuoi certificati SSL saranno disponibili nella directory ‘/etc/letsencrypt/live/domain.com‘ e la tua installazione di Moodle dovrebbe essere protetta automaticamente con HTTPS.
Installazione di Moodle
Visita il tuo nome di dominio Moodle come https://moodle.howtoforge.local/ e vedrai la procedura guidata di installazione.
Seleziona la tua lingua predefinita e fai clic su Avanti.

Inserisci la tua directory dati per Moodle ‘/var/www/moodledata‘.

Seleziona MariaDB come driver del database.

Inserisci i dettagli del tuo database e utente MariaDB.

Fai clic su Continua per confermare l’avviso di copyright.

Nella sezione dei controlli del server, assicurati che il tuo ambiente sia pronto.

Ora l’installazione di Moodle sarà elaborata.

Dopo che l’installazione è completata, inserisci il nuovo utente admin, email e password per Moodle.

Ora vedrai il dashboard di Moodle come segue:

Conclusione
Congratulazioni! Hai completato l’installazione di Moodle sul server Ubuntu 24.04. Hai installato Moodle 40.4 su Ubuntu con il LAMP Stack (Linux, Apache, MariaDB e PHP) e protetto Moodle con UFW (Uncomplicated Firewall) e HTTPS tramite Certbot e Letsencrypt.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.