Migrazione di mediawiki da un server a un altro
Posted by a.occhi at 3:49 pm in Camiciusonline

Prerequisiti:

  • Una installazione di Mediawiki con un po’ di pagine su un server interno
  • Spazio web in hosting con PHP, con unico accesso FTP
  • un database su server MySql

Alla fine vogliamo avere:

  • Una nuova installazione di Mediawiki con il sottoinsieme di pagine scelto e alcuni settaggi particolari per l’accesso

La procedura utilizzata è la seguente:

  • scaricare l’ultima versione di Mediawiki dal sito
  • espandere i file sul proprio disco
  • utilizzando un client FTP (ho usato Filezilla, ma vanno bene tutti) copiare tutti i file nella root del webserver
  • se non lo è già rendere scrivibile (all’utente del webserver, io l’ho fatto a tutti, modo 777) la cartella config
  • con un browser chiamare la directory config/ (www.myserver.it/config)
  • compilare il form con tutte le informazioni richieste (importanti la password del WikiSysop, che è il primo amministratore, e i dati per l’accesso al db)
  • lanciare l’installazione
  • seguendo le istruzioni copiare LocalSettings.php da config/ alla root (fatto con filezilla: download-upload)
  • La wiki è installata!

Occhio che a questo punto tutti possono registrarsi e cominciare a scrivere…

Lo scopo di questa wiki è di condividere e sviluppare in maniera collaborativa informazioni su un prodotto. Ovviamente l’accesso deve essere impedito alle persone che non partecipano al progetto, in particolare ai concorrenti :-)

Ho quindi aggiunto al file LocalSettings.php le seguenti righe:

##tolgo i permessi a tutti
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
##solo i Sysop possono creare account
$wgGroupPermissions['sysop']['createaccount'] = true;
##un utente registrato non può scrivere, per default può leggere
$wgGroupPermissions['user']['edit'] = false;
##solo gli utenti del gruppo writers possono scrivere
$wgGroupPermissions['writers']['edit'] = true;
##queste sono le pagine che tutti possono vedere
$wgWhitelistRead = array(“Pagina_principale”, “Special:Userlogin”);

I commenti interni al codice penso chiariscano i significati dei vari assegnamenti…

Per l’importazione ho utilizzato la pagina Speciale:Esporta nella wiki vecchia, sostituito tutti i literal delle utenze (anche se non è indispensabile: non viene fatto un controllo sull’esistenza dell’utenza) in modo da attribuire correttamente agli utenti i contributi alla wiki.

Poi ho utilizzato la pagina Speciale:Importa per importare le pagine nella wiki nuova, e non ci sono stati problemi. Gli unici problemi sono stati causati dalle immagini che è stato necessario importare “a mano” dopo avere importato le pagine “Immagine:nomedellimmagine.png”.

Comments Off

Camiciusonline