MediaWiki on selle tarkvara nimi, mis juhib kõiki Wikimedia projekte. MediaWiki ilmus 2003. aastal ja on arenenud pidevalt vabalt levitatava projektina. See on vaba serveripõhine tarkvara, mis on litsentseeritud GNU General Public License (GPL) alusel. Samuti on tarkvara kirjeldatud kui vaba sisu ehk avatud lähtekoodiga; lisaks on sellele viidatud ka GPL-i selgitustes ja dokumentatsioonis.

Peamised omadused ja eesmärk

MediaWiki on mõeldud kasutamiseks suure liiklusega veebilehtedel ja wiki-võrgustikes. See on seni üht kõige võimsamat ja skaleeritavamat wiki-tarkvara, mida kasutatakse nii väikestel kogukondlikel vikidel kui ka miljoneid lehitsevaid päevarühmi teenindavatel platvormidel. Tarkvara on kirjutatud peamiselt PHP-d kasutades ning andmed salvestatakse tavaliselt MySQL- või MariaDB-andmebaasi, kuid toetatud on ka teised andmebaasid ja konfiguratsioonid.

Muudetavus ja versioonihaldus

Leheküljed MediaWikis kasutavad Wikitext-vormingut, mis võimaldab ka neile, kes ei tunne XHTML-i või CSS-i, sisu mugavalt redigeerida. Kui kasutaja salvestab lehe muudatused, kirjutatakse uus versioon andmebaasi, kuid vanad versioonid jäävad alles — see võimaldab lihtsat tagasipööramist vandalismi, spämmi või ekslike muutuste korral ning tagab täieliku ajaloo iga lehe kohta.

Failide ja meedia haldus

MediaWiki suudab hallata piltide ja muu multimeedia faile, mis tavaliselt salvestatakse failisüsteemi või spetsiaalsetesse salvestuslahendustesse. Suuremate instantside puhul kasutatakse sageli ka eraldi failiservereid ja CDN-e.

Skaleerimine ja jõudlus

Suure külastatavusega vikide puhul toetab MediaWiki erinevaid jõudlustõhustusi. Lisaks sisseehitatud töötlemisele saab kasutada vahemällu salvestamist ning seda saab liidestada välisten proxy- ja vahemälusüsteemidega; näiteks toetab MediaWiki vahemälu ja seda saab ühendada Squid proxy server tarkvaraga. Tänapäevastes paigaldustes kasutatakse laialdaselt ka memcachedi, Redis‑i, Varnish’i, ning otsinguks eraldi lahendusi (nt Elasticsearch/CirrusSearch).

Funktsioonid ja laiendatavus

  • Mallid ja Päised: keerukate ja korduvkasutatavate leheelementide loomiseks kasutatakse malle (templates).
  • Nimealad ja kasutajate õigused: MediaWiki toetab erinevaid nimealasid (nt artikkel, arutelu, kasutaja), rollipõhist ligipääsu ja täpsemat õiguste haldust.
  • Versioonide ajalugu ja taastamine: täielik muudatuste ajalugu võimaldab versioonide võrdlemist ja taastamist.
  • Lisad (extensions) ja kujundused (skins): MediaWiki on hästi laiendatav — kogukond arendab sadu lisasid, mis lisavad pilditöötlust, tsitaatide haldust, visuaalset redigeerijat ja palju muud.
  • Parsimine ja API: kaasaegsed MediaWiki paigaldused toetavad Parsoid/REST-API-d ning pakuvad võimsaid tööriistu sisu masinloetavaks kasutamiseks.

Turvalisus ja hooldus

Tavapärane töö hõlmab regulaarseid uuendusi, et hoida süsteem turvalisena ja veavabana. Paigaldajatel tuleks kontrollida lisade turvalisust, konfigureerida kasutajate õigused ettevaatlikult ning rakendada rämpsposti- ja väärkasutuse vastaseid meetmeid (nt CAPTCHA, AbuseFilter jms). Suuremate installatsioonide haldamiseks kasutatakse sageli ka logi- ja monitooringulahendusi, varundamist ning ajastatud töid (job queue) taustatööde jaoks.

Nõuded ja paigaldus

MediaWiki nõuab PHP-tõlki ja toetatud andmebaasi (tavaliselt MySQL või MariaDB, mõnikord SQLite või PostgreSQL väiksemate installide jaoks). Suuremateks projektide puhul on soovitatav kasutada täiendavaid komponente nagu vahemälu (memcached/Redis), otsinguteenused ja eraldi meediumiserver.

Kogukond ja kasutusvaldkonnad

Kuigi MediaWiki on kõige tuntum Wikimedia projektide platvormina, kasutavad seda ka mitmed ettevõtted, koolid, teadusasutused ja kogukonnad oma teadmistebaaside ja sisuhaldussüsteemide loomiseks. Kuna tarkvara on avatud lähtekoodiga, on selle ümber suur rahvusvaheline kogukond, kes panustab arendusse, tõlkedesse ja dokumentatsiooni.

Kõik Wikimedia projektid töötavad MediaWiki versioonil 1.35.0-wmf.31 (c33756d). Samas tasub arvestada, et MediaWiki ja Wikimedia deploy’d arenevad pidevalt ning produktiivkeskkondades kasutatakse tihti kohandatud või uuendatud versioone; uusimad stabiilsed väljalasked ja juhised paigalduseks leiab MediaWiki ametlikust dokumentatsioonist ja arendajate repositooriumidest.