Mediawiki er trolig den mest brukte wiki-programvare (men ikke nødvendigvis den beste) og er utviklet av [wikipedia-prosjekt. Se http://en.wikipedia.org/wiki/Mediawiki. Vi kjører den på alm som en egen apache2-instans og har databasen på mysql.idi.ntnu.no.

Oppgradering av mediawiki

Siste versjon av mediawiki lastes ned og pakkes ut med (bash) scriptet getit.sh under /srv/web/mediawiki.idi.ntnu.no/htdocs. Gå til http://sourceforge.net/projects/wikipedia for å se hva som er siste versjon.

Den nye versjonen blir pakket ut under mediawiki-<versjon>. Versjonen som er i bruk ligger under wiki/src.new. Hver wiki har symlinker inn i dette katalogtreet for å slippe å ha en kopi per wiki. Les UPGRADE, README og INSTALL for den nye versjonen. Dersom det bare er en oppgradering innen hovedrelase (f.eks 1.5.5 til 1.5.7) er det vanligvis nok bare å rename wiki/src.new til wiki/src.oldver og mediawiki-<ver> til wiki/src.new. Er det oppgradering til en ny hovedrelease kan det tenkes at man må kjøre oppgraderingscript for blant annet å gjøre endringer i databasen. Det var en stor endring fra 1.4 til 1.5 med større endringer i både databasen og endringer i LocalSettings.php. Det var også nødvendig å lage nye linktre for de ulike wikiene. Trolig blir ikke nødvendig med så store endringer i de neste hovedreleasene.

(!) NB! Av praktiske og sikkerhetsmessige grunner har vi lagt passordet for databasen inn i includes/DefaultSettings.php så du må kopiere linjen

$wgDBpassword="*******";

til den samme til i den nye versjonen. Pass på et DefaultSettings.php er eid av mediawiki og bare lesbar for eier.

Apache-konfigurajon

Vi kjører mediawiki på alm undere en egen apache2-instans som bruker mediawiki. Dette for at andre brukere ikke skal få tilgang til (mysql) passord. Den bruker mysql.idi.ntnu.no som sqlserver.

Konfigurasjon for denne apache2 instansen ligger under /opt/csw/apache2/etc/idi/mediawiki/. Hver vhost har en egen konfigfil som inkluderes i /opt/csw/apache2/etc/httpd.conf.

Eksempel:

# $Id: bildeteknikk.idi.ntnu.no.conf,v 1.4 2006/02/28 15:05:33 jang Exp $
# $Source: /opt/csw/apache2/etc/idi/mediawiki/RCS/bildeteknikk.idi.ntnu.no.conf,v $
# Created: Mon Feb 13 16:03:03 2006
<VirtualHost *:8011>
  ServerAdmin jang@idi.ntnu.no
  ServerName bildeteknikk.idi.ntnu.no
  DocumentRoot  /srv/web/bildeteknikk.idi.ntnu.no/htdocs
  #CustomLog    /var/log/web/bildeteknikk.idi.ntnu.no/accesslog common
  ErrorLog      /var/log/web/bildeteknikk.idi.ntnu.no/errorlog
</VirtualHost>

Det er ikke nødvendig at hver wiki er en egen vhost, men mange ønsker det. De som ikke er en egen vhost kjører under http://mediawiki.idi.ntnu.no/wiki/ som ligger under /srv/web/mediawiki.idi.ntnu.no/htdocs/wiki/.

Databasen

Mediawiki lagrer tekst og metadata for alle sider i en database. I tidligere versjoner trengte man en database per wiki. Nå kan man bruke et prefiks som legges foran tabellnavn som hører til en bestemt wiki. Dermed kan alle wikier samles i database. Databasen ligger på mysql.idi.ntnu.no og databasen heter g:tg_mediawiki. Hver wiki krever 32 tabeller så når vi har nærere 30 wikier blir det jo mange tabeller. Vi bruker nnn_ som prefiks der nnn fra 001 og oppover. Tabellene opprettes via phpscript som kjøres etter at vi ha lagt inn diverse opplysinger om wikien og har angitt adminbruker/adminpassord for g:tg_mediawiki. Se eget kapittel om hvordan opprette en wiki.

Databasen tas backup av på lik linje med andre databaser på mysql.idi.ntnu.no og vi skal kunne restore frem til siste transaksjon om nødvendig.

Opprette en ny wiki

Alle wikier som opprettes skal ha en eier som vi har navn og epost-adresse til. Selv om det er en organiasjon eller gruppe så må det være en person der som står oppført som eier og som er vår kontaktperson.

Før en wiki opprettes må man bestemme om wikien skal være en egen vhost, dvs ha URL http://wikinavn.idi.ntnu.no eller ha en URL på formen http://mediawiki.idi.ntnu.no/wiki/wikinavn. De fleste ønsker å ha en egen vhost. Se neste kapittel for å sette opp en vhost.

Opprette vhost

  1. Legg inn wikinavn som CNAME til vhosts.idi.ntnu.no. i idi.ntnu.no sonen (for tiden pat:/local/named/etc/pz/idi.ntnu.no). 2.1 Legg inn følgende i vhosts:/srv/pound/etc/pound-vhosts.idi.ntnu.no.cfg ( husk co -l ...før og ci -u ... etterpå).

# MediaWiki: wikinavn.idi.ntnu.no
UrlGroup ".*"
HeadRequire Host ".*wikinavn.idi.ntnu.no.*"
BackEnd 129.241.107.91,8011,1
EndGroup

Kjøre newwiki

Du kan nå kjøre newwiki (som root) på alm. Der får du følgende spørsmål:

Det er to alternativer for URL til denne wikien:
1. http://tgwiki.idi.ntnu.no
2. http://mediawiki.idi.ntnu.no/wiki/tgwiki
Valg[1]:

Dersom du brukte eget brukernavn fordi personen ikke hadde bruker her, angi da den virkelige eiers epost-adresse her.

Deretter kommer følgende output:

Restarter apache2-mediawiki...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Resten må du sette opp via http://tgwiki.idi.ntnu.no. stort sett kan
du angi stardardverdier. Helt nederst kan man angi root passord for
mysql, men ikke legg inn noe der, da får du feilmelding.
NB! BRUK PREFIX nnn_ (hvis ikke kan du overskrive en gammel wiki!!!)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Venter på at config/LocalSettings.php dukker opp (Ctrl-C avbryter)...

Katalogen alm:/wiki/wikinavn (/wiki er symlink til /srv/web/mediawiki.idi.ntnu.no/htdocs/wiki) blir da opprettet hvor det opprettes symlinker til filer i ../src.new med unntak av katalogene images og config som skal eies og være skrivbar for brukeren mediawiki. Dersom det er en vhost opprettes samtidig /srv/web/wikinavn hvor htdocs er en symlink til /srv/web/mediawiki.idi.ntnu.no/htdocs/wiki/wikinavn (ikke strengt nødvendig, men da følger vi vår egen standard). Prefix nnn er et tall mellom 001 og 999 og øker med 1 for hver ny wiki. Siden alle wikiene ligger i samme database må dette prefixet brukes for å skille tabellene fra hverandre.

Oppsett via nettleser

"klipp og lim" den angitte URL til en nettleser. Det sjekkes det om filen LocalSettings.php finnes, hvis ikke går den til config/index.php som brukes for å opprette tabellene i databasen og opprette filen LocalSettings.php. På config-siden får du følgende spørsmål:

Site config

E-mail, e-mail notification and authentication setup

Database config

Du er nå ferdig med å fylle ut skjema, så trykk install. Dersom du har glemt noe eller f.eks passord er feil vil det indikeres. Vær nøye med utfylling, så går det bra i første forsøk.

LocalSettings.php

newwiki har stått og ventet mens du fylte ut skjemaet. Når du trykker install der opprettes tabellene og filen config/LocalSettings.php. Når newwiki ser at denne filen dukker opp vil den generere en modifisert versjon av den under /wiki/wikinavn og slette den i config katalogen. Grunnen til at den må modifiseres er blant annet at som standard gis det for store rettigheter og dessuten ønsker vi å fjerne passordet fra filen (ligger jo i DefaltSettings.php som LocalSettins.php inkluderer).

Standard er at alle for lov å opprette egen bruker og har lov til å redigere alle sider og slik kan det ikke være. Derfor legges følgende linjer inn:

$wgGroupPermissions['*']['createaccount']=false;
$wgGroupPermissions['*']['edit']=false;
$wgGroupPermissions['sysop']['createaccount']=true;
$wgGroupPermissions['developer']['createaccount']=true;

Her betyr * anonym bruker (ikke innlogga). Eneste som skal få opprette nye brukere med rollene sysop - og developer.

Det anbefales å angi å legge inn en logofil og la $wgLogo referere til URL for denne.

Du kan gi skriverettigheter til LocalSettings.php til eier av wikien, men husk da at de enkelt kan endre prefix og dermed få full tilgang til andre wikier. De som gis tilgang til å endre LocalSettings.php må være noen du stoler på og som vet hva de gjør.

Merk at wiki-syntaksen i Mediawiki ikke er helt den samme som i f.eks Moinmoin (hvor denne siden ligger), så du kan ikke uten videre kopiere mellom Mediawiki og Moinmoin.

Mer dokumentasjon

mediawiki (last edited 2006-08-29 11:54:17 by JanGronsberg)