If you wish to have a local install of wiki.m.o including posts and content you will need to get the following datasets:
- A copy of the production database*
- A copy of the images directory
- A copy of the extesnions/Bugzilla/charts directory**
* There is talk of generating a sanitized (remove PII) database for convenience.
** This should not be the case. This extension should store its data in the images folder or in the temp file location as appropriate.
Once you have a copy of the aforementioned datasets you need to:
- clone this repository
- create a secrets.php file (see below)
- run the install.sh script (found in the tools directroy)
The secrets.php file
This file is where information specific to a particular deployment is stored. In hindsight I must admit that this is a poorly chosen name. This file should be self-explanatory. You can crib off of the -dist file or set environment variables in which case they will be automatically consumed.
MediaWiki core is installed as a submodule. To update it, simply follow your normal submodule workflow:
cd core git checkout TAG cd ../ git add core git commit git push
We are installing extensions in three separate ways.
The Subversion model
A few (two) extensions are available through Subversion only. These extensions are included fully. To update them you need to navigate into the extension's folder and issue an
svn up. Then simply follow your usual procedure for committing upstream.
The git submodule model
The majority of extensions are installed as git submodules. Simply follow normal submodule practice for this. In short:
- navagate to path/to/submodule directory
git checkout TAG
- navagate to top level
git add path/to/submodule
The Composer model
Extensions installed with composer need to be updated using the
php tools/composer.phar command. For information on usage of this command see the Composer Documentation. There are several things to note about using Composer in conjunction with MediaWiki.
- While Composer normally installs in a directory named
vendor, they are also duplicated on install to the
extensionsdirectory. These should not be checked into git and as such need to be added to the
- You need to be sure to
git add composer.lockfile whenever you make changes to the
composer.jsonmanually or with the
composer.pharcommand. This will avoid errors when setting up a fresh install.
- Composer automatically handles dependency resolution. Therefore you should not add any dependent extensions to the extensions directory.
- Extensions installed with Composer are automatically loaded through the
vendor/autoload.phpfile and do not need to be included in the