Installazione e configurazione di base di MediaWiki.
PREREQUISITI
L'installazione di MediaWiki comporta la presenza sul sistema di destinazione di tre principali software: Apache Web Server, PHP, e MySQL.
DOWNLOAD
Il download del pacchetto, in formato tar.gz, può essere eseguito dalla Home Page del progetto presente su Sourceforge:
root@Joker:/software# wget http://heanet.dl.sourceforge.net/sourceforge/wikipedia/mediawiki-1.3.8.tar.gz
--11:37:18-- http://heanet.dl.sourceforge.net/sourceforge/wikipedia/mediawiki-1.3.8.tar.gz
=> `mediawiki-1.3.8.tar.gz.1'
Resolving heanet.dl.sourceforge.net... done.
Connecting to heanet.dl.sourceforge.net[193.1.219.87]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,711,094 [application/x-gzip]
100%[===========================================================================================>] 1,711,094 3.97K/s ETA 00:00
11:44:31 (3.97 KB/s) - `mediawiki-1.3.8.tar.gz.1' saved [1711094/1711094]
SCOMPATTAZIONE E INSTALLAZIONE
Una volta eseguito il download del pacchetto, è possibile scompattarlo nella document root del webserver:
root@Joker:/home/webuser# tar xvfz mediawiki-1.3.8.tar.gz
mediawiki-1.3.8/
mediawiki-1.3.8/.cvsignore
mediawiki-1.3.8/AdminSettings.sample
mediawiki-1.3.8/config/
mediawiki-1.3.8/config/index.php
mediawiki-1.3.8/COPYING
...
mediawiki-1.3.8/templates/xhtml_slim.pt
mediawiki-1.3.8/UPGRADE
mediawiki-1.3.8/Version.php
mediawiki-1.3.8/wiki.phtml
Puo essere utile, creare un softlink di comodo in modo da gestire le future installazioni facendo puntare il link alla versione più recente, ma conservarndo la versione funzionante in caso di rollback:
root@Joker:/home/webuser# ln -s mediawiki-1.3.8 wiki
root@Joker:/home/webuser# ls -l wiki
lrwxrwxrwx 1 root root 15 Dec 12 12:43 wiki -> mediawiki-1.3.8
Il passo successivo è rendere momentaneamente scrivibile dal webserver la directory config
:
root@Joker:/home/webuser# cd wiki
root@Joker:/home/webuser/wiki# chmod a+w config
Infine è necessario configurare il webserver in modo da raggiungere MediaWiki, ad esempio:
root@Joker:/home/webuser# cat /usr/loca/apache/conf/httpd.conf
...
Alias /wiki "/home/webuser/wiki/"
Options Indexes
AllowOverride None
Order allow,deny
Allow from 192.168.0.
...
Per precauzione, prima di procedere al setup, è opportuno eseguire un backup del proprio database al fine di evitare perdite di dati qualora dovessero insorgere problemi durante l'installazione.
CONFIGURAZIONE
La configurazione di base di MediaWiki, avviene qualora il percorso a cui accedera sia settato come nel precedente esempio accedendo all'indirizzo http://nome-host/wiki/
. Al primo accesso, verrà visualizzato un messaggio con un link alla pagina di setup: "You'll have to set the wiki up first!".
A questo punto il MediaWiki eseguirà un checking dell'ambiente controllando che siano soddisfatti i requisiti per la configurazione, sarà quindi necessario inserire una serie di parametri relativi a:
Configurazione del Sito
- Site name: nome del sito gestito con MediaWiki;
- Contact email: utilizzato come account per il reinvio delle password e come riferimento in caso di errori;
- Language: configurazione del linguaggio dell'interfaccia utente;
- Copyright/license metadata: scelta licenza da visualizzare;
- Sysop account name: nome dell'account di amministrazione;
- password: password dell'utente di amministrazione;
- again: conferma password;
Configurazione del Database
- MySQL Server: idirizzo o nome host del server MySQL;
- Database name: il nome del database utilizzato da WikiMedia;
- DB username: nome utente con il quale WikiMedia accederà al database;
- DB password: password dell'utente WikiMedia;
- again: conferma della password;
- DB root Password: la password di root di MySQLnecessaria per la creazione del database;
Terminato l'inserimento dei dati richiesti nei campi è sufficiente premere il pulsante Install, verrà quindi visualizzato un messaggio di successo o di insuccesso dell'operazione.
Una volta terminata la configurazione sarà generato nella directory config
il file LocalSettings.php
che andrà copiato nella directory principale di MediaWiki, quindi sarà possibile rimuovere la directory di configurazione, oppure mantenerla ma ripristinando i permessi rendendola non scrivibile dall'esterno:
root@Joker:/home/webuser# mv LocalSettings.php ..
A questo punto è possibile utilizare Wikemedia collegandosi all'indirizzo http://nome-host/wiki/
.
Sistema per la creazione di open knowledge bases ipertestuali.
STORIA
Il sistema Wiki nato originariamente da un progetto di Ward Cunningham è un sistema attraverso il quale è possibile scrivere in modo collaborativo documentazione in formato ipertestuale. L'autore del primo Wiki lo descrive come "The simplest online database that could possibly work". A seguito della versione originale scritta in Perl, ne sono nate diverse varianti ognuna con un proprio motore (WikiEngine) sviluppato in diversi linguaggi quali Java, ASP, Visual Basic, Python. Tra le versioni più famose di Wiki MediaWiki, sviluppata in PHP, ed alla base dell'Enciclopedia libera Wikipedia.
ARCHITETTURA
L'architettura di MediaWiki è basata su tre famosi software Open Source quali:
- Il Web Server Apache;
- Il motore di scripting PHP;
- Il database MySQL;
In particolare, il sistema è suddivisibile in quattro layer:
User Layer: Web Clients che accedono in lettura o in scrittura;
Network Layer: Apache Webserver;
Logic Layer: MediaWiki's PHP scripts PHP;
Data Layer: File System, MySQL Database eventualmente un sistema di Caching System;
Le pagine scritte dagli utenti vengono salvate nel database in un formato chiamato wikitest, ovvero il testo contenente un linguaggio di markup particolare di MediaWiki, con l'aggiunta di alcune informazioni riguardanti gli utenti, le pagine o i link. Nel caso invece un utente richieda la visualizzazione di pagina, questa viene prelevata dal database e convertita in XHTML.
MediaWiki prevede la gestione dei documenti tramite due tipi di utenze: l'amministratore (Wiki SysOp) che ha il controllo completo della configurazione e della gestione degli scritti compresa la protezione e la cancellazione delle pagine, ed il blocco degli IP, e l'utente semplice (Wiki user) il quale ha la possiblità di editare nuovi contenuti e modificare quelli presenti secondo quanto permesso dall'amministratore.
Personalizzare e mettere a punto il proprio sistema Wiki.
CAMBIARE IL LOGO DI DEFAULT
E' possibile, cambiare il logo di default di MediaWiki (un girasole tra parentesi quadre) modificando la direttiva $wgLogo
presente nel file LocalSettings.php
.
L'immagine visualizzata di default è wiki.png
. E' quindi possibile procedere in due modi, sostituendo l'immagine e mantenendo lo stesso nome, oppure modificando la configurazione.
#$wgLogo = "$wgStylePath/common/images/wiki.png";
$wgLogo = "$wgStylePath/common/images/enigma.jpg";
Esempio di modifica della configurazione, commentando l'opzione originale
ACCESSO IN SCRITTURA SOLO AD UTENTI REGISTRATI
Per fare in modo che solamente gli utenti registrati in MediaWiki possano editare dei contenuti, è necessario agire sulla direttiva $wgWhitelistEdit
in LocalSettings.php
:
# Specify who can edit: true means only logged in users may edit pages
$wgWhitelistEdit = true;
L'opzione true fa in modo che venga effettuato un controllo sulla registrazione dell'utente
CONSENTIRE L'UPLOAD DI IMMAGINI
L'impostazione di default di MediaWiki non permette di eseguire l'upload di file. Per abilitare l'upload dei file da parte degli utenti, è necessario modificare la direttiva presente nel file LocalSettings.php
:
$wgDisableUploads = false;
L'abilitazione o l'inserimento della precedente direttiva, comporta la comparsa del menu upload nel toolbox menu.
La directory in cui verrano depositati i file di upload (images
) dovrà essere configurata in modo che l'utente con il quale il webserver sta girando possa avere accesso in scrittura.
Immagini
Una volta abilito il flag che permette l'upload di file, di default è permesso inserire sul sistema file di tipo grafico quali .png .jpg .jpeg o .gif. L'upload di file con estensioni differenti verrà inibito.
Altri file
La definizione dei file di cui si ha la possibilà di upload dipendono dalla variabile $wgFileExtension
presente nell file di configurazione /includes/DefaultSettings.php
.
In caso di modifica per l'aggiunta di nuovi tipi di file, è però opportuno aggiungere questa varibile nel file LocalSettings.php, questo al fine di non perdere le modifiche in caso di upgrade del sistema.
root@enigma:/home/webuser/wiki# cat LocalSettings.php
...
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'ogg','doc','ppt' );
...
Link
Il sistema identifica ogni file come di tipo "image", ma in fase all'interno di un documento è necessario utilizzare un metodo diverso per gestire link all'oggetto:
[[Image:nomefile.jpg|thumb|Description]]
: per i file di tipo immagine;
[[Media:nomefile.doc|thumb|Description]]
: per i file di altro tipo;
Gestione Table of Contents (TOC) in documenti MediaWiki
Un documento redatto in MediaWiki, presenta il sommario, chiamato Table Of Contents in modo automatico, al raggiungimento dei quattro titoli (Headline). E' possibile forzarne l'aggiunta e deciderne la posizione (di default la visualizzazione è in testa alla pagina), mediante parole chiave da inserire all'interno dei testi:
__FORCETOC__
: Forza la visualizzazione del sommario indipendentemente dal numero dei titoli presenti;
__TOC__
: Visualizza il sommario nella posizione in cui è inserita la parola chiave;
__NO_TOC__
: Non visualizza il sommario nemmeno al raggiungimento del numero necessario di titoli;