Installare Moodle

Attenzione: Pagina in costruzione


Nota: Questa pagina guida passo dopo passo all'installazione di Moodle. Se si è esperti e si ha fretta consultare Guida rapida Installazione.


Se si desidera solamente provare Moodle in locale, è possibile utilizzare i programmi di installazione 'one-click' per Windows (consultare Pacchetti di installazione per Windows) e per OS X (consultare Pacchetti di installazione per OS X o Installare Moodle su OS X), non adatti ai server di produzione.

Requisiti

Moodle è sviluppato principalmente su Linux utilizzando Apache, PostgreSQL / MySQL / MariaDB e PHP (ambiente noto come piattaforma LAMP), ed è generalmente eseguito nello stesso ambiente. Altre opzioni sono possibili, a patto che soddisfino i requisiti minimi della (EN) release. Se si installa Moodle su un server Windows, a partire dalla versione 5.5 di PHP è necessario installare anche (EN) Visual C++ Redistributable for Visual Studio 2012 (per architetture x64 o x86).

I requisiti minimi per installare Moodle sono i seguenti:

Hardware

  • Spazio su disco: 200 MB per il codice Moodle, oltre allo spazio necessario per memorizzare i contenuti. 5 GB è uno spazio minimo realistico.
  • Processore: da 1 GHz (min), 2 GHz dual core o più è consigliato.
  • Memoria: 512 MB (min), consigliato 1 GB o più. Almeno 8 GB sono consigliati per un grande server di produzione.
  • Si consiglia di avere due server distinti per il front end e per il database. Ѐ una configurazione più semplice da mettere a punto.

Tutti i requisiti menzionati variano in funzione delle combinazioni di hardware e software, dal tipo di utilizzo e dal carico. I siti con grande traffico o con molti contenuti potrebbero richiedere delle risorse aggiuntive. Per ulteriore assistenza consultare Raccomandazioni sulle prestazioni. In generale, incrementando l’hardware Moodle scala facilmente.

Per i siti molto grandi conviene cominciare con un piccolo sito pilota per acquisire conoscenze e esperienza. Un post sul forum come 'Che tipo di hardware è necessario per 50.000 utenti?' difficilmente potrà ottenere una risposta utile.

Software

Per i requisiti software consultare le (EN) note di rilascio di Moodle 3.5 nei documenti di sviluppo.

Configurare il server

A seconda dell’uso, un server Moodle può essere un PC Desktop (ad esempio per testare e valutare) o una soluzione su rack o cluster. Come menzionato sopra, ci sono molteplici possibilità per installare il software di base del server, alcuni link si trovano su Installare AMP, Internet Information Service, Nginx.

Aiuterà molto, indipendentemente dalle scelte di implementazione, prendersi del tempo per capire come configurare le diverse componenti software (il server HTTP, Database, PHP ecc.). Ѐ bene non aspettarsi che la configurazione standard del server sia quella ottimale per Moodle. Ad esempio, il web server e il database server richiederanno quasi sicuramente un’ottimizzazione per funzionare al meglio con Moodle.

Se ci si affida a un provider, assicurarsi che tutti i requisiti di Moodle (come la versione PHP) siano soddisfatti dalla piattaforma di hosting prima di tentare l’installazione. Questo controllo aiuterà a familiarizzare con le impostazioni della piattaforma del provider (ad esempio la dimensione massima di upload dei file PHP) così come con le opzioni e gli strumenti a disposizione, anch'essi in continua evoluzione.

Scaricare e copiare i file nel posto giusto

Attenzione: Moodle può essere scaricato da più fonti, ma si consiglia di farlo esclusivamente da Moodle.org. In caso di problemi, sarà molto più semplice poter fornire assistenza.

Moodle può essere scaricato in due modi:

  • dalla pagina di (EN) download su Moodle.org;
  • dal repository Git (consigliato per gli sviluppatori); l'aggiornamento ne risulterà più semplice.
$ git clone -b MOODLE_35_STABLE git://git.moodle.org/moodle.git 

Altre opzioni da prendere in considerazione:

  • --depth=1 - per una superficiale clonazione (esclusivamente) della versione più recente.
Attenzione: Gli sviluppatori non potranno effettuare facilmente aggiornamenti e modifiche git quando si utilizza questa opzione.
  • --single-branch - per limitare la clonazione a un singolo ramo; preleva il ramo stabile di Moodle 3.5 (ultimo aggiornamento settimanale). Per una più completa documentazione, consultare la guida Git per Amministratori.

in entrambi i casi si otterrà una directory di nome moodle, contenente un buon numero di file e cartelle.

È possibile posizionare l'intera cartella nella directory dei documenti del web server (da dove il sito sarà visibile con http://nome.del.web.server/moodle) o si possono copiare i contenuti della cartella direttamente in quella dei documenti del web server (da dove il sito sarà accessibile semplicemente come http://nome.del.web.server). Consultare la documentazione di sistema e/o del web server se non si è sicuri.

Consiglio: Se si scarica Moodle in locale per poi caricarlo su una piattaforma di hosting, conviene caricare l'intera struttura di file e cartelle in un file compresso e decomprimerlo sul server alla fine del trasferimento (magari utilizzando un ‘file manager’). In caso contrario, è opportuno controllare attentamente l’avanzamento del trasferimento FTP per individuare errori o file mancanti.
  • Proteggere i file Moodle - è essenziale che l’utente del web server non abbia i permessi di scrittura sui file. Per sincerarsene, su Unix/Linux (come root), basterà dare i comandi:
# chown -R root /path/to/moodle
# chmod -R 0755 /path/to/moodle
# find /path/to/moodle -type f -exec chmod 0644 {} \;

(In questo modo i file apparterranno agli amministratori/superutenti e solo loro potranno modificarli mentre tutti potranno leggerli.)

Il terzo comando cerca tutti i file normali ed esegue su di essi il comando chmod 0644 (lettura e scrittura per il proprietario - root -, lettura per tutti gli altri).

Si si desidera utilizzare l'installatore di plugin integrato, è invece necessario che l’utente del web server abbia i permessi di scrittura. Ѐ fortemente consigliato utilizzare le ACL (Access Control List) quando il server lo supporta; ad esempio se il server Apache utilizza un account www-data:

# chmod -R +a "www-data allow read,delete,write,append,file_inherit,directory_inherit" /path/to/moodle

L’effetto del comando precedente è di permettere all’account dell’utente Apache (www-data in questo caso) di accedere e modificare i file all'interno del sito Moodle. Questa però potrebbe rivelarsi una mossa azzardata per un amministratore alle prime armi. In un nuovo sito Moodle si può tranquillamente trascurare questo aspetto. Un’installazione predefinita di Ubuntu non ha l’opzione +a per il comando chmod. L’attributo +a è una funzionalità ACL che permette di impostare le modalità di accesso ai singoli file per ogni utente. Ad esempio, OS X ce l'ha come impostazione predefinita.

Creare un database vuoto

Il passaggio successivo prevede la creazione di un database vuoto per l’installazione. Bisogna cercare le informazioni seguenti e prenderne nota per utilizzarle durante la fase finale di installazione:

  • dbhost - il nome dell'host del database server; probabilmente localhost se il database e il web server sono la stessa macchina, altrimenti il nome del database server.
  • dbname - il nome del database; qualsiasi nome va bene, ad esempio moodle.
  • dbuser - il nome dell'utente del database; si può assegnare qualsiasi nome, ad esempio moodleuser - non utilizzare l’account root/superuser. Creare un account appropriato con le autorizzazioni minime necessarie.
  • dbpass - la password per l'utente di cui sopra.

Se ci si è appoggiati a un provider, si dovrebbe trovare una pagina di amministrazione via web per i database nel pannello di controllo (o chiedere all'amministratore). Negli altri casi o per istruzioni più dettagliate, consultare la pagina relativa al database server prescelto:

Creare una directory per i dati (moodledata)

Moodle richiede una directory dove raccogliere i file non di installazione (tutti i file caricati sul sito, dati temporanei, cache, dati di sessione ecc.). L'utente del web server deve avere i permessi di scrittura in quella directory. Su sistemi più grandi occorre considerare quanto spazio libero si ha intenzione di utilizzare al momento di assegnare questa directory.

A causa del modo in cui Moodle memorizza i dati nella cache, potrebbero verificarsi problemi di prestazione se si usa un sistema di archiviazione relativamente lento (ad esempio NFS) per questa directory. Leggere attentamente Raccomandazioni sulle prestazioni e valutare di usare ad esempio Redis o Memcached per il Caching.

Attenzione: Questa directory non deve essere accessibile direttamente via web poiché rappresenterebbe un serio buco di sicurezza. Non metterla all'interno della cartella dei documenti del web server o della cartella dei file di installazione di Moodle perché Moodle non si installerà. Può andare invece da qualsiasi altra parte.

Di seguito, un esempio (Unix/Linux) per creare una directory e impostare i permessi di scrittura per chiunque sul server (configurazione utile solo per i server Moodle non condivisi). Consultare l'amministratore del server per ottenere i giusti permessi che consentano solo all'utente del web server di accedere a questi file.

# mkdir /path/to/moodledata
# chmod 0777 /path/to/moodledata

Se il server supporta le ACL, si consiglia di impostare i seguenti permessi, ad esempio se il server Apache utilizza un account www-data:

# chmod -R +a "www-data allow read,delete,write,append,file_inherit,directory_inherit" /path/to/moodledata

Se si sta pianificando di eseguire gli script PHP dalla riga di comando si dovrebbero impostare gli stessi permessi per l’utente corrente:

$ sudo chmod -R +a "`whoami` allow read,delete,write,append,file_inherit,directory_inherit" /path/to/moodledata

Proteggere moodledata in una directory web

Se ci si affida a un provider e non si ha alcuna alternativa se non mettere i moodledata in una directory accessibile dal web, occorre proteggerla creando un file .htaccess nella directory ‘moodledata’. Questo non funziona su tutti i sistemi (consultare il provider/amministratore), ove possibile basta creare un file chiamato .htaccess che contenga esclusivamente le seguenti righe:

order deny,allow
deny from all

Avviare l'installazione di Moodle

Arrivati a questo punto, è possibile avviare il programma di installazione per creare le tabelle del database e configurare il nuovo sito. Si consiglia di utilizzare il programma di installazione da riga di comando. Se non è possibile farlo per qualsiasi motivo (ad esempio su un server Windows), il programma di installazione via web è ancora disponibile.

Installazione da riga di comando

Ѐ meglio eseguire la riga di comando come utente web del sistema. È necessario sapere di cosa si tratta - consultare la documentazione del sistema (ad esempio su (EN) Ubuntu / (EN) Debian è www-data, su (EN) Centos è apache).

  • Esempio di utilizzo della riga di comando (come root - sostituire a www-data l'effettivo utente web):
# chown www-data /path/to/moodle
# cd /path/to/moodle/admin/cli
# sudo -u www-data /usr/bin/php install.php
# chown -R root /path/to/moodle

I chown consentono allo script di scrivere un nuovo file config.php. Ulteriori informazioni sulle opzioni possono essere trovate utilizzando:

# php install.php --help

Verranno chieste altre impostazioni che non sono state discusse in questa pagina - in caso di dubbio, accettare solo le impostazioni predefinite. Per una discussione completa consultare Amministrazione via riga di comando.

Installazione via web

Per facilità d'uso è possibile installare Moodle via web. Consigliamo di configurare il web server in modo che la pagina non sia accessibile al pubblico fino al completamento dell'installazione.

Per eseguire lo script di installazione via web, andare all'URL principale del sito Moodle con un browser.

Il processo di installazione guiderà attraverso varie pagine. Sarà richiesto di confermare il copyright, di vedere le tabelle di database che sono state create, di fornire i dettagli dell’account dell’amministratore e i dettagli del sito. La creazione del database può richiedere del tempo - occorre essere pazienti. Alla fine ci si dovrebbe ritrovare sulla pagina principale di Moodle con un invito a creare un nuovo corso.

Ѐ molto probabile che sarà richiesto di scaricare il nuovo file config.php e di caricarlo nella directory di installazione di Moodle - basta seguire le istruzioni che appaiono sullo schermo.

Configurazione finale

Impostazioni di Moodle

Ci sono varie opzioni all'interno delle schermate di Amministrazione del sito. Ecco alcune delle più importanti che probabilmente si vorrà controllare:

  • ''Amministrazione del sito > Server > Email > Configurazione email in uscita - configurare e autenticare il server smtp se richiesto (affinché il sito Moodle possa inviare mail). Il contatto di supporto per fornire assistenza è disponibile su Amministrazione del sito > Server > Contatto di supporto.
  • Amministrazione del sito > Server > Percorsi di sistema - impostare i percorsi per i comandi du, aspell e dot.
  • Amministrazione del sito > Server > HTTP - in presenza di firewall, sarà necessario impostare le credenziali per il proxy nella sezione 'Proxy web'.
  • Amministrazione del sito > Localizzazione > Impostazioni > Fuso orario di default - utilizzare questa opzione per assicurarsi che il fuso orario sia correttamente impostato e aggiornato. Per maggiori informazioni consultare Localizzazione.
    • Impostare il (EN) fuso orario locale del server all'interno di php.ini (dovrebbe trovarsi all'interno di /etc/php.ini o /etc/php.d/date.ini, a seconda del sistema operativo):
[Date] 
; Definisce il fuso orario di default utilizzato dalle funzioni di date
date.timezone = "YOUR LOCAL TIMEZONE"

Attività rimanenti

  • Configurare il cron: Le attività in background di Moodle (ad esempio l'invio di email del forum e l'esecuzione di backup del corso) vengono eseguite da uno script che si può impostare per essere eseguito in momenti specifici della giornata: lo script cron. Si prega di fare riferimento alla documentazione specifica Cron.
  • Impostare i backup: : Consultare Backup del sito e Backup automatico del corso.
  • Controllare il funzionamento della posta: Creare un utente di prova con un indirizzo email valido e inviargli un messaggio. Se non si riceve il messaggio via email, verificare le impostazioni su Amministrazione del sito > Server > Email > Configurazione email in uscita. Si raccomanda di non saltare questo passaggio perché l'email è usata per recuperare le password perse, inclusa la password di Amministratore.
  • Proteggere il sito Moodle: Consultare Raccomandazioni di sicurezza.
  • Aumentare la dimensione massima di caricamento: Consultare Dimensione massima di caricamento dei file - come modificarla?.

L’installazione è completata

  • Creare un nuovo corso: ora è possibile accedere a Moodle dal browser (utilizzando lo stesso URL impostato durante il processo di installazione); autenticarsi come amministratore e creare un nuovo corso. Consultare Aggiungere un nuovo corso.

Se qualcosa va storto…

Ecco alcune cose da tentare:

  • Controllare le FAQ Installazione.
  • Controllare attentamente i permessi - l'utente del web server ha i permessi di lettura (ma non di scrittura) dei file di programma di Moodle? Ha i permessi di lettura e scrittura nella directory moodledata? Se non si comprende appieno il modo in cui la proprietà dei file e le autorizzazioni funzionano sul sistema operativo, occorre scoprirlo.
  • Controllare i permessi del database - l'utente del database è stato impostato con diritti e permessi corretti per la configurazione (specialmente se il web server e il database server sono macchine diverse)?
  • Creare il File di configurazione (config.php) a mano - copiare config-dist.php (nella directory root di Moodle) in config.php, modificarlo e impostare lì le opzioni del database/sito. L'installazione continuerà dal posto giusto.
  • Disponendo del file config.php (si veda il consiglio precedente) è possibile modificarlo per attivare il Debugging e provare così a rintracciare il problema. Se vi si ha accesso, controllare i log degli errori del web server.
  • Ricontrollare le impostazioni di php.ini /.htaccess. Se sono corrette (ad esempio memory_limit), controllare di aver modificato il giusto file php.ini/.htaccess e di aver riavviato il web server dopo le modifiche.
  • Sono stati installati dei plugin opzionali non-core, temi o altro codice prima di iniziare lo script di installazione? In caso affermativo, rimuovere tutto e riprovare (potrebbero essere danneggiati o incompatibili con la versione installata).
  • Spiegare il problema nel forum (EN) Installation problems. PER FAVORE elencare le versioni del software; spiegare cosa si è fatto, cosa è successo e quali messaggi di errore sono apparsi sullo schermo (se ce ne sono stati); spiegare cosa si è fatto dopo. Non serve a niente dire che 'non è successo nulla'; anche una pagina vuota è qualcosa!

Istruzioni specifiche per piattaforma

Nota: Molte di queste informazioni sono fornite dalla Comunità. Potrebbero non essere state verificate e non essere aggiornate. Si prega di leggere anche le istruzioni di installazione sopra riportate.

Per saperne di più