MediaWiki kasutamine Debianiga
Sissejuhatus
MediaWiki http://www.mediawiki.org/wiki/MediaWiki PHP keeles progammeeritud Wiki tarkvara.
MediaWiki paigaldamine
Tundub, et 2016 aastal töötab MediaWiki v. 1.27.1 sellises keskkonnas
- Debian v. 9 Stretch keskkonnas
- PHP v. 7
- PostgreSQL v. 9.6
Ettevalmistamine, paigaldatakse pgdg postresql-12
# apt-get install postgresql-12 # apt-get install php-pgsql php-gd
ja paigaldame paketihaldusest kõik va mediawiki ise
# apt-get install `echo $(apt-get install mediawiki -s | grep ^Inst | grep -v mediawiki | awk {'print $2'})` -s
Andmebaas
MediaWiki andmebaasina on kõige pikema ajalooga MySQL, tundub, et 2012 aastal töötab ka PostgreSQL, sobib kasutada sellist nt kasutajat
# su - postgres $ psql sql> CREATE ROLE mw LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE; sql> ALTER ROLE mw SET TimeZone='GMT'; sql> ALTER ROLE mw SET DateStyle='ISO, YMD'; sql> ALTER ROLE mw SET search_path=mediawiki, public; sql> ALTER ROLE mw SET client_min_messages='error'; sql> \password mw
ja sellist andmebaasi
CREATE DATABASE mw WITH OWNER = mw ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'et_EE.UTF-8' LC_CTYPE = 'et_EE.UTF-8' CONNECTION LIMIT = -1;
Tavaliselt kasutatakse MediaWiki andmete jaoks andmebaasi skeemi 'mediawiki' (seal põhjusel on search path esimesel kohal 'mediawiki'.
Veebiserver
Nn ilusate URLide jaoks sobib kasutada nt sellist Apache virtual hosti sektsiooni
Alias /wiki /srv/www/mw/index.php
<Directory /srv/www/mw> Options All AllowOverRide All Order Allow,Deny Allow from All </Directory>
kusjuures MediaWiki seadistusfailis LocalSettings.php tuleb kasutada muu hulgas selliseid ridu
$wgScriptPath = "/mw"; $wgScriptExtension = ".php"; $wgArticlePath = "/wiki/$1"; $wgUsePathInfo = true;
MediaWiki rakendus
Esmalt tuleb kopeerida http://www.mediawiki.org/ aadressilt soovitavalt viimase stabiilse MediaWiki tarkvara versioon ning pakkida lahti veebijuurika kataloogi
# cd /srv/www # tar zxf mediawiki.tar.gz # chown -R www-data:www-data mw-1.9.6
Seejärel avada vastav lehekülg brauseris
Paigaldamise lõpus öeldakse
Peale brauseriga töötamist tuleb kopeerida LocalSettings.php seadistusfaili rakenduse juurkataloogi ning kohendada failisüsteemi omanik:grupp väärtused.
MediaWiki seadistamine
Ligipääsuprivileegide kehtestamine
Selleks, et veebiliidese kaudu ei saaks wikisse kasutajaid tekitada sobib kasutada seadistusfailis LocalSettings.php ridu
$wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createaccount'] = false;
MediaWiki kasutamine
TODO
Erileheküljed
Nn Erilehekülgede sektsioonis on mitmed halduseks või wikis toimuvast ülevaate saamiseks vajalikud leheküljed, nt
- Kõik leheküljed
- Piltide loend
- Kasutajad
- Lehekülgede eksport/import
- Versioon
Tekstide importimine
MediaWiki teksti importimiseks saab kasutada MediaWikist eksporditud tekste.
Failide üleslaadimine
Vaikimisi ei saa wikisse faile üles laadida, üleslaadimise lubamiseks tuleb kasutada LocalSetting.php failis nt ridu
$wgEnableUploads = true; $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'patch', 'txt', 'log' );
Massiliseks failide mitte-interaktiivseks wikisse laadimiseks sobib kasutada skripti maintenance/importImages.php, nt
$ php5 importImages.php --user=priit /tmp/pildid --overwrite --comment='Priidu kopeeritud'
kus
- --user=priit - kasutaja kellena näidatakse, et andmed wikisse kopeeriti
Seejuures tuleb arvestada, et nii üleslaaditud failid on failisüsteemis selle kasutaja:grupiga, millena skripti käivitati.
MediaWiki tarkvara uuendamine
Olemasoleva tarkvara versiooni saab küsida
Erileheküljed -> Versioon
MediaWiki uuendamist kirjeldatakse aadressil https://www.mediawiki.org/wiki/Manual:Upgrading. MediaWiki uuendamiseks on kaks erinevat võimalust
- tekitada uuemast versioonist uus puhas paigaldus (failisüsteemi ja andmebaasi osas) ning laadida artiklite .xml dump sisse (lisaks pildid)
- uuendada olemasolevat failisüsteemi ning rakendada skriptiga andmebaasimuudatused
Teise variandi puhul on veel omakorda mitmeid võimalusi, nt
- kopeerida olemasolev failisüsteemi osa üle uuema sisuga
- rakendada olemasolevale failisüsteemi osale patch abil muudatused (võimalik vaid minor uuenduste puhul, nt 1.20.2 -> 1.20.3)
Failisüsteemi osa paikamine uue tar.gz arhiivi olemasoleva kõrvale lahtipakkimise teel
v. 1.27.1 uuendamise juhend õpetab, et uue versiooni .tar.gz tuleb lahti pakkida tühja kataloogi ning seejärel
- pg_dump ja pg_restore abil migreerida vajadusel baas uuele baasi mootorile
- kopeerida vanast LocalSettings.php (maksab jälgida mis on muutunud, kuigi tundub, et mitte midagi märkimisväärset nt v. 1.21.x -> 1.27.1 uuendamisel)
- extensions ja skins alla kopeerida vajalike asjade uus versioon isandate käest
- uuendada baas
$ cd maintenance $ php update.php
- kohendada failisüsteemis failide omanikud
Failisüsteemi osa paikamine uue tar.gz arhiivi üle olemasoleva lahtipakkimise teel
Sellised sammud sobivad sama major versiooni uuendamiseks, nt 1.16.0 -> 1.16.5
- Lõpetada kasutajate ligipääs veebikohale.
- Teha varukoopia andmebaasist ja veebiserveris olevatest andmetest.
- Pakkida lahti uue versiooni arhiiv vana peale, failid asendatakse
$ tar zxf /opt/postgres/20110506/mediawiki-1.16.5.tar.gz -C /srv/www/html/wiki/ --strip-components=1
Failisüsteem osa paikamine uue versiooni patch'iga paikamise teel
# patch -p1 --dry-run < ../../private/mediawiki-1.18.4.patch patching file includes/DefaultSettings.php patching file includes/SkinTemplate.php patching file includes/upload/UploadBase.php patching file languages/Language.php patching file RELEASE-NOTES-1.18
Kui probleeme pole, siis rakendada muudatused
# patch -p1 < ../../private/mediawiki-1.18.4.patch
Andmebaasi uuendamine
- Rakendada andmebaasi-uuendused
$ cd maintenance $ update.php MediaWiki 1.16.5 Updater Going to run database updates for qt Depending on the size of your database this may take a while! Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0 ... search_path for user "qt" looks correct (mediawiki, public) Setting client_min_messages to 'error' for user "qt" Setting DateStyle to 'ISO, YMD' for user "qt" ... default value of "TimeZone" is correctly set to "GMT" for user "qt" ... sequences already updated ... sequences already updated ... table "category" already exists ... table "mediawiki_version" already exists ... table "mwuser" already exists ...
MediaWiki tarkvara uuendamine 20200114 v. 1.27.3 - 1.34.0
Uuendamine
- operatsioonisüsteem - debian v. 9 -> debian v. 10
- postgresql v. 9.6 -> v. 12
postgres@db-4:~/20200112$ pg_dumpall > pg_dumpall-20200114.sql
Uuendamine toimub üldiselt tavalisel viisil, aga selliste erisustega
- tekitada wikisse kasutajad kõigile artiklite autoritele
- kohendada sql sisu vajadusel
Export ja Import
$ php dumpBackup.php --full > mw-1.16.5-dumpBackup.xml 2012-01-29 19:26:41: qt 3 pages (0.024/sec), 100 revs (0.795/sec), ETA 2012-01-29 23:05:39 [max 10542] 2012-01-29 19:26:41: qt 6 pages (0.048/sec), 200 revs (1.588/sec), ETA 2012-01-29 21:15:14 [max 10542] 2012-01-29 19:26:42: qt 18 pages (0.142/sec), 300 revs (2.365/sec), ETA 2012-01-29 20:38:52 [max 10542] ...
$ php importDump.php mw-1.16.5-dumpBackup.xml
Pildid tuleb lisada käsitsi
- kopeerida images kataloogis ühte kataloogi pildid kokku
- öelda
$ cd maintenance $ php importImages.php --user=Priit /tmp/pildid --overwrite --comment='Priidu kopeeritud'
Varundamine ja taaste
MediaWiki varundamiseks tuleb pöörata tähelepanu sellistele andmetele
- andmebaasi mediawiki skeem, kuhu on salvestatud wiki artiklite tekstid
- veebijuurika failisüsteem, kus on PHP mootor + üles laaditud failid
- lisaks peaks olema teada süsteemi parameetrid, nt andmebaasi kodeering, veebiserver seadistused jms
Skin kasutamine
Skin abil saab kontrollida Mediawiki väljanägemist, sh kuidas ta paistab nutiseadmel. Kasutamiseks tuleb skin kopeerida ja pakkida lahti alamkataloogi skins.
MediaWiki nutitelefonile
Kuna nutitelefoni ja tahvelarvuti ekraan on töökohaarvuti omast reeglina oluliselt pisem (nt vastavalt 5" ja 10" diagonaal), annab teksti esitamisel parema tulemuse väiksemale erkaanile paremini sobiv vormindus. Üks otsekohene viis seda korraldada on kasutada väiksema ekraani jaoks ettevalmistatud MediaWiki skin'i, nt http://www.mediawiki.org/wiki/Manual:Gallery_of_user_styles#WPtouch. Kasutamiseks tuleb
- pakkida WPtouch arhiiv lahti MediaWiki rakenduse kataloogi alamkataloogis
skins/
- asendada seadistusfailis LocalSettings.php rida (või sarnane)
$wgDefaultSkin = "monobook";
nt lõiguga
if (preg_match("/(mobile|webos|opera mini)/i", $_SERVER['HTTP_USER_AGENT'])) { $wgDefaultSkin = 'wptouch'; } else { $wgDefaultSkin = 'monobook'; }
Extension kasutamine
Extensions abil laiendatakse Mediawiki funktsionaalsust. Extension juurutamiseks tuleb vastav .tgz fail alla laadida ning pakkida lahti alamkataloogi extensions
# ls -ld mw-1.9.3/extensions/* drwxr-xr-x 4 501 staff 4096 Aug 22 23:53 mw-1.9.3/extensions/Cite drwxr-xr-x 4 501 staff 4096 Aug 22 23:53 mw-1.9.3/extensions/CiteThisPage drwxr-xr-x 12 501 staff 4096 Aug 22 23:53 mw-1.9.3/extensions/ConfirmEdit drwxr-xr-x 6 501 staff 4096 Aug 22 23:53 mw-1.9.3/extensions/Gadgets drwxr-xr-x 4 998 998 4096 Jun 14 02:13 mw-1.9.3/extensions/googleAnalytics ...
Google Analytics
GA extension asub aadressil https://www.mediawiki.org/wiki/Extension:Google_Analytics_Integration ja vastav sektsioon LocalSettings.php faili on nt
require_once "$IP/extensions/googleAnalytics/googleAnalytics.php"; // Replace xxxxxxx-x with YOUR GoogleAnalytics UA number $wgGoogleAnalyticsAccount = "UA-xxx-1"; // Optional Variables (both default to true) $wgGoogleAnalyticsAnonymizeIP = false; // $wgGoogleAnalyticsIgnoreSysops = false; // $wgGoogleAnalyticsIgnoreBots = false; // If you use AdSense as well and have linked your accounts, set this to true to enable tracking // $wgGoogleAnalyticsAddASAC = false;
kus
- TODO
SSL offload
Tundub, et MediaWiki töötab üsna hästi SSL offload taga, nt NginX puhul. Selleks tuleb
- LocalSetting failis kasutada vastavat rida, nt
## The protocol and server name to use in fully-qualified URLs $wgServer = "https://www.auul.pri.ee";
- Apache seadistusfailis rida
SetEnv HTTPS on
- NginX seadistamise koht vt Nginx veebiserveri kasutamine operatsioonisüsteemiga Debian