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

update repo

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

install lamp stack

Dopo che l’installazione è completata, controlla lo stato del servizio Apache con il comando qui sotto.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Nel seguente, puoi vedere che il server web Apache è in esecuzione.

check apache2

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

check mariadb

Infine, controlla la versione di PHP e le estensioni abilitate con il seguente:

php -v  
php -m

Vedrai che PHP 8.3 è installato sul tuo server Ubuntu.

check php

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

Aggiungi 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 = 1

Salva 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 mariadb

Infine, esegui il comando ‘mariadb_secure_installation‘ qui sotto per configurare l’utente root di MariaDB e proteggere il tuo deployment.

sudo mariadb_secure_installation

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

Ora 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

create database

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

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

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

Download 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.tgz

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

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

Configurazione 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 rewrite

Crea 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.conf

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

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

sudo systemctl restart apache2

Proteggere 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 status

Proteggere 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 -y

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

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

language

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

moodle data

Seleziona MariaDB come driver del database.

db driver

Inserisci i dettagli del tuo database e utente MariaDB.

database

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

copyright notices

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

system checks

Ora l’installazione di Moodle sarà elaborata.

installation

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

setup admin

Ora vedrai il dashboard di Moodle come segue:

moodle dashboard

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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.