User:Alvaro Ortiz-Troncoso/Draft Create a new mediawiki instance

From Biowikifarm Metawiki
< User:Alvaro Ortiz-Troncoso
Revision as of 14:53, 28 January 2015 by Alvaro Ortiz-Troncoso (Talk | contribs) (Prepare a new wiki instance)

Jump to: navigation, search

As more wikis are needed it would be nice to have a scriptable method to create new wiki instances. This page documents creating a wiki by hand in such a way that it would be feasable to automatize the steps in a script. Possible usages for a script would be:

  • Installing an instance with a different version of mediawiki.
  • delegate wiki installation to wiki administartors (provide a UI)

See also: Create_a_new_mediawiki_instance (using a template and a database dump).

Prepare a new wiki instance

Create a new directory in /var/www for the wiki installation.

mkdir /var/www/new_wiki
cd /var/www/new_wiki

Create the wiki database

Link the maintenance directory from the common wiki installation

ln -s /usr/share/mediawiki20/maintenance maintenance

Run the installer php ./maintenance/install.php with the following options

--dbuser
Database user
--dbpass
Database user password
--confpath
Path to where the LocalSettings.php shall be stored
--dbname
Name of the database to be created
--pass
Wiki administrator password
--scriptpath
Path to the wiki files, relative to /var/www

Arguments:

  • <name>: The name of the wiki
  • <admin>: The username of the wiki administrator (WikiSysop)
php ./maintenance/install.php --dbuser <dbuser> --dbpass <dbpass> --confpath <confpath> --dbname <dbname> --pass <pass> --scriptpath <scriptpath> <name> <admin>

Edit local configuration file

Biowikifarm uses a shared configuration which is in stored in MediaWikiCommonSettings.php directly in the www-root. To create configuration for an individual wiki on biowikifarm, you need to create a file LocalSettings.php in the wiki's directory. For a a minmalistic configuration, add at the end of LocalSettings.php:

#INCLUDING COMMON SETTINGS:
include_once("$IP/../MediaWikiCommonSettings.php");
include_once("$IP/../MediaWiki_NonDevSettings.php");

There are of course many more available settings.

Link to common files and directories

Define the path to the base Mediawiki installation (scope is restricted to this shell)

 MWPATH=/usr/share/mediawiki20

(Soft-) Link folders and files to the common mediawiki installation:

# Main web entry point for MediaWiki
ln -s $MWPATH/index.php index.php
ln -s $MWPATH/index.php5 index.php5
# Stub file for compatibility with older versions
ln -s $MWPATH/wiki.phtml wiki.phtml

# Entry point for API queries
ln -s $MWPATH/api.php api.php 
ln -s $MWPATH/api.php5 api5.php

# PHP script to be used as 404 handler to create and stream out a
# not yet existing image thumbnail.
ln -s $MWPATH/thumb_handler.php5 thumb_handler.php5
# PHP script to stream out an image thumbnail.
ln -s $MWPATH/thumb.php thumb.php
ln -s $MWPATH/thumb.php5 thumb.php5
# Image authorisation script
ln -s $MWPATH/img_auth.php img_auth.php
ln -s $MWPATH/img_auth.php5 img_auth.php5

# Entry point for the resource loader.
ln -s $MWPATH/load.php load.php
ln -s $MWPATH/load.php5 load.php5

# Entry point for the search API
ln -s $MWPATH/opensearch_desc.php5 opensearch_desc.php5

# Script that redirects to the article passed in the "wpDropdown" parameter.
# This is used by the nostalgia skin for the special pages drop-down
ln -s $MWPATH/redirect.php redirect.php
ln -s $MWPATH/redirect.php5 redirect.php5
ln -s $MWPATH/redirect.phtml redirect.phtml

# Directoriess equiered by Mediawiki
ln -s $MWPATH/bin bin
ln -s $MWPATH/docs docs
ln -s $MWPATH/extensions extensions
ln -s $MWPATH/includes includes
ln -s $MWPATH/languages languages
ln -s $MWPATH/maintenance maintenance
ln -s $MWPATH/resources resources
ln -s $MWPATH/serialized serialized
ln -s $MWPATH/skins skins

Create local directories

Make sure the right directotry is used

cd /var/www/new_wiki

Create the cache directory and make it writable for the web server

mkdir cache
chown www-data:www-data cache

If media are stored locally, create the media directory and make it writable for the web server

mkdir media
chown www-data:www-data media