Install a MediaWiki codebase

From Organic Design
Legacy.svg Legacy: This article describes a concept that has been superseded in the course of ongoing development on the Organic Design wiki. Please do not develop this any further or base work on this concept, this is only useful for a historic record of work done. You may find a link to the currently used concept or function in this article, if not you can contact the author to find out what has taken the place of this legacy item.
Procedure.svg Install a MediaWiki codebase
Organic Design procedure

This article describes installing a new version of the MediaWiki software itself. This is a framework which can be thought of as a class which provides the interface structure and database schema for any instances of the software which are separate evolving databases. This process is also useful for creating a duplicate of an existing codebase for experimentation.

File structure

# Shared extensions dir primarily from OD extensions svn repo then others added from wikimedia etc
/var/www/extensions

# Database dumps used as initial templates for new wikis
/var/www/empty-1.15.1.sql
/var/www/empty-1.16.sql

# Tools and system-wide OD/Wikia configuration from the OD tools svn repo
/var/www/tools

# Installed MediaWiki codebases
/var/www/mediawiki-1.6.7/
/var/www/mediawiki-1.9.3/
/var/www/mediawiki-1.10.0/
/var/www/mediawiki-1.11.0/
/var/www/mediawiki-1.15.1/
/var/www/mediawiki-1.16alpha/
/var/www/mediawiki-svn/

# Example of template filesystem Symbolic link to common MediaWiki instance
/var/www/wikis/template/wiki -> /var/www/mediawiki-svn/

Download

Download a version of MediaWiki to the server you want to install it on. Using wget on a server to download a version e.g.

cd /tmp
wget --proxy http://download.wikimedia.org/mediawiki/1.19/mediawiki-1.19.2.tar.gz
tar -zxvf mediawiki-1.19.2.tar.gz  
mv /tmp/mediawiki-1.19.2 /var/www


Or if you prefer, obtain the current development version from the Subversion repository:

svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 /var/www/mediawiki-svn


You may like to checkout the source tree of the latest skins:

svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/skins /var/www/skins-phase3-trunk

Installation steps

  1. Unpack the tar.gz distribution into /var/www leaving the directory name of the version untouched. The config directory must be set to chmod a+w config
  2. Set the /var/www/domains/setup.organicdesign.co.nz symlink to point to the new codebase. If it is a local installation /var/www/domains/setup.localhost and include setup.localhost in your etc/hosts: 127.0.0.1 localhost setup.localhost
  3. A symlink needs to be added in the codebase during initial setup called wiki which points to it's parent, the codebase dir e.g. ln -s /var/www/mediawiki-1.11.1/ wiki
  4. Go to http://setup.organicdesign.co.nz/wiki/mw-config in your browser and run through the install the db user bender, and any template db name (but please note, you must use a table prefix with trailing underscore for add-db to work with it as a template!). Use your own account for sysop rather than "WikiSysop". If it is a local installation http://setup.localhost
  5. Download the LocalSettings.php offered by the installer and copy into the main /wiki directory
  6. Edit the LocalSettings.php file, remove the db user, password and prefix and append to the end of the script: require_once('extensions/wikia.php');
  7. Add symlinks for any required extensions from the shared repository into the codebase's extensions directory.
  8. Run make in the wiki/math directory
  9. Add the DPL DB update shown at DPL:DPL:Manual - Source and Installation (after we figure out why it's not working!)
  10. Create a template database for major releases of MediaWiki (either copy and upgrade an existing template, or add to the base install)
mysqldump -u user -p db-name > /var/www/empty-x.xx.sql
Note: see section below for DB user details

Wiki Database Details

Note that the wiki DB settings are now managed and set from /var/www/tools/wikid.conf, see the wikid.conf.sample file for an example. The wikia.php file which is automatically included in all wikis in the wikia will extract the DB details from the wikid.conf file.

Next

See also