Ricerca nel sito web

Come installare la piattaforma di apprendimento Moodle in Ubuntu 20.04


Moodle è la piattaforma di gestione dell'apprendimento online (e-learning) più popolare, solida, gratuita e open source al mondo, creata per il Web e i dispositivi mobili. Offre un'ampia gamma di attività e strumenti educativi che consentono a scuole, università e istituzioni correlate di offrire agli studenti una piattaforma di apprendimento flessibile sempre e ovunque, senza interruzioni del corso e del curriculum.

Alcune delle sue caratteristiche generali includono un'interfaccia moderna e facile da usare, dashboard personalizzata, strumenti e attività di collaborazione, calendario all-in-one, comoda gestione dei file, editor di testo semplice e intuitivo, notifiche e monitoraggio dei progressi.

È importante sottolineare che Moodle è anche altamente estensibile utilizzando oltre un migliaio di plugin che supportano attività extra, blocchi, temi e molto altro ancora.

In questo articolo imparerai come installare l'ultima versione della piattaforma di apprendimento Moodle con NGINX e il database MySQL/MariaDB su Ubuntu 20.04 e versioni precedenti.

Requisiti del server:

  • Un server Ubuntu 20.04 appena installato con LEMP Stack installato.

Dopo aver installato lo stack LEMP sul server Ubuntu, puoi procedere ulteriormente per configurare Moodle sul server come spiegato di seguito.

Su questa pagina

  • Configurazione del record DNS per l'applicazione Moodle
  • Installazione di Moodle sul server Ubuntu
  • Configurazione di NGINX per servire l'applicazione Moodle
  • Completamento dell'installazione di Moodle tramite Web Installer
  • Abilita HTTPS sull'applicazione Moodle utilizzando Let's Encrypt

Configurazione del record DNS per l'applicazione Moodle

1. Affinché gli utenti possano accedere alla tua istanza Moodle devi creare un sottodominio, quindi devi creare un DNS Un record per raggiungere questo obiettivo. Per questa guida, il nostro dominio di test è testprojects.me, quindi dobbiamo creare un sottodominio, ad esempio learning.testprojects.me.

Quindi, accedi alla console web del registrar del tuo dominio e accedi alle impostazioni avanzate del tuo dominio, fai clic su Aggiungi nuovo record di tipo A, un host dovrebbe imparare (o qualsiasi parola a tua scelta) e valore dovrebbe essere l'indirizzo IP pubblico del tuo server Ubuntu.

Installazione di Moodle sul server Ubuntu

2. Successivamente, devi installare le estensioni e le librerie PHP richieste da Moodle utilizzando il gestore pacchetti apt come mostrato.

sudo apt update
sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. Successivamente, crea un database per il tuo sistema Moodle. Accedi alla shell di amministrazione del database MySQL e crea il database come mostrato:

sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Come accennato in precedenza, per questa guida scaricheremo e installeremo l'ultima versione di Moodle (versione 3.9 al momento della stesura di questo articolo). Esegui il seguente comando wget per prendere il pacchetto Moodle e usa rispettivamente il comando tar per estrarlo. Quindi utilizza il comando ls per confermare che la directory Moodle esiste in /var/www/html/ come mostrato.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
ls /var/www/html/

5. Successivamente, imposta le autorizzazioni appropriate sulla directory Moodle eseguendo i seguenti comandi.

sudo chown www-data:www-data -R /var/www/html/moodle
sudo chmod 775 -R /var/www/html/moodle

6. Successivamente, crea la directory data di Moodle, un luogo in cui Moodle può salvare i file caricati e impostare le sue autorizzazioni come mostrato.

sudo mkdir -p /var/moodledata
sudo chmod 775 -R /var/moodledata
sudo chown www-data:www-data -R  /var/moodledata

7. Quindi crea il file di configurazione principale di Moodle dal file di configurazione di esempio fornito con il pacchetto e aprilo.

cd /var/www/html/moodle/
sudo cp config-dist.php config.php
sudo vim config.php

Cerca la sezione di configurazione del database, quindi configura il database in cui verranno archiviati tutti i dati Moodle, come mostrato nello screenshot seguente:

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Inoltre, configura la posizione del sito Web Moodle e la posizione della directory dei dati Moodle come mostrato.

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/moodledata';

Salva e chiudi il file. Quindi configura NGINX per server il tuo sito Moodle come descritto nella sezione successiva.

Configurazione di NGINX per servire l'applicazione Moodle

8. Affinché NGINX possa server il tuo sito Moodle, devi creare una nuova configurazione di blocco server nella configurazione NGINX, nella directory /etc/nginx/conf.d/.

sudo vim /etc/nginx/conf.d/moodle.conf

Copia e incolla la seguente configurazione al suo interno, sostituisci learning.testprojects.me con il tuo sottodominio. Inoltre, la direttiva fastcgi_pass dovrebbe puntare all'indirizzo su cui PHP-FPM accetta le richieste FastCGI (controlla /etc/php/7.4/fpm/pool.d/www.conf file per ulteriori informazioni).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Salva il file e chiudilo.

9. Successivamente, verifica che la configurazione NGINX sia corretta dopo aver apportato le modifiche di cui sopra, quindi riavvia normalmente il servizio NGINX.

sudo nginx -t
sudo systemctl reload nginx

Completamento dell'installazione di Moodle tramite Web Installer

10. Ora apri un browser web e naviga utilizzando il tuo sottodominio, ad esempio learning.testprojects.me per accedere al programma di installazione web Moodle.

http://learning.testprojects.me

Una volta caricata la pagina di benvenuto, leggi il messaggio e fai clic su Continua.

11. Successivamente, il programma di installazione controllerà se il tuo sistema soddisfa i requisiti, se tutto è a posto, scorri verso il basso e fai clic su Continua per avviare l'effettiva installazione dei file e la configurazione del database schema.

Tieni presente che il programma di installazione mostrerà un avviso relativo al sito non in esecuzione su HTTPS, ignora l'avviso per ora. Nell'ultima sezione, tratteremo come abilitare HTTPS su Moodle utilizzando i certificati Let's Encrypt gratuiti.

Una volta completata l'installazione, fai clic su Continua.

12. Successivamente, configura l'account amministratore del tuo sito Moodle creando il nome utente, la password, il nome, il cognome e l'indirizzo email dell'account. Quindi scorri verso il basso e fai clic su Aggiorna account.

13. Successivamente, configura le impostazioni della prima pagina del sito Moodle come mostrato nello screenshot seguente. Quindi scorri verso il basso e fai clic su Aggiorna.

14. Il programma di installazione web ti collegherà automaticamente al nuovo sito Moodle. Puoi completare la registrazione al sito seguendo le istruzioni visualizzate sullo schermo.

Configurazione di HTTPS sull'applicazione Moodle utilizzando Let's Encrypt

15. Per proteggere il tuo sito Moodle, devi abilitare HTTPS. Per questa guida utilizzeremo Let's Encrypt certificati SSL/TLS gratuiti e affidabili. Un altro vantaggio dell’utilizzo di Let’s Encrypt è che è automatizzato.

Quindi, torna al tuo terminale ed esegui il comando seguente per installare certbot su Ubuntu (uno strumento open source gratuito per utilizzare automaticamente i certificati Let's Encrypt per abilitare HTTPS su siti amministrati manualmente).

sudo snap install --classic certbot

16. Quindi emetti il seguente comando per ottenere un certificato e chiedi a Certbot di modificare la tua configurazione NGINX per configurare automaticamente il nuovo certificato.

sudo certbot --nginx

17. Successivamente, torna al file di configurazione del sito Moodle.

sudo vim /var/www/html/moodle/config.php 

e cambia l'URL da HTTP a HTTPS come mostrato nello screenshot seguente.

$CFG->wwwroot   = 'https://learning.testprojects.me';

18. Infine, verifica dal browser che il tuo sito Moodle sia ora in esecuzione su HTTPS.

https://learning.testprojects.me

È tutto per ora! Vai alla documentazione di Moodle 3.9 per ulteriori informazioni, opzioni di configurazione e guida all'utilizzo.