• Immutable Page
  • Info
  • Attachments

AiutoContenuti > AiutoSuAmministrazione > AiutoSuAggiornamento

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).