Moodle is one of the best learning management systems available. It’s an open software, released under the open source ‘GNU General Public License’ which makes it highly flexible and customizable. In this guide you will learn how to install Moodle on Ubuntu server 20.04/22.04.
We are installing Moodle on a brand new, clean Ubuntu server with no software or data on it. If your server has data on it - make data backup first. Author is not responsible for possible data loss.
Prima di iniziare
Dai un'occhiata al nostro servizio di hosting per Moodle edizione comunitaria. Puoi iniziare a utilizzare LMS senza bisogno di installarlo!
Prerequisiti
- Installa un Server VPS con Ubuntu 22.04 su di esso
- Ottieni un certificato completo nome di dominio pointing to your server’s IP address, such as “moodle.example.org”
Per gli esempi in questa guida utilizzeremo domain moodle.esempio.org, cambialo con il tuo nome di dominio.
Preparazione del server Ubuntu per l'installazione di Moodle
Aggiorna il sistema
First thing first – updating the system. To get started connect to your server via SSH. Then run “apt update” and “apt upgrade” commands to update system packages to the latest version.
$ sudo apt update && apt upgrade -y

Installa Apache, PHP-8.1, MariaDB MySQL server
Successivamente installa le dipendenze di Moodle. Dobbiamo installare il server web Apache, PHP 8.1, il server SQL MariaDB, il server di posta e un elenco di estensioni PHP richieste da Moodle.
$ sudo apt install apache2 php8.1 mariadb-server postfix $ sudo apt install php8.1-mysql php8.1-fpm php8.1-iconv php8.1-mbstring php8.1-curl php8.1-tokenizer php8.1-xmlrpc php8.1-soap php8.1-ctype php8.1-zip php8.1-gd php8.1-simplexml php8.1-xml php8.1-intl
Una volta completata l'installazione, avviare il server Web Apache.
$ sudo systemctl start apache2 $ sudo systemctl enable apache2
Configura Apache VirtualHost e PHP-FPM
Eseguiremo Moodle 4.2 su Apache e PHP-FPM. Nel passaggio successivo configureremo PHP-FPM per Apache.
1. Avvia il servizio PHP-FPM e abilitalo all'avvio.
$ sudo systemctl start php8.1-fpm $ sudo systemctl enable php8.1-fpm
2. Per utilizzare PHP-FPM con Apache dobbiamo abilitare proxy_fcgi e i moduli proxy.
sudo a2enmod proxy_fcgi proxy
3. Crea il file di configurazione di Apache per Moodle.
$ sudo nano /etc/apache2/sites-available/moodle.conf
Inserisci la seguente configurazione nel file moodle.conf. Sostituisci NomeServer, DocumentRoot, Directory con i tuoi valori
<VirtualHost *:80>
ServerName moodle.esempio.org
ServerAlias www.moodle.esempio.org
DocumentRoot /home/moodle/public_html
<Directory /home/moodle/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Salva e chiudi il file con CTRL X, quindi Y, quindi Invio.
4. Abilita il nuovo host virtuale e ricarica il server web Apache.
$ a2ensite moodle $ systemctl reload apache2
5. Also it’s nice to have a rewrite and SSL modules enabled
# a2enmod rewrite # a2enmod ssl # systemctl restart apache2
Creare un database e un utente del database
1. Avviare e abilitare il server SQL MariaDB
root@moodle-lms-install:~# systemctl start mariadb root@moodle-lms-install:~# systemctl enable mariadb
2. Creare utente e database MySQL
root@moodle-lms-install:~# mysql MariaDB [(none)]> create database moodle_dev; MariaDB [(none)]> grant all privileges on moodle_dev.* to moodle_user@localhost identified by 'Change_to_Strong_SQL_Password'; MariaDB [(none)]> flush privileges;
Una volta configurati Apache, PHP e MySQL possiamo procedere con l'installazione del codice Moodle.
Installa il codice Moodle
1. Creare una directory home per il sito Moodle e la directory pubblica
$ useradd --create-home -s /bin/sh moodle $ mkdir -p /home/moodle/public_html $ chmod 711 /home/moodle
2. Scarica l'ultimo codice Moodle ed estrailo nella directory pubblica.
Puoi scaricare l'ultimo Moodle da https://download.moodle.org/releases/latest/. Get the code and upload it into the public directory. In our case the directory is “/home/moodle/public_html”
Esegui l'installazione nel browser
Prima di procedere a questo passaggio finale devi puntare il tuo nome di dominio all'indirizzo IP del tuo server. Quando il DNS è configurato è possibile eseguire l'installazione di Moodle in un browser.
1. Open your browser and navigate to your Moodle’s site domain/sub-domain. You should see Moodle Installation page.
2. Choose website’s language. We will keep English.

3. Conferma i percorsi
Nel passaggio successivo verificare che l'indirizzo web, la directory Moodle e la directory dei dati siano corretti. La directory dei dati mancava nella nostra installazione, quindi l'abbiamo creata in questo passaggio.
# mkdir /home/moodle/moodledata # chown www-data:www-data /home/moodle/moodledata

4. Scegli un server di database
Utilizziamo MariaDB per questa guida. Seleziona MariaDB dal menu a discesa.

5. Immettere le impostazioni del database
Inserisci il nome del database, l'utente del database e la password che abbiamo creato in precedenza.

6. Crea il file config.php
After entering database settings and clicking “Next” a config.php file will be generated. Copy content of the file and create “config.php” in the root moodle directory (/home/moodle/public_html in this example).
7. Accetta la licenza
Devi leggere e accettare il contratto di licenza Moodle in questo passaggio.
8. Supera i controlli del server
Most of the checks passed in our installation. We only had to change “max_input_vars” from its default value to 5000.
$ nano /etc/php/8.1/fpm/php.ini $ systemctl reload php8.1-fpm

9. Configura il tuo account amministratore principale
In questo passaggio dovresti configurare l'account amministratore. Inserisci il nome utente, la password e gli altri dettagli richiesti dell'amministratore.
10. Immettere le impostazioni iniziali del sito
Configura il nome del sito, il nome breve del sito, il riepilogo della home page del sito e altre informazioni.

Crea il tuo primo corso!
After few final clicks you will see the LMS dashboard and Calendar. Proceed to “My Courses” tab and create your first Moodle course! Well done!







