Local development quickstart

From mediawiki.org

This page is a quickstart guide to setting up a local development for MediaWiki using PHP and Composer.

This workflow is only suitable for local development. To serve a public website, see Manual:Installation requirements .

1. Install prerequisites[edit]

MediaWiki requires PHP 7.4.3+ and Composer 2.


On Ubuntu 22+ or Debian 11+, install the required packages using APT.

sudo apt install -y php php-intl php-mbstring php-xml php-apcu php-curl php-sqlite3 composer

On Ubuntu 20, install PHP from APT, but install Composer from getcomposer.org/download.

sudo apt install -y php php-intl php-mbstring php-xml php-apcu php-curl php-sqlite3

On Fedora 35+, install the required packages using DNF.

sudo dnf install -y php composer


Install the required packages using Homebrew.

brew install php composer


You have the option to use the Windows Subsystem for Linux and follow the Linux instructions on this page. Or, to install MediaWiki directly on Windows, install the required packages using Chocolatey.

choco install -y php composer

To load the required PHP extensions, edit your php.ini file, and uncomment the following lines. To find the location of php.ini, run php -i, and look for Loaded Configuration File.


2. Clone MediaWiki[edit]

Use Git to clone the MediaWiki core repository and the default skin.

git clone https://gerrit.wikimedia.org/r/mediawiki/core.git mediawiki && git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git mediawiki/skins/Vector && cd mediawiki

Cloning MediaWiki takes a few minutes. While you're waiting, create a Wikimedia developer account if you don't already have one.

3. Install dependencies[edit]

From within MediaWiki's root directory, use Composer to install MediaWiki's dependencies.

composer update

4. Install MediaWiki[edit]

Install MediaWiki with PHP's built-in SQLite database.

composer mw-install:sqlite

5. Start server[edit]

Start PHP's built-in webserver, and open localhost:4000 in a browser to see your MediaWiki instance. To log in as an administrator, use username Admin and password adminpassword.

composer serve

Next steps[edit]