Guida pratica, come installare MediaWiki

3 giugno 2012 , , ,
Guida pratica, come installare MediaWikiè stato aggiornato il 13 dicembre 2013
Autore: Luciano Del Fico 2 Commenti
Posteshop

Questo documento è una guida per installare MediaWiki, anche se riferita ad una versione precedente a quella attuale, è pur sempre uno strumento valido ed indicativo per eseguire una corretta installazione e configurazione. Si ringrazia l’autore e la fonte di questo documento it.wikibook.org. Si cercherà di dare un’idea di come installare e configurare MediaWiki sul proprio web server.

MediaWiki

La documentazione di MediaWiki si evolve più velocemente di quanto gli autori di questo documento possano scrivere. La documentazione ufficiale e gli aggiornamenti del software si trovano a questi indirizzi:

<a title="http://meta.wikimedia.org" href="http://meta.wikimedia.org/" rel="nofollow">Wikimedia Meta</a>
<a title="http://www.mediawiki.org/wiki/MediaWiki/it" href="http://www.mediawiki.org/wiki/MediaWiki/it" rel="nofollow">Documentazione Italiana di MediaWiki</a>
<a title="http://vec.wikipedia.org/wiki/Aiuto:Guida_esenzsia%C5%82e/Link" href="http://vec.wikipedia.org/wiki/Aiuto:Guida_esenzsia%C5%82e/Link" rel="nofollow">Guida Essenziale</a>
Appunti Vari Beppe Levi
<a title="http://www.mediawiki.org/wiki/MediaWiki/it" href="http://www.mediawiki.org/wiki/MediaWiki/it" rel="nofollow">Mediawiki</a>

Consultare la Guida utente per maggiori informazioni sull’uso di questo software wiki.

Per iniziare

I seguenti collegamenti sono in lingua inglese:

Cos’è MediaWiki

MediaWiki è un software libero basato sulla filosofia wiki, scritto in PHP e basato su un database relazionale e MySQL.

Ai namespace di MediaWiki possono essere applicati permessi in modo tale da creare aree la cui visione o modifica siano permessi soltanto ad un certo gruppo di utenti.

Lista completa delle funzioni di MediaWiki

Applicazioni

MediaWiki è la soluzione ottimale per chi ha necessità di gestire un gran numero di documenti, senza problemi di compatibilità software né grandi pretese hardware; viene altresì usato come CMS da molti webmaster, che lo usano per costruire i loro siti web.

Chi può trarre vantaggio dall’uso di mediawiki:

  • gruppi/aziende con molti documenti interni, il cui aggiornamento è affidato a diverse persone, anche a distanza, con gruppi di pagine visibili o modificabili soltanto da determinati gruppi di persone;
  • gruppi/aziende il cui sito web dev’essere aggiornato molto spesso da persone diverse;

Chi non trarrà vantaggio dall’uso di mediawiki:

  • chi ha bisogno delle funzioni di un forum, quasi inesistenti su MediaWiki;

Installazione

Procurarsi il software da http://www.mediawiki.org/

# cd /var/www/htdocs

# questa cartella può variare a seconda della distribuzione GNU/Linux usata

# tar xzvf mediawiki-1.5.3.tar.gz
# mv mediawiki-1.5.3 mediawiki
# cd mediawiki
# chmod a+w config

Aprire in un browser la pagina mediawiki*/config/index.php e compilare i campi:

nome_wiki Il nome del progetto; appare nel titolo delle pagine e in diversi messaggi di sistema.
email L’indirizzo di riferimento per gli utenti del wiki; è anche il mittente delle email inviate agli utenti dal software;
lingua la lingua predefinita dell’interfaccia; gli utenti possono selezionarne un’altra dalle loro preferenze;
licenza La licenza sotto cui rilasciare i contenuti del wiki; chi usa MediaWiki per un wiki privato, preferirà probabilmente non compilare questa sezione, mentre dovrebbe sempre essere compilata da chi pubblica i suoi contenuti su Internet (vedi: contenuto libero).
sysop questa sezione specifica i dati d’accesso dell’utente che amministra il wiki; questo utente può in seguito permettere ad altri utenti di svolgere le funzioni di amministrazione;
cache per rendere più veloce il funzionamento di MediaWiki, è possibile usare memCached, Turck MMcache oppure eAccelerator.
funzioni e-mail è possibile disattivare tutte le funzioni che coinvolgono l’invio di messaggi email; l’impostazione può essere modificata in seguito;
user to user e-mail è possibile disattivare l’invio di email tra un utente e l’altro attraverso il wiki; l’impostazione può essere modificata in seguito;
e-mail notification è possibile disattivare le notifiche via email dei cambiamenti delle pagine; l’impostazione può essere modificata in seguito;
e-mail autentication è possibile disattivare l’autenticazione degli indirizzi email; disattivando questa funzione, gli utenti potranno inserire tra i loro dati qualunque indirizzo di posta elettronica, anche non funzionante; l’impostazione può essere modificata in seguito;
database config in questa sezione vanno inseriti i dati per accedere al database necessario a MediaWiki; è possibile inserire un prefisso davanti a tutte le tabelle, nel caso sia necessario installare diverse istanze di MediaWiki nello stesso database sullo stesso server; è necessaria la password di root di MySQL;
root (completare)

Dopo questa configurazione, è necessario mettere il file creato dalla procedura di configurazione nella cartella principale di MediaWiki

# mv config/LocalSettings.php

(per sicurezza, bloccare l’accesso alla cartella di configurazione)

# chmod a-w config

Configurare MediaWiki

La parte più lunga della creazione di un wiki è la sua configurazione. In questo documento si affrontano le problematiche più comuni. Si vedano anche le FAQ di MediaWiki. Si tenga presente che i file e i percorsi indicati sono soltanto di esempio.

Configurazione PHP in CGI

Per la corretta configurazione PHP fare riferimento a questo manuale (Inglese)

Messaggi di sistema

Nonostante la procedura di installazione permetta di selezionare la lingua dell’interfaccia predefinita, è necessario personalizzare i messaggi di sistema, in modo da tradurre le parti rimaste in inglese ed eliminare i riferimenti a Wikipedia. La pagina Special:Allmessages mostra tutti i messaggi di sistema.

Link brevi

Per fare in modo che gli URL del wiki cambino

  • da http://localhost/mediawiki/index.php/Pagina_principale
  • http://localhost/wiki/Pagina_principale.

Nel file LocalSettings.php inserire:

$wgArticlePath = "/wiki/$1";

Nel file /etc/apache/httpd.conf, alla sezione alias, inserire:

Alias /wiki /var/www/htdocs/mediawiki/index.php
Alias /index.php /var/www/htdocs/mediawiki/index.php

Controllare che il modulo rewrite (mod_rewrite) sia caricato all’avvio di apache.

Riavviare il server web.

Interlink

Per modificare il funzionamento degli interlink (ad esempio [[en:MediaWiki]] oppure [[meta:MediaWiki]]) bisogna agire sulla tabella interlinks nel database.

Ad esempio, per fare in modo che gli interlink “Wikipedia:” puntino a it.wiki (mentre l’impostazione predefinita punta en.wiki), è sufficiente il comando:

mysql> UPDATE interwiki SET iw_url="http://it.wikipedia.org/wiki/$1" WHERE iw_prefix="WikiPedia";

All’interno della cartella maintenance di Mediawiki, è presente un file che contiene gli interlink utilizzati dai progetti Wikimedia; per importarli nel proprio database, è sufficiente il comando

mysql> source /var/www/htdocs/mediawiki/maintenance/wikipedia-interwiki.sql

Upload

$wgEnableUploads		= true;
$wgUseImageResize		= true;
# estensioni di file ammesse
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'ogg',
                           'sxd', 'std', 'sxm', 'sxg', 'sxi', 'sti',
                           'sxc', 'stc', 'sxw', 'stw',               # OpenOffice.org 1.0
                           'odt', 'ods', 'odp'                       # Open Document Format
                         );
# estensioni di file non ammesse
$wgFileBlacklist = array(
       'html', 'htm', 'js', 'jsb', 'php', 'phtml', 'php3', 'php4', 'phps', 'shtml', 'jhtml',
       'pl', 'py', 'cgi', 'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd',
       'vxd', 'cpl', 'doc', 'dot', 'xls', 'xlt', 'ppt', 'pps', 'pot', 'mp3', 'divx' );

Permessi

Impedisce agli utenti non loggati di creare nuovi utenti (tra quelli loggati, di default soltanto i sysop possono creare nuovi utenti) (modificando LocalSettings.php)

$wgGroupPermissions['*']['createaccount'] = false;

Richiede login per editare (modificando LocalSettings.php)

$wgGroupPermissions['*']['edit'] = false;

Aggiunta di namespace (modificando LocalSettings.php)

$wgExtraNamespaces = array(100 => "Associazione", 101 => "Discussioni_associazione");

Restrizione del namespace ad un determinato privilegio

  • prima parte: patchare mediawiki
# cd mediawiki/
# wget bugzilla.wikimedia.org/attachment.cgi?id=1451&action=view -O rra-patch.txt
# patch -b -p1 < rra-patch.txt
  • seconda parte: cambiare LocalSettings.php
$wgRestrictedNamespaces = array(100 => "ns1", 101 => "ns2");
# aggiunta del gruppo soci con privilegi di accesso al namespace ristretto
$wgGroupPermissions['soci' ]['ns1']             = true;
$wgGroupPermissions['soci' ]['ns2']             = true;

Aspetto del sito

Le skin si trovano nella cartella skins/ e quella predefinita è MonoBook. Per personalizzarla, è possibile modificare le voci MediaWiki:Monobook.css (fogli di stile) e MediaWiki:Monobook.js (javascript). Ogni utente potrà a sua volta personalizzare l’interfaccia di MediWiki modificando le voci Utente:Foobar/Monobook.css e Utente:Foobar/Monobook.js.

Per alcuni esempi, vedi anche meta:User styles e fi:Wikipedia:Summary.

Ad esempio, per attivare i bordi arrotondati nell’interfaccia di MediaWiki (funziona soltanto nei browser basati su gecko) basta inserire in MediaWiki:Monobook.css:

#p-cactions ul li, #p-cactions ul li a {
  -moz-border-radius-topleft: 1em;
  -moz-border-radius-topright: 1em;
}
#content {
  -moz-border-radius-topleft: 1em;
  -moz-border-radius-bottomleft: 1em;
}
div.pBody {
  -moz-border-radius-topright: 1em;
  -moz-border-radius-bottomright: 1em;
}

Per cambiare il logo in alto a sinistra:

# cp /.../Logo_del_sito.png /.../mediawiki/skins/common/images/.

Nel file LocalSettings.php inserire:

$wgLogo = '$wgStylePath/common/images/Logo_del_sito.png';

Sintassi TeX

Prima di questa operazione, è necessario aver installato Ocaml, ImageMagick, LaTeX, GhostScript.

Nel file LocalSettings.php inserire:

$wgUseTeX = true;

Per installare la funzione:

# cd math/
# make

A operazione conclusa, un’espressione come <math>a^2+b^2=c^2</math> viene resa correttamente.

Installare Ocaml

Procurarsi il software da http://caml.inria.fr/

# cd
# tar -xjvf ocaml*.tar.bz2
# cd ocaml*
# ./configure
# make world
# make opt
# make install

Installare teTeX

Procurarsi il software da http://www.tug.org/tetex/ …la versione 3 di teTeX richiede un download di circa 100 Mb, mentre il pacchetto precompilato per Slackware circa 50 (vedi “ricerca tarball” su http://www.slackit.org).

Sottopagine nei namespace

Attiva sottopagine per alcuni namespace (modificando LocalSettings.php)

$wgNamespacesWithSubpages = array(
       100       => 1,
       101       => 1
);

TimeZone

# modifica timezone per visualizzare ora italiana
$wgLocalTZoffset = 1;

Patrolling

# disabilita il patrolling
$wgUseRCPatrol = false;

Altri settaggi

# lunghezza minima delle password
$wgMinimalPasswordLength = 6;
# non visualizza l'IP del visitatore anonimo
$wgShowIPinHeader = 0;

Aggiornamento

É buona regola mantenere aggiornato il software, soprattutto se installato su macchine pubbliche (es: siti web). Su http://www.mediawiki.org sono disponibili gli aggiornamenti del software MediaWiki; gli sviluppatori si preoccupano di rilasciare un aggiornamento ogni volta che vengono risolti problemi o aggiunte funzionalità.

Prima di tutto é necessario fare un backup di tutti i dati presenti nel proprio database: se si utilizza phpMyAdmin si potrà fare un’immagine dei propri dati in modo semplice e veloce: si rimanda alla documentazione del programma su come fare un export dei dati.

Dopo aver scaricato l’ultima versione, è consigliabile bloccare temporaneamente il wiki per evitare che qualcuno modifichi le voci durante l’aggiornamento. Per farlo è sufficiente inserire el file LocalSettings.php l’istruzione:

$wgReadOnly = "<em>motivazione</em>";

Perché la procedura di aggiornamento funzioni è necessario specificare i dati di un utente mysql in grado di modificare il database nel file AdminSettings.php

Per creare un utente in grado di amministrare solo il database del wiki:

mysql> GRANT ALL PRIVILEGES ON wikidb.* TO 'mwadmin'@'localhost' IDENTIFIED BY 'password';

In seguito basta sovrascrivere i file vecchi con quelli aggiornati ed avviare la procedura di upgrade.

# tar xzvf mediawiki-1.5.7.tar.gz
# cp -rp mediawiki-1.5.7/* mediawiki/.
# cd mediawiki/maintenance/
# php update.php

Se tutto va bene, il wiki è aggiornato. Può essere necessario troncare la tabella objectcache

mysql> TRUNCATE TABLE objectcache;
  • Può essere necessario purgare le pagine prima che vengano visualizzate correttamente, ad esempio caricando index.php?action=purge
  • Ricordarsi di applicare nuovamente le patch che si erano applicate alla precedente installazione di MediaWiki! In particolare, se presente, Restricted Access!

Mediawiki su Php 5

Su alcuni server potrebbero verificarsi problemi nell’uploads delle immagini, per risolvere il problema occorre modificare il LocalSettings.php.

Cercare:

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = false;
# $wgUseImageMagick = true;
# $wgImageMagickConvertCommand = "/usr/bin/convert";

Sostiuire con:

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
$wgUseImageMagick = false;
$wgImageMagickConvertCommand = "/usr/bin/convert";
## If you want to use image uploads under safe mode,
## create the directories images/archive, images/thumb and
## images/temp, and make them all writable. Then uncomment
## this, if it's not already uncommented:
$wgHashedUploadDirectory = false;

Creare infine (se non esistono già) le directory images/archive, images/thumb e images/temp, e renderle scrivibili.

Articoli che potrebbero interessarti: