Contents
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
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
- 2.2 Kjør restart-pound. Vær veldig nøye med å sjekke for syntaksfeil, husk at dersom pound ikke starter opp igjen vil veldig få av våre websider være tilgjengelig.
Kjøre newwiki
Du kan nå kjøre newwiki (som root) på alm. Der får du følgende spørsmål:
Angi wikinavn
Slik vi har gjort det vil wikinavnet inngå som en del av URLen til wikien og kan den bare inneholde tegn som er gyldige en en url. Dersom det skal opprettes både en engelsk og norsk versjon, bruk da en.wikinavn og no.wikinavn.- Valg av URL-type. Det er viktig at du spør den som skal være eier av wikien om dette og at de skjønner forskjellen. Velger du 1 (default), stopper scriptet og spør om CNAME (det sjekker om CNAME er opprettet) og pound er konfigurert. Når dette er gjort svar j (eller ENTER) for å gå videre (bruker tgwiki som et eksempel):
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]:
Angi brukernavn til eier av wiki tgwiki:
Dersom vedkommende ikke har bruker ved IDI, angi deg selv som eier. Du får ikke gå videre før du har angitt en gyldig bruker.Epost [ bruker@idi.ntnu.no ]:
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
Site name: Angi her samme navn som du oppgave til newwiki.
Contact e-mail: Angi eiers epost-adresse som du oppgave til newwiki.
Language: Default er engelsk. Husk å spørre eier, noen ønsker norsk, noen engelsk og noen ønsker både en engelsk og norsk versjon.
Copyright/license metadata: Default er "no license metadata". Bruk dette med mindre du har fått beskjed om annet (kan endres senere).
Sysop account name: Default er WikiSysOp, men bruk gjerne FornavnEtternavn til eier.
Password: Angi at bra passord (ikke test og den slags passord), minst 8 tegn (må tastes 2 ganger).
Shared memory caching: Default er "no caching". Vi har ikke dette så velg default her.
E-mail, e-mail notification and authentication setup
Email(general): Default er "enabled" og normalt skal du velge dette. Det angir at epost kan sendes ved ulike hendelser.
User-to-user e-mail: Default er "enabled" og normalt velger du det.
E-mail notification: Default er "enabled for changes of watch-listed and user_talk pages" og normalt velger du dette.
E-mail address authentication: Default er "enabled" og normalt skal du velge dette.
Database config
MySQL server: mysql.idi.ntnu.no (default)
Database Name: g:tg_mediawiki (default)
DB username: s:mediawiki_adm (default)
DB password: dersom du mangler dette passordet, kontakt Jan.
Database table prefix: NB! Bruk det som newwiki sa du skal bruke og ikke noe annet. Bruker du et som er brukt før risikerer du å slette en eksisterende wiki!
Database charset: Default er "Backwards-compatible UTF-8" og bruk det.
Super user: root (brukes ikke dersom passord ikke settes).
Password: - NB! ikke endre. Default brukes - (vises som *). Settes det til noe annet vil den førsøke å opprette databasebruker m.m. Men viden både databasebruker og databasen finnes fra før (skal bare legge inn nye tabeller) trenger vi ikke superbruker (root) til noe.
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.