Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We need to run several MediaWiki Wikis, that need totally separate user accounts, on the one server. What would be the better solution:

  1. Use separate source code and use namespaces in the database.
  2. Use the same source code along the lines of this, essentially you create a customised localsettings.php file for each site that contains the site specific info and you have a master localsettings.php file that depending on the url send you to the relevant site specific localsettings.php
  3. Symlink all of the source code except for localsettings.php and any other relevant files from a master folder.

Obviously it would be nicer to be able to use the same code for every instance, as it will make upgrades a lot easier.

For what it's worth it will be running on Ubuntu server, Apache with a sprinkling on nginx & MySQL

share|improve this question

3 Answers 3

up vote 6 down vote accepted

Use separate source code and separate databases. That way you can install extensions or custom themes in one of them without impacting others.

If you really know that you will never ever have custom extensions/themes in one but not in the other wikis, then 3. seems to be a better choice than 2, but keep in mind the upload folder (there is a setting in LocalSettings to specify the path)

share|improve this answer

Mediawiki upgrades are a doddle anyway, so I run 2 totally separate instances, including a copy of the plugins directory and a copy (not a symlink) of the LocalSettings.php file. I found years ago that trying to save a few minutes on running 2 upgrades would cost me days of getting it set up right, so I just don't bother anymore :)

2 DBs, 2 code instances. Simple. you can export and import between the two very easily then, for maybe one day when you want to merge them together.

share|improve this answer

A MediaWiki installation is nothing more than a directory tree and associated database. You can run as many parallel installations as you like. Any part of the file base that needs to be shared can be done so using symlinks. It only gets tricky if you want to share parts of the database and because that tends to be a one way road to disaster you would be well advised to stay clear of it.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.