##master-page:HelpOnUpdating
##master-date:2008-05-12 00:49:19
#acl -All:write Default
#format wiki
#language it
AiutoContenuti > AiutoSuAmministrazione > AiutoSuAggiornamento 

<<TableOfContents>>

== Procedure generali ==

=== Scaricare e decomprimere l'archivio di MoinMoin ===

Scaricare il codice di !MoinMoin della versione a cui si vuole aggiornare. Se non si è uno sviluppatore, la versione da scaricare è l'ultima versione stabile rilasciata.

(!) Molto spesso è meglio (e più facile) installare l'ultimo rilascio dagli archivi piuttosto che usare la versione fornita dalla propria distribuzione Linux. Alcune persone usano moin come pacchetto, perché sperano in aggiornamenti più facili, ma molto spesso non c'è alcun aggiornamento o non sono facili da installare.

=== Leggere la documentazione ===

È molto utile leggere i file `docs/CHANGES` e `docs/README.migration` contenuti nell'archivio del programma per i dettagli su cosa è stato modificato e come eseguire l'aggiornamento.

/!\ I documenti possono contenere importanti suggerimenti per l'installazione, la compatibilità e l'aggiornamento non presenti in queste pagine.

=== Backup ===

/!\ '''Prima di aggiornare un wiki esistente, FARNE UNA COPIA DI BACKUP!'''

Siete stati avvisati, non è colpa nostra se poi vi ritrovate così: X-( 

Per fare un backup completo, senza perdere una sola revisione, è utile fermare il processo del wiki sul server.


Questo è tutto ciò di cui è utile eseguire il backup (i percorsi reali dipendono dalla proprio installazione):
 * la directory contenente i file del codice di !MoinMoin (`/usr/lib/python*.*/site-packages/MoinMoin`)
  * (!) una volta fatto il backup di questa directory, è possibile cancellare la directory `MoinMoin` per evitare di avere vecchi file di codice che non vengono sovrascritti dal nuovo codice, ma con cui potrebbero interferire.
 * la directory contenente i propri dati (`/usr/share/moin/nomewiki/data`, consultare l'opzione `data_dir` nella configurazione del wiki)
 * il file moin.cgi (o moin.fcg o un altro file in base a cosa viene usato nel server)
 * il file wikiconfig.py o farmconfig.py o qualsiasi altro file di configurazione
 * i file di configurazione del server web
 * è possibile anche eseguire un backup della `underlay_data_dir` (non dovrebbe contenere dati creati localmente, ma ma è comunque più facile ripristinare una versione precedente se si dispone di un backup)

=== Aggiornare il codice ===

Prima di tutto rimuovere il vecchio codice di !MoinMoin (compresi i file `*.pyc` and `*.pyo`).

Se si sta eseguendo l'installazione dall'archivio originale, eseguire `python setup.py install` come root per installare la nuova versione 

Se non si sta usando un pacchetto di una distribuzione Linux, leggere la documentazione presente.

Aggiornare anche il file `moin.cgi` (o `moin.wsgi` o altro). Potrebbe essere necessario modificarlo e sistemare i percorsi ed è necessario impostare anche la modalità, l'utente e il gruppo (consultare il vecchio file prima di rimuoverlo).

=== Aggiornare la configurazione ===

Una volta fatto l'aggiornamento, il nuovo wiki dovrebbe continuare a funzionare (l'obiettivo è quello di avere valori predefiniti utili e non troppo particolari, ma potrebbero esserci dei bug o anche delle modifiche che "rompono" la compatibilità).

Controllare accuratamente il file CHANGES per vedere le modifiche, solitamente le nuove caratteristiche sono nascoste a meno che non sia stato estesa la propria configurazione in `wikiconfig.py`.

Verificare di avere l'ultima versione del file "intermap.txt", se sono state fatte aggiunte a questo file, è possibile far puntare `shared_intermap` a un file caricato ''prima'' del file presente nella directory `data` che ha precedenza (per esempio, basta avere le voci globali nel file ''shared'' e quelle private nel file nella directory `data`).

=== Aggiornare gli oggetti statici ===

Con ogni aggiornamento è utile copiare il contenuto della directory `wiki/htdocs` fornita con quella presente nel server. Solitamente un nuovo rilascio contiene nuove immagini, nuovi CSS e Javascript.

È necessario anche modificare la configurazione del server o delle directory affinché corrisponda all'impostazione di `url_prefix_static`. Il valore predefinito è `/moin_staticVVV` (VVV è 170 per il rilascio 1.7.0 di moin) e verrà cambiato con ogni rilascio (moin 1.7.1 userà `/moin_static171`). Questo è fatto per poter avere una durata della cache degli oggetti statici molto lunga, consentendo al wiki di lavorare più velocemente e di causare meno carico.

=== Aggiornare le pagine wiki ===
==== Pagine di sistema e di aiuto ====

Le pagine di sistema e di aiuto sono separate nella directory `underlay`. Usare sempre la directory `underlay` fornita nell'archivio e cancellare quella vecchia (spostare quella vecchia nella directory di backup).

==== Le pagine più preziose ====

Consultare i file CHANGES e README.migration per i passi necessari per convertire `data_dir` ai nuovi valori.

=== Risoluzione problemi ===

Usare percorsi assoluti non relativi!

Assicurarsi di avere informazioni di registrazione (log) adeguate (consultare lo script del server e quello di configurazione della registrazione) e leggere le registrazioni!

Assicurarsi che Python possa trovare il codice di !MoinMoin e i file di configurazione del wiki (sistemare `sys.path` nello script del server oppure la variabile d'ambiente PYTHONPATH).

Assicurarsi che !MoinMoin possa trovare `data_dir` e `data_underlay_dir` (consultare `wikiconfig.py`).

Quando si modificano file Python (per esempio `wikiconfig.py`), assicurarsi di applicare i corretti rientri (usare quattro spazi, non la tabulazione) e prestare attenzione agli errori sintattici, Se si dispone di un file di configurazione funzionante è meglio non applicare troppe modifiche in una sola volta (ed è sempre meglio avere una copia di sicurezza della vecchia versione).

Controllare i permessi (il processo di moin necessita di accesso in scrittura/lettura su `data_dir` e `data_underlay_dir` e almeno accesso in lettura al codice di !MoinMoin e alla configurazione).

In base alla propria installazione, è consigliato mantenere un alto livello di sicurezza. Solitamente ai file nella directory `data` viene assegnato l'utente con cui viene eseguito il server web e quindi usare le maschere `700` o `770` (consultare anche le impostazioni di `config.umask`).
