Per installare Moodle dobbiamo avere a disposizione una macchina con alcuni requisiti, in alternativa possiamo usare un installer che si occuperà dell'installazione anche delle componenti necessarie al funzionamento: Web server, Database server, PHP ed estensioni richieste.
Questa seconda soluzione è disponibile per Windows e MacOS: per quanto possa apparire una scorciatoia efficace non è una soluzione praticabile su un server di produzione, può essere invece usata in un ambiente di sviluppo e test. Chi fosse interessato a questa opzione può trovare le istruzioni necessaria per windows su questa pagina e per MacOS su questa.
Noi invece ci concentreremo sulla prima soluzione.
Requisiti
Moodle è una piattaforma basata su LAMP (Linux - Apache - MySQL - PHP), naturalmente possiamo usare anche server windows a condizione che sia installato Apache come Web server, un database server fra MySQL, MariaDB e PostgreSQL, e PHP. In ambiente Windows occorre aver installato anche Visual C++ Redistributable for Visual Studio 2012 o superiore.
Dal punto di vista hardware dobbiamo disporre di un processore da almeno 1Ghz, ma è raccomandato 2Ghz dual core e di 512mb di RAM, consigliato 1GB o più. Per quanto riguarda lo spazio necessario il codice di Moodle occupa circa 200Mb, ma la quota varia in ragione dei contenuti caricati nelle lezioni; verosimilmente bisogna ragionare in termini di alcuni Gb come opzione minima. Infine è opportuno considerare la separazione fra Web server e Database server.
Dal punto di vista software le richieste per la versione attualmente in produzione (3.5) sono:
- PHP 7.x
- PHP extension intl
- MySQL minimo 5.5.31 ma consigliata l'ultima versione, in ogni caso è necessario che il database utilizzato abbia il supporto full per UTF-8 (
utf8mb4_unicode_ci
)
Il codice
Il codice può essere scaricato direttamente dal sito di Moodle o clonato da Git:
$ git clone -b MOODLE_{{Version3}}_STABLE git://git.moodle.org/moodle.git
I files dovranno essere messi a disposizione del Web server ed è fondamentale non siano scrivibili dal Web server (sola lettura).
Il database
A questo punto si deve creare un database, per il momento vuoto, e assegnare ad un utente i permessi di accesso, le informazioni relative a host, database, user e password dovranno essere memorizzate perché ci verranno richieste nel corso dell'installazione. Normalmente la scelta ricade su MySQL
Data directory
Moodle utilizza una directory dove memorizzare i file uploadati, i files temporanei, le sessioni e tutto quello che in generale è connesso al funzionamento della piattaforma in termini di dati. Pertanto questa directory (moodledata
) dovrà essere scrivibile da parte del Web server e dovrà essere posizionata in un percorso non raggiungibile via HTTP, ovvero non deve essere direttamente accessibile via Web.
Installazione
L'installazione può essere fatta sia da linea di comando sia una tradizionale procedura Web comune alla maggior parte dei CMS. In questo secondo caso la procedura guidata si occuperà dell'acquisizione delle informazioni necessarie, della creazione del database e più in generale dell'installazione vera e propria della piattaforma. La procedura è piuttosto lenta, la creazione del database richiede parecchio tempo e quindi bisogna pazientare un po' prima di vedere tutto funzionare, dall'altra parte le informazioni richieste sono standard e non specifiche di Moodle, come per esempio l'utente di accesso con privilegi amministrativi.
Configurazione
Conclusa l'installazione non resta che configurare SMTP, timezone ed eventualmente proxy dal pannello "Administration > Site administration". In particolare, se vogliamo che Moodle invii messaggi via email dovremo configurare il server SMTP da "Administration > Site administration > Plugins > Message Outputs > Email".
In caso di firewall o proxy che limitano l'accesso alla rete dovremo inserire le credenziali tramite "Administration > Site administration > Server > HTTP".
In ultimo resta la timezone, se non è già stata assegnata nel file di configurazione php.ini
il percorso da seguire sarà !Administration > Site administration > Location > Update timezones".
Come ultimo passaggio si possono impostare dei cron job per gestire l'invio delle email dei forum e per i backup dei corsi: si tratta di funzionalità accessorie che non è facile prevedere in fase iniziale, ma dopo aver acquisito un po' di esperienza potrebbero far parte di un setup iniziale completo e corretto.
A questo punto non resta che sperimentare Moodle.