Skip to main content

Quickstart

Get MediaWiki running locally and write your first extension in minutes.

Architecture Overview

Understand how MediaWiki’s components fit together.

Extension Development

Build extensions using hooks, services, and the extension registry.

API Reference

Integrate with the REST API and Action API.

What is MediaWiki?

MediaWiki is a free and open-source wiki framework written in PHP. It powers Wikipedia and thousands of other wikis across the web. As a framework, it provides:
  • A hook system that allows extensions to modify nearly every aspect of the application
  • A service container (MediaWikiServices) for dependency injection across all subsystems
  • A REST API and Action API for programmatic access to wiki content
  • A ResourceLoader for optimized JavaScript and CSS delivery
  • A parser that converts wikitext markup to HTML, with support for custom content models
  • A skin system for fully customizing the rendered HTML output
MediaWiki requires PHP 8.2 or later and supports MySQL/MariaDB, PostgreSQL, and SQLite databases.

Key developer entry points

Hooks

Respond to events throughout the request lifecycle

Services

Use dependency injection via MediaWikiServices

Extensions

Package your code as a distributable extension

Database

Query and update wiki data with the database layer

REST API

Modern REST endpoints for pages, revisions, and search

Action API

The classic MediaWiki API for all wiki operations

Getting started paths

1

Install MediaWiki

Follow the installation guide to set up a local development environment.
2

Understand the architecture

Read the architecture overview to understand request flow, the service container, and the hook system.
3

Create an extension

Follow the extension overview to create your first extension with extension.json.
4

Register hooks

Learn how to register and implement hooks to respond to MediaWiki events.
5

Add services

Use dependency injection to make your extension testable and maintainable.

Learn more

Installation requirements

System requirements: PHP, database, and web server setup

Configuration reference

All LocalSettings.php configuration variables

Maintenance scripts

CLI scripts for database updates, cache purging, and more

Security

User permissions, content security, and safe extension practices

Build docs developers (and LLMs) love