Manual:Wiki family

This page should lead you through the installation and configuration of a small wiki-family.

Scenario 1: Unix-based operational system shared-hosting provider
You have a wiki installed in an Unix-based operational system shared-hosting provider. See the solution, including step-by-step detailed instructions: http://www.steverumberg.com/wiki/index.php/WikiHelp For a smaller guide and simpler solution, see Scenario 2, below.

Scenario 2: Quick set-up
You want to install more than one wiki on a single server, using the same source code, and using the same database?


 * 1) Install MediaWiki and additional tools as usual
 * 2) Set up your wiki (e.g., MyWiki)
 * 3) After successful installation, move LocalSettings.php into the root directory of your wiki and rename it in such a way to make it easy to track (e.g., myWikiLocalSettings.php)
 * 4) Repeat the steps above for each wiki you wish to create, with suitable local setting files (e.g., anotherWikiLocalSettings.php, etc.)
 * 5) Create a LocalSettings.php file for your global settings, then select one from the two possibilities below:
 * 1. If your wikis are in different directories or subdomains linked to the same directory on your server, use this:


 * OR 2: If you have different domains that link to one directory on your server, use this:



You can use a different unique MySQL database for each wiki (see $wgDBname) OR you can use a different table prefix for each wiki (for Postgres, you can achieve a similar effect by using different schemas) (see $wgDBprefix).

To link your subdomains to one directory on your server you may have to edit the configuration file for your server (can not be done with a .htaccess file) or modify the DNS configuration for your site (if your site has its own IP address).

Scenario 3: Multiple wikis sharing common resources
You want to have some wikis in different languages, sharing the same media-files in another, single wiki.

For example:


 * en.yourwiki.org - english language
 * fr.yourwiki.org - french language
 * de.yourwiki.org - german language
 * pool.yourwiki.org - media-files for all of these wikis (like Commons).
 * As there is already an Interwikilink named commons for Wikimedia Commons, we name our media-files-wiki "pool".

Install
On your filesystem, create a folder for each wiki. Run the install script for each wiki. (This solution duplicates source code.)

Interwiki
Now you have to set Interwikilinks between all wikis, by editing their MySQL-Databases
 * Table Interwiki
 *  iw_prefix - enter the language-code of the wikis, "de" for german, "en" for english, "fr" for france and "pool" for the mediapoolwiki
 *  iw_url - this is the place for the complete URL to the wikis, e.g. " http://de.yourwiki.org/index.php/$1 " for the german wiki (don't forget the "$1" !!!).

Now you can link an article to the same in another languages. Adding Hauptseite on your english Main_Page will create a link "Deutsch" (under the Navigation bar) which leads to the Main_Page of the german wiki (Hauptseite). For further information visit Help:Interwiki linking

Upload
Make sure that folder "images" of the pool-wiki is writable.

It is usefull to change the "Upload file"-Link of the language-wikis to point to poolwiki's upload-site. Open the "LocalSettings.php" of each language-wiki and add: $wgUploadNavigationUrl = 'http://pool.yourwiki.org/index.php/Special:Upload';

Use shared files
To use poolwiki's files in the languagewikis, open "LocalSettings.php" for each languagewiki and add: $wgUseSharedUploads = true; $wgSharedUploadPath = 'http://pool.yourwiki.org/images'; $wgSharedUploadDirectory = '/(LOCALPATH)/POOL-FOLDER/images/'; $wgHashedSharedUploadDirectory = true;

Now you can integrate pool's files with (e.g.) in the languagewikis.

Image description
In each languagewiki, open (as an admin) the message MediaWiki:Sharedupload.

Change the text to something like: This file is stored in our data-pool. For information and description, please visit the

description there. ( And note the : at the beginning, if not, it would be parsed as another language (at least in 19alpha) )

If you want to output the media-description, stored in the PoolWiki, too, add to the "LocalSettings.php" of the languagewikis: $wgFetchCommonsDescriptions = true; $wgSharedUploadDBname = 'pool'; # DB-Name of PoolWiki $wgSharedUploadDBprefix = 'wiki_'; # Table name prefix for PoolWiki $wgRepositoryBaseUrl = "http://pool.yourwiki.org/index.php/Image:";

Shared ExtensionSettings.php file
If you have multiple wikis, you may be interested in sharing similar settings across them all. Here is how to do that.  require_once( "/absolute/path/to/ExtensionSettings.php" );
 * Step 2
 * Edit the LocalSettings.php file of each wiki that you want to use the shared settings, and add the following.
 * Step 3
 * Now just add all the settings that you would like to be the same across all your wikis. Here are some examples of what to include.
 * References to your various extensions
 * Your database user name and password
 * Even your database table/prefix information can be included with a special technique
 * Really, almost everything that you currently customize in your LocalSettings.php file