Local development quickstart

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.

Linux edit

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

Mac edit

Install the required packages using Homebrew.

brew install php composer

Windows edit

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

Troubleshooting edit

Page stalls or loads slowly edit

If pages stop loading or if they load slowly, it may be due to the limitations of PHP's built-in webserver. Try running composer serve in place of php -S localhost:4000 to start the webserver with multiple CLI server workers.