Migrazione di Moodle: differenze tra le versioni

Da MoodleDocs.
(Creata pagina con "{{Installazione}} {{Attenzione|Pagina in costruzione}} There may be times when you need to move your Moodle site from one server to another. For example, moving a Moodle site...")
 
Nessun oggetto della modifica
 
(61 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{Installazione}}
{{Installazione}}
{{Attenzione|Pagina in costruzione}}
Ci possono essere momenti in cui è necessario spostare il sito Moodle da un server a un altro. Ad esempio, quando si sposta un sito Moodle dal server condiviso del servizio di hosting a un server dedicato.
There may be times when you need to move your Moodle site from one server to another. For example, moving a Moodle site from shared hosting service's server to a dedicated server.
==Metodo consigliato==
Per la migrazione di Moodle si consiglia di spostare l'intero sito da un server all'altro. Se si sta modificando il dominio/l'indirizzo IP sul nuovo server, occorre seguire i passaggi che seguono.


==Recommended method==
===Attivare la modalità manutenzione===


This involves moving a whole site from one server to another. If you are changing the domain/IP address to the new server you need to do these steps:
Mettere il sito Moodle in [[Modalità manutenzione|modalità manutenzione]] da ''Amministrazione del sito > Server > Manutenzione'' per impedire ulteriori aggiunte al database Moodle. Non consentire agli Amministratori di accedere durante la migrazione poiché non sono soggetti ai blocchi attivi quando il sistema è in manutenzione.


===Turn on maintenance mode===
===Eseguire il backup del database Moodle sul vecchio server===
Il modo corretto per eseguire il backup del database dipende dal sistema di database che si sta utilizzando.


Place your current Moodle site into [[Maintenance mode]] via ''Site Administration > Server > Maintenance Mode'' to prevent any further additions to the Moodle database. Don't let administrators login during the migration as they are not affected by the maintenance mode setting.
Le istruzioni seguenti sono un modo per eseguire il backup di un database MySQL. Un'altra opzione potrebbe essere quella di utilizzare uno strumento come ''phpMyAdmin'' per eseguire manualmente un backup. La documentazione del database sarà più specifica.  


===Backup the Moodle database on the old sever===
Ci sono molti modi per fare i backup. Quello che segue è uno script eseguibile dalla riga di comando su Unix:
 
The right way to back up your database depends on which database system you are using. The instructions below are one way to back up a MySQL database. Another option would be to use a tool like phpMyAdmin to manually make a backup. The documentation for your database will give more options. There are many ways to do such backups. Here is an outline of a little script you can run from command line on Unix to backup the database:


<pre>
<pre>
Riga 20: Riga 20:
mysqldump -h example.com -u myusername -p'mypassword' -C -Q -e --create-options mydatabasename > moodle-database.sql
mysqldump -h example.com -u myusername -p'mypassword' -C -Q -e --create-options mydatabasename > moodle-database.sql
</pre>  
</pre>  
If you only write "-p" without your password, you will be prompted for it.


=== Restore the database backup to the new server ===
Scriverndo solo ''-p'', la password sarà richiesta.


Copy the database back up files to the new server and restore into the new database server.
=== Ripristinare il backup del database sul nuovo server ===


Once you have created the new database on the new server:
Copiare i file di backup del database sul nuovo server e ripristinarli nel nuovo server di database.
 
Una volta creato il nuovo database sul nuovo server digitare:


<pre>mysql -p new_database < moodle-database.sql</pre>
<pre>mysql -p new_database < moodle-database.sql</pre>


For other databases, follow their instructions for restoring a backup.
Per altri database, seguire le istruzioni per ripristinare un backup.
 
===Copy moodledata from the old server to the new server===
 
Copy the contents of your data directory (check for the value in <code>$CFG->dataroot</code>) to the new server. This can be a lot of data, so consider using a good data copying tool like rsync. If using an FTP client, the transfer of the <code>filedir</code> folder must be in '''BINARY''' mode or the files will get corrupted in the process.


NB: It is not necessary to copy the contents of the /moodledata/cache, /moodledata/localcache, /moodledata/sessions, /moodledata/temp, or /moodledata/trashdir directories. Omitting these files will reduce transfer time substantially.
===Copiare la directory moodledata dal vecchio server al nuovo server===
Copiare il contenuto della directory dei dati (controllare il valore in ''$CFG->dataroot'') sul nuovo server. Potrebbe contenere tantissimi dati, quindi prendere in considerazione di utilizzare un buon strumento di copia dei dati come {{en}} [https://rsync.samba.org/ rsync]. Se si utilizza un client FTP, il trasferimento della cartella ''filedir'' deve essere in modalità '''BINARY''' altrimenti i file verranno danneggiati durante il processo.


Check the file permissions of the copied files. The web server needs read and write access.
{{Nota|Non è necessario copiare il contenuto delle directory ''/moodledata/cache'', ''/moodledata/localcache'', ''/moodledata/sessions'', ''/moodledata/temp'' o ''/moodledata/trashdir''. Omettere questi file ridurrà sostanzialmente il tempo di trasferimento.}}Controllare i permessi dei file dei file copiati. Il web server necessita di accesso in lettura e scrittura.


===Copy the Moodle code from the old server to the new server===
===Copiare il codice Moodle dal vecchio server al nuovo server===
Copiare il codice Moodle sul nuovo server (è la cartella Moodle che si trova nella cartella ''webroot'', ad esempio ''/var/www'' o ''public_html'').


You will need to copy the Moodle code itself to the new server (this is the Moodle folder found in your webroot folder e.g. /var/www or public_html).  
Controllare i permessi dei file dei file copiati. Il web server necessita di accesso in lettura.


Check the file permissions of the copied files. The web server needs read access.
===Aggiornare ''config.php'' con l'URL del nuovo server===


===Update config.php with the URL of the new server===
Se la migrazione sposta Moodle in un nuovo URL, aggiornare ''$CFG->wwwroot'' in ''config.php'' in modo che punti alla nuova posizione.


If the migration will move Moodle to a new URL, then update $CFG->wwwroot in config.php to point to the new location.
Controllare anche le altre proprietà. Il percorso ''$CFG->moodledata'' è ancora corretto? Le impostazioni di connessione al database devono essere modificate?


Also check the other properties there. Is the path $CFG->moodledata still correct? Do the database connection settings need to be changed?
===Testare il sito copiato===


===Test the copied site===
Ora si dovrebbe poter accedere al nuovo sito come Amministratore e verificare che la maggior parte delle cose funzioni.


You should now be able to log into the new site as admin, and verify that most things are working.
===Aggiornare i collegamenti contenenti ''wwwroot'' nel database===
L'unica cosa che non abbiamo risolto sono i collegamenti interni memorizzati nel database. Per risolvere questi problemi utilizzare lo [[Strumento cerca e sostituisci|strumento cerca e sostituisci]] andando su ''{wwwroot} /admin/tool/replace/index.php''.


===Update links containing wwwroot in the database===
Inserire l'url del vecchio server (''<nowiki> http://nome.del.vecchio.server.com/ </nowiki>'') e il nuovo server (''<nowiki> http://nome.del.nuovo.server.com/ </nowiki>''); questo correggerà qualsiasi link memorizzato nel database.


The one thing we have not fixed is any internal links stored in the database. To fix these use the [[Search and replace tool]] buy going to {wwwroot}/admin/tool/replace/index.php.
===Uscire dalla modalità manutenzione===
Per sicurezza, testare ancora una volta la migrazione. Quando si è soddisfatti, ricordarsi di uscire dalla modalità manutenzione.


Enter the url for your old server (<nowiki>http://oldserver.com/</nowiki>) and new server (<nowiki>http://newserver.com/</nowiki>) and it will fix any links stored in the database.
==Metodo rapido e hacky==


===Take the site out of maintenance mode===
Se si dispone dell'accesso alla shell su entrambi i server, di seguito un rapido metodo basato sulla riga di comando.


Test the migration some more, then when you are satisfied, remember to take the site out of maintenance mode.
* Configurare un nuovo database vuoto sul '''nuovo''' server.
* Mettere il ​​sito Moodle in modalità manutenzione.
* Accedere alla shell sul '''vecchio''' server.
* Utilizzare {{en}} [https://rsync.samba.org/ rsync] per copiare ''moodledata'' e ''public_html'' o ''moodle'' (o qualunque directory in cui si trova l'installazione di Moodle) sul '''nuovo''' server ed eseguire (sostituendo le parti in maiuscolo con i propri dettagli: SOURCE = la directory che si desidera copiare) per ogni directory:
:: <code>rsync -av -e ssh SOURCE/USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/</code>
* Fare il dump nel database esistente e spostarlo e importarlo nel database sul '''nuovo''' server eseguendo:
:: <code>mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE|ssh USER @ DOMAIN "mysql -uMySQL_USERNAME -pPASSWORD DATABASE"</code>
* Sostituire eventuali collegamenti nel database che contengono l'intero URL del sito:
:: <code>#sed -e 's/oldserver.com/newserver.com/g' oldmysqldump.sql > newmysqldump.sql</code>
* Sul '''nuovo''' server, dove applicabile aggiornare ''config.php'' con i dettagli rilevanti (ad esempio nome del database e dettagli utente, ''wwwroot'' e ''dataroot'').
* Controllare se la proprietà e le autorizzazioni sono corrette sia sul codice moodle che sulle directory moodledata.
* Assicurarsi che tutto funzioni.


==Quick and hacky method==
Ci vogliono circa 15 minuti per un piccolo sito. Tuttavia, il trasferimento di diversi GB di dati per un sito più grande può richiedere ore a seconda della connessione di rete e della velocità di lettura/scrittura del disco rigido.


If you have shell access on both servers, here is a quick command-line based method.
Se tutto è andato bene, impostare i reindirizzamenti, modificare i DNS (se necessario), uscire dalla modalità manutenzione e ''spegnere'' il vecchio sito.


*Set up a new empty database on the '''new''' server.
*Place your existing Moodle site into maintenance mode.
*Login to shell on the '''old''' existing server.
*Use rsync to copy '''moodledata''' and '''public_html''' or '''moodle''' folders (or whatever directory your Moodle install is in) to the new server - execute (replacing caps with your details; SOURCE = the directory you want to copy) for each directory:
::<code>rsync -av -e ssh SOURCE/ USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/</code>
*Dump existing database and move and import into database on new server by executing:
::<code>mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE | ssh USER@DOMAIN "mysql -uMySQL_USERNAME -pPASSWORD DATABASE"</code>
*Replace any links in the database that contin the full site URL:
::<code>#sed -e 's/oldserver.com/newserver.com/g' oldmysqldump.sql > newmysqldump.sql</code>
*On the '''new server''', update '''config.php''' with relevant details where applicable (e.g. database name and user details, the wwwroot and the dataroot).
*Check ownership and permissions are correct on both moodle code and moodledata directories.
*Make sure everything is working.


Takes about 15 minutes for a small site.  However, transferring several Gigabytes of data for a larger site can take hours depending on your network connection and hard drive read/write speed.
{{Nota|Se si sta passando l'indirizzo IP dal vecchio server a quello nuovo, occorrerà spegnere il vecchio server prima di accendere quello nuovo per evitare conflitti di indirizzi IP e confusione.}}==Altre considerazioni==


When you are happy all has gone well, set up redirects/make DNS changes if required, take new site out of maintenance mode and "switch off" old site.  
===Aggiornare Moodle allo stesso tempo?===
Mentre si esegue il lavoro di migrazione di Moodle, allo stesso tempo si potrebbe voler [[Aggiornamento|aggiornare Moodle]] alla versione più recente. D'altra parte, se lo si fa, e qualcosa si danneggia, non si potrà essere certi di quale cambiamento ha causato il problema. L'approccio più cauto è quello di cambiare una cosa alla volta e testare via via per verificare che tutto vada bene.


*If you are switching the ip address from the old server to the new one, you will need to turn off the old server before firing up the new one to avoid ip addressing conflicts and confusion!
===DNS e modifiche al masquerading===


==Other considerations==
Potrebbe essere stato necessario modificare le voci DNS per il nuovo sito Moodle. Se lo si è fatto, ci vorrà del tempo prima che le modifiche si replichino, quindi occorre essere pazienti. Se il server si trova dietro un firewall, si potrebbe anche dover modificare le regole del firewall per consentire l'accesso al nuovo server. Consultare la documentazione di [[Masquerading]].


===Upgrade Moodle at the same time?===
===Accesso interno ed esterno===


While doing the work of migrating Moodle, you might want to [[Upgrading | upgrade Moodle]] to the latest version at the same time. On the other hand, if you do that, and something breaks, you won't be sure which change caused the problem, so the more cautious approach is to change one thing at a time, and test in between to verify that all is well.
Se si dispone di una configurazione in cui è possibile accedere al sito Moodle via rete e via Internet, assicurarsi di controllare che il nuovo sito sia accessibile internamente ed esternamente.
 
===DNS & masquerading changes===
 
You may have had to change the DNS entries for the new Moodle site. If you have done so, it will take some time for the changes to replicate, so be patient. If your server is located behind a firewall, you may also have to change your firewall rules to allow access to the new server. See the [[Masquerading | masquerading docs]].
 
===Internal and external access===
 
If you have a set up where your Moodle site can be accessed via a network and via the internet, ensure you check that the new site can be accessed internally and externally.


===reCAPTCHA===
===reCAPTCHA===
If you migrate to a new domain and have setup [[Email-based_self-registration]], you need to create new API-Keys at google. You will find the explanation and links to google  in [[Email-based_self-registration]].
Se si esegue la migrazione a un nuovo dominio e si è impostata la registrazione dell'[[Account via email]], occorre creare nuove API-Key su Google. Consultare [[Account via email]] per ulteriori dettagli.


==See also==
==Domande?==


* [[Site backup]]
Si prega di pubblicare un post sul forum di aiuto {{en}} [https://moodle.org/mod/forum/view.php?id=28 Installing and upgrading help] su [https://moodle.org Moodle.org].
* [[Site restore]]
* [[Backup and restore FAQ]]


==Any questions?==
==Per saperne di più==
 
* [[Backup del sito]]
Please post in the [http://moodle.org/mod/forum/view.php?id=28 Installing and upgrading help forum] on moodle.org
* [[Ripristino del sito]]
* [[FAQ Backup e ripristino]]


[[de:Moodle-Migration]]
[[de:Moodle-Migration]]
[[en:Moodle migration]]
[[es:Migración de Moodle]]
[[es:Migración de Moodle]]
[[fr:Migration de Moodle]]
[[fr:Migration de Moodle]]
[[en:Moodle migration]]
[[ja:Moodle移行]]
[[ja:Moodle移行]]

Versione attuale delle 17:33, 24 nov 2020

Ci possono essere momenti in cui è necessario spostare il sito Moodle da un server a un altro. Ad esempio, quando si sposta un sito Moodle dal server condiviso del servizio di hosting a un server dedicato.

Metodo consigliato

Per la migrazione di Moodle si consiglia di spostare l'intero sito da un server all'altro. Se si sta modificando il dominio/l'indirizzo IP sul nuovo server, occorre seguire i passaggi che seguono.

Attivare la modalità manutenzione

Mettere il sito Moodle in modalità manutenzione da Amministrazione del sito > Server > Manutenzione per impedire ulteriori aggiunte al database Moodle. Non consentire agli Amministratori di accedere durante la migrazione poiché non sono soggetti ai blocchi attivi quando il sistema è in manutenzione.

Eseguire il backup del database Moodle sul vecchio server

Il modo corretto per eseguire il backup del database dipende dal sistema di database che si sta utilizzando.

Le istruzioni seguenti sono un modo per eseguire il backup di un database MySQL. Un'altra opzione potrebbe essere quella di utilizzare uno strumento come phpMyAdmin per eseguire manualmente un backup. La documentazione del database sarà più specifica.

Ci sono molti modi per fare i backup. Quello che segue è uno script eseguibile dalla riga di comando su Unix:

cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump -h example.com -u myusername -p'mypassword' -C -Q -e --create-options mydatabasename > moodle-database.sql

Scriverndo solo -p, la password sarà richiesta.

Ripristinare il backup del database sul nuovo server

Copiare i file di backup del database sul nuovo server e ripristinarli nel nuovo server di database.

Una volta creato il nuovo database sul nuovo server digitare:

mysql -p new_database < moodle-database.sql

Per altri database, seguire le istruzioni per ripristinare un backup.

Copiare la directory moodledata dal vecchio server al nuovo server

Copiare il contenuto della directory dei dati (controllare il valore in $CFG->dataroot) sul nuovo server. Potrebbe contenere tantissimi dati, quindi prendere in considerazione di utilizzare un buon strumento di copia dei dati come (EN) rsync. Se si utilizza un client FTP, il trasferimento della cartella filedir deve essere in modalità BINARY altrimenti i file verranno danneggiati durante il processo.

Nota: Non è necessario copiare il contenuto delle directory /moodledata/cache, /moodledata/localcache, /moodledata/sessions, /moodledata/temp o /moodledata/trashdir. Omettere questi file ridurrà sostanzialmente il tempo di trasferimento.

Controllare i permessi dei file dei file copiati. Il web server necessita di accesso in lettura e scrittura.

Copiare il codice Moodle dal vecchio server al nuovo server

Copiare il codice Moodle sul nuovo server (è la cartella Moodle che si trova nella cartella webroot, ad esempio /var/www o public_html).

Controllare i permessi dei file dei file copiati. Il web server necessita di accesso in lettura.

Aggiornare config.php con l'URL del nuovo server

Se la migrazione sposta Moodle in un nuovo URL, aggiornare $CFG->wwwroot in config.php in modo che punti alla nuova posizione.

Controllare anche le altre proprietà. Il percorso $CFG->moodledata è ancora corretto? Le impostazioni di connessione al database devono essere modificate?

Testare il sito copiato

Ora si dovrebbe poter accedere al nuovo sito come Amministratore e verificare che la maggior parte delle cose funzioni.

Aggiornare i collegamenti contenenti wwwroot nel database

L'unica cosa che non abbiamo risolto sono i collegamenti interni memorizzati nel database. Per risolvere questi problemi utilizzare lo strumento cerca e sostituisci andando su {wwwroot} /admin/tool/replace/index.php.

Inserire l'url del vecchio server ( http://nome.del.vecchio.server.com/ ) e il nuovo server ( http://nome.del.nuovo.server.com/ ); questo correggerà qualsiasi link memorizzato nel database.

Uscire dalla modalità manutenzione

Per sicurezza, testare ancora una volta la migrazione. Quando si è soddisfatti, ricordarsi di uscire dalla modalità manutenzione.

Metodo rapido e hacky

Se si dispone dell'accesso alla shell su entrambi i server, di seguito un rapido metodo basato sulla riga di comando.

  • Configurare un nuovo database vuoto sul nuovo server.
  • Mettere il ​​sito Moodle in modalità manutenzione.
  • Accedere alla shell sul vecchio server.
  • Utilizzare (EN) rsync per copiare moodledata e public_html o moodle (o qualunque directory in cui si trova l'installazione di Moodle) sul nuovo server ed eseguire (sostituendo le parti in maiuscolo con i propri dettagli: SOURCE = la directory che si desidera copiare) per ogni directory:
rsync -av -e ssh SOURCE/USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/
  • Fare il dump nel database esistente e spostarlo e importarlo nel database sul nuovo server eseguendo:
mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE|ssh USER @ DOMAIN "mysql -uMySQL_USERNAME -pPASSWORD DATABASE"
  • Sostituire eventuali collegamenti nel database che contengono l'intero URL del sito:
#sed -e 's/oldserver.com/newserver.com/g' oldmysqldump.sql > newmysqldump.sql
  • Sul nuovo server, dove applicabile aggiornare config.php con i dettagli rilevanti (ad esempio nome del database e dettagli utente, wwwroot e dataroot).
  • Controllare se la proprietà e le autorizzazioni sono corrette sia sul codice moodle che sulle directory moodledata.
  • Assicurarsi che tutto funzioni.

Ci vogliono circa 15 minuti per un piccolo sito. Tuttavia, il trasferimento di diversi GB di dati per un sito più grande può richiedere ore a seconda della connessione di rete e della velocità di lettura/scrittura del disco rigido.

Se tutto è andato bene, impostare i reindirizzamenti, modificare i DNS (se necessario), uscire dalla modalità manutenzione e spegnere il vecchio sito.


Nota: Se si sta passando l'indirizzo IP dal vecchio server a quello nuovo, occorrerà spegnere il vecchio server prima di accendere quello nuovo per evitare conflitti di indirizzi IP e confusione.

Altre considerazioni

Aggiornare Moodle allo stesso tempo?

Mentre si esegue il lavoro di migrazione di Moodle, allo stesso tempo si potrebbe voler aggiornare Moodle alla versione più recente. D'altra parte, se lo si fa, e qualcosa si danneggia, non si potrà essere certi di quale cambiamento ha causato il problema. L'approccio più cauto è quello di cambiare una cosa alla volta e testare via via per verificare che tutto vada bene.

DNS e modifiche al masquerading

Potrebbe essere stato necessario modificare le voci DNS per il nuovo sito Moodle. Se lo si è fatto, ci vorrà del tempo prima che le modifiche si replichino, quindi occorre essere pazienti. Se il server si trova dietro un firewall, si potrebbe anche dover modificare le regole del firewall per consentire l'accesso al nuovo server. Consultare la documentazione di Masquerading.

Accesso interno ed esterno

Se si dispone di una configurazione in cui è possibile accedere al sito Moodle via rete e via Internet, assicurarsi di controllare che il nuovo sito sia accessibile internamente ed esternamente.

reCAPTCHA

Se si esegue la migrazione a un nuovo dominio e si è impostata la registrazione dell'Account via email, occorre creare nuove API-Key su Google. Consultare Account via email per ulteriori dettagli.

Domande?

Si prega di pubblicare un post sul forum di aiuto (EN) Installing and upgrading help su Moodle.org.

Per saperne di più