Kako instalirati MediaWiki

Kako instalirati Wikipedia softver na GNU/Linux server

MediaWiki je jedna od implementacija wiki softvera koja je najpoznatija po tome što se koristi na sajtu wikipedia.org. Ima brojne prednosti u odnosu na druge Wiki softvere, između ostalih:

Glavni nedostaci MediaWiki u odnosu na (pojedine) wiki implementacije su:

Potrebno za instalaciju

Podešavanje Apacha

Potrebno je da izmijenite konfiguraciju virtuelnog servera (domene) na kojem će se nalaziti wiki. Prethodno na nivou servera aktivirajte mod_rewrite (što je danas uglavnom default). U konfiguraciji <VirtualHost> dopišite:

 RewriteEngine On
    RewriteRule ^/wiki$ /w/wiki.phtml
    RewriteRule ^/wiki/$ /w/wiki.phtml
    RewriteRule ^/wiki/(.*)$ /w/wiki.phtml?title=$1 [L]
URLovi koji čine vaš wiki će biti tipa www.mojdomen.ba/wiki/Clanak. Ako će wiki biti jedini sadržaj na poddomeni, možete izbaciti virtuelni poddirektorij "wiki" iz URLa. Da biste to postigli, koristite sljedeću konfiguraciju:

 RewriteEngine On
    RewriteRule ^/w/(.*)$ /w/$1 [L]
    RewriteRule ^/wiki$ /w/wiki.phtml
    RewriteRule ^/wiki/$ /w/wiki.phtml
    RewriteRule ^/wiki/(.*)$ /w/wiki.phtml?title=$1 [L]
    RewriteRule ^/(.*)$ /w/wiki.phtml?title=$1 [L]
Obratite pažnju da sam zadržao i stare URLove /wiki, za svaki slučaj. :)

Podešavanje PHPa

Uključite register globals. Pošto je ovo dosta opasno, možete to učiniti na nivou virtuelnog hosta kroz Apache konfiguraciju sljedećom direktivom:

 php_admin_value register_globals 1
Zatim potražite PHP-specifičnu Apache konfiguraciju (ona može biti dio standardne Apache konfiguracije, a može biti u fajlu sa imenom tipa /etc/httpd/conf.d/php.conf). Ono što nas interesuje je (u slučaju Apache 2.x):

 <Files *.php>
    SetOutputFilter PHP
    SetInputFilter PHP
    LimitRequestBody 524288
 </Files>
Ovdje treba dodati ekstenzije *.php3, *.php4 i *.phtml

Instalacija mediawiki softvera

Downloadujte mediawiki sa stranice wikipedia.sourceforge.net. Verzija sa kojom sam ja radio je mediawiki-20031118.tar.gz. Raspakujte ovaj fajl u vaš web root. Npr. ako se vaša stranica nalazi u direktoriju /nešto/nešto/httpdocs - ovdje raspakujte tar.gz i dobićete direktorij /nešto/nešto/httpdocs/mediawiki-2003

Kopirajte fajl LocalSettings.sample u LocalSettings.php, te fajl AdminSettings.sample u AdminSettings.php.

Fajl LocalSettings.php

Otvorite LocalSettings.php u nekom editoru. Ovo su vrijednosti koje trebate unijeti:

 $IP = "/usr/local/apache/htdocs/wiki";
Ovdje trebate zadati put u koji ćete instalirati wiki, a to je u vašem slučaju /nesto/nesto/httpdocs/w Obratite pažnju na ovo "w" kojim se put završava - to je direktorij u koji će vaš wiki biti instaliran, jer smo tako definisali u Apache konfiguraciji.

 $wgServer           = "http://www.myhost.com";
Ovdje unesite URL vaše stranice. NAPOMENA: ne treba dopisivati /wiki na kraj, to se podešava ispod.

 $wgArticlePath      = "{$wgScript}?title=$1";
Umjesto ove linije napišite put pomoću kojeg se otvaraju wiki stranice. Npr. ako se vaš wiki nalazi u direktoriju "wiki", napišite: $wgArticlePath = "/wiki/$1"; a ako je u root-u web sajta $wgArticlePath = "/$1";

 $wgEmergencyContact = "wikiadmin@myhost.com";
Stavite svoju e-mail adresu.

  $wgDBserver         = "localhost";
 $wgDBuser           = "wikiuser";
 $wgDBname           = "wikidb";
 $wgDBpassword       = "userpass";
 $wgDBsqlpassword        = "sqlpass";
Podaci za MySQL. NAPOMENA: ne treba kreirati ove baze i usere. Instalaciona skripta će to sve odraditi sama. wgDBpassword i wgDBsqlpassword mogu (vjerovatno i trebaju?) biti isti.

 # $wgLanguageCode = "de";
Odkomentirajte ovo ako ćete koristiti neki drugi jezik (npr. "bs" za bosanski).

  $wgInputEncoding        = "ISO-8859-1";
 $wgOutputEncoding       = "ISO-8859-1";
Pogledajte koji encoding se koristi u language fajlu vašeg željenog jezika (fajl se nalazi u poddirektoriju languages, a zove se LanguageXy.php)

Ostala podešavanja

Ja nisam imao potrebe da editujem AdminSettings.php, a vi se možda nećete tako lako provući.

Sada editujte fajl includes/DefaultSettings.php (iako komentar kaže suprotno). Nađite liniju

 $wgScriptPath       = "/wiki";
i izmijenite je ovako:
 $wgScriptPath       = "/w";

Instalacija i troubleshooting

Instalacija se obavlja na sljedeći način: u direktoriju mediawiki-2003 izvršite komandu

 php install.php
Slijedi pitanje da li želite napraviti bazu. Ako odgovorite na pitanje sa no, samo će programski fajlovi biti zamijenjeni novim. Ako kažete yes, baza će biti prebrisana i ponovo napravljena, što je korisno u periodu instalacije i testiranja.

Nakon dva puta ponovljenog pitanja trebate ukucati šifru vašeg MySQL root korisnika. Ako se kod vas MySQL korisnik sa administrativnim privilegijama ne zove "root", trebate otvoriti install.php i potražiti liniju:

 $rconn = mysql_connect( $wgDBserver, "root", $rootpw );
i editovati ovo "root".

Problem 1: nemam administrativne privilegije na MySQLu. Nisam uspio riješiti ovaj problem, ali za početak možete u gornjoj liniji umjesto root staviti nekog neprivilegovanog korisnika. Zatim editujte fajl maintenance/database.sql i umjesto DROP DATABASE i CREATE DATABASE stavite DROP TABLES * (ili tako nešto).

Problem 2: nakon kucanja MySQL šifre ne desi se ništa, a www.mojadomena.ba/wiki prikazuje praznu stranicu. Problem je što je language fajl zastario. Potražite neki jezik koji radi (osim engleskog!) i zatim otvorite oba language fajla u nekom editoru i probajte naći razlike.

Customizacija

Nakon izvršene prilagodbe morate ponoviti proceduru sa "php install.php", tako da je vjerovatno najbolje da prvo istestirate sve i podesite po svojim željama, a zatim više ne dirate sajt. :(

Ime

Vjerovatno ne želite da se vaš sajt zove Wikipedia. Za to trebate napraviti više izmjena: u fajlu includes/DefaultSettings.php potražite liniju

 $wgSitename         = "Wikipedia";
Stavite nešto što ne sadrži razmake ni posebne znake jer bi moglo uzrokovati određene probleme. Zatim editujte language fajl (ako koristite engleski to je languages/Language.php) i napravite razne izmjene. Obratite pažnju da umjesto "From $xy, the free encyclopedia" ne smijete staviti prazan string (mada je to vjerovatno ono što želite).

Tema

Uz MediaWiki dostavljaju se tri teme: "Standard", "Nostalgia" i "CologneBlue". Tema "CologneBlue" izgleda dosta profesionalno, pa recimo da je želimo proglasiti za default. U tom slučaju trebamo otvoriti fajl includes/User.php i naći liniju:

 if ( "" == $s ) { $s = 0; }
Umjesto 0 trebamo staviti 2 (redni broj teme, kako su navedene na početku fajla includes/Skin.php).

Slika koja se u Standard temi postavlja u gornji lijevi ugao nalazi se na lokaciji images/wiki.png.

Pravljenje vlastite teme je nešto složenije... (napisati)

 


Najnoviju verziju dokumentacije potrazite na sajtu start.linux.org.ba