MediaWiki är namnet på den programvara som styr alla Wikimedia-projekt. MediaWiki släpptes 2003 och är en fri, serverbaserad programvara licensierad under GNU General Public License (GPL). Programvaran är licensierad enligt GPL, vilket innebär att källkoden är öppen och kan användas, studeras och ändras fritt enligt villkoren i licensen. MediaWiki och dess innehåll bygger på principer för fritt innehåll, och många av komponenterna utvecklas öppet av ett globalt community med bidragare från hela världen.
Vad MediaWiki gör
MediaWiki är byggt för att hantera stora webbplatser med höga trafikvolymer och många samtidiga redigeringar. Det är en kraftfull och skalbar wiki-implementering som använder PHP för att bearbeta och visa data som vanligtvis lagras i en MySQL- eller MariaDB-databas. Sidor i MediaWiki skrivs i Wikitext-format, vilket gör det möjligt för användare utan kunskaper i XHTML eller CSS att enkelt redigera innehåll.
Viktiga funktioner
- Versionshantering: När en användare skickar in en ändring sparar MediaWiki den nya versionen i databasen utan att ta bort tidigare versioner. Det gör det enkelt att följa ändringshistorik och återställa sidor vid vandalism eller misstag.
- Multimediahantering: MediaWiki kan hantera bild- och multimediefiler, som vanligtvis lagras i filsystemet eller i externa lagringslösningar.
- Roller och rättigheter: Systemet har ett flexibelt behörighetssystem med stöd för användargrupper, skyddade sidor och verktyg för att hantera vandalism (t.ex. rollback och blockering).
- Utbyggbarhet: Funktionalitet kan utökas via extensions (tillägg) och teman/skins. Exempel på vanliga tillägg är VisualEditor för WYSIWYG-redigering, parserfunktioner, mallar och API-stöd för automatisering och botar.
- API och integration: MediaWiki erbjuder API:er för att läsa och skriva innehåll programmässigt, vilket är viktigt för integrationer, automatisering och externa verktyg.
Skalbarhet och prestanda
MediaWiki är designat för att köras på en stor webbserverfarm för webbplatser som får miljontals besök per dag. För att hantera hög belastning stöder MediaWiki:
- caching av rendrerat innehåll och databassvar (till exempel via Memcached eller Redis)
- användning av proxy- och reverse-proxy-system för snabbare leverans (till exempel Squid eller andra cachelösningar)
- delad arkitektur med separata webbservrar, databasservrar, filservrar och jobbköer för att fördela arbetsbelastningen
Arkitektur och tekniska krav
MediaWiki körs i en LAMP-liknande miljö (Linux, Apache/Nginx, PHP och MySQL/MariaDB) men kan anpassas till olika plattformar och infrastruktur. För större installationer används ofta replikerade databaser, separata skriv- och läsinstanser, samt externa lagringslösningar för mediafiler för att öka tillförlitlighet och prestanda.
Utveckling, community och licens
MediaWiki utvecklas kontinuerligt av Wikimedia Foundation tillsammans med ett stort community av frivilliga utvecklare, översättare och administratörer. Koden är öppet tillgänglig och det finns dokumentation för både administratörer och utvecklare. Tack vare den öppna utvecklingsmodellen kan både ideella projekt och kommersiella aktörer anpassa och förbättra programvaran.
Säkerhet och drift
Eftersom MediaWiki används av stora publika projekt läggs stor vikt vid säkerhet, backup och övervakning. Funktioner som revisioner, användarloggar och rättighetskontroll hjälper till att spåra ändringar och begränsa skadliga handlingar. Drift av en produktionssajt kräver också regelbundna uppdateringar för att hantera säkerhetsfixar och buggåtgärder.
Wikimedia-projekt kör MediaWiki i sin egen infrastruktur och uppdaterar löpande till nya versioner och interna ändringar för att förbättra funktionalitet, prestanda och säkerhet. För mindre installationer finns omfattande guide- och konfigurationsmaterial som beskriver hur man sätter upp, anpassar och säkrar en MediaWiki-installation.

