VisualEditor/Testing in user space without dæmons


Run three servers in three different terminal windows:

  • Mediawiki on port 8888: cd src/mediawiki-core && php5 -S localhost:8888
  • Parsoid on port 8000: cd src/parsoid && node bin/server.js
  • Mediawiki on port 8889: cd src/mediawiki-core && php5 -S localhost:8889

Browse to the mediawiki instance on localhost:8888. It calls parsoid on localhost:8000 which calls mediawiki on localhost:8889. This is necessary because php5 -S is single-threaded.


Install everythingEdit

apt-get install nodejs npm php5-cli php5-sqlite php5-curl
mkdir -p ~/src/mw-extensions
cd ~/src
git clone mediawiki-core
git clone
cd ~/src/mw-extensions
git clone
cd VisualEditor && git submodule update --init

You might want other extensions too, e.g.:

cd ~/src/mw-extensions
git clone

Set up MediaWikiEdit

cd ~/src/mediawiki-core
php5 -S localhost:8888

Browse to http://localhost:8888/ and follow the install instructions to use sqlite and generate LocalSettings.php Append the following to src/mediawiki-core/LocalSettings.php:

require_once "$IP/extensions/UniversalLanguageSelector/UniversalLanguageSelector.php";
require_once "$IP/extensions/VisualEditor/VisualEditor.php";
$wgDefaultUserOptions['visualeditor-enable'] = 1;
$wgVirtualRestConfig['modules']['parsoid'] = array(
  // URL to the Parsoid instance
  // Use port 8142 if you use the Debian package
  'url' => 'http://localhost:8000',
  // Parsoid "domain", see below (optional)
  'domain' => 'localhost',
  // Parsoid "prefix", see below (optional)
  'prefix' => 'localhost'
$wgResourceLoaderDebug = true;

Set up ParsoidEdit

Edit ~/src/parsoid/localsettings.js to ensure the following URI set:

    // …
    uri: 'http://localhost:8889/w/api.php'


Then run the three servers as shown in the summary, and browse to localhost:8888.