%audience% administrators (intermediate) A [[WikiFarm(s)]] is a collection of two or more wikis running on the same web server and sharing a set of common components. The term is based on the computing phrase "server farm". This page provides some background information about WikiFarms and describes how to turn a "normal" configuration into a farm by adding a wiki. There are many ways to configure wiki farms; this page describes only one, in an effort make it as simple as possible for the administrator who is creating a farm for the first time. !!Why use a farm? The primary motivation for using a wiki farm is to reduce the amount of administrative work involved in managing several wikis. In a farm, most of the PmWiki code is stored in one place and is shared by all the wikis. An administrator can (for example) upgrade to a new version of PmWiki on every wiki in the farm by simply updating the shared components in a single location. From a reader's point of view, each wiki in a farm is completely independent, and appears as a separate web site. Each wiki in a farm: *has its own URL, and the URLs can be in different domains *can have its own look and feel by using different skins *can have its own add-ons or "recipes" from the [[(Cookbook:)Cookbook(Basics)]] *can have its own administrator responsible for local configuration !!Why not to use a farm Because the wikis in a farm are all independent, it is difficult (but not impossible) to provide services that require access to more than one wiki. For example, the PmWiki search function can only search within one wiki. Using a farm as a way of subdividing related content is generally a bad idea. A much better way to subdivide content is to use [[(PmWiki:)WikiGroups]]. !!I still can't decide if I need a farm ... The good news is that you don't have to decide in advance. In fact, the recommended procedure is to first do a "normal" or single [[installation]] of PmWiki. Use it for a while. Create pages and edit them. Get to know how to add recipes. Be sure to try out [[WikiGroups]] (they may be all you need). Once you have decided that you need another wiki, you have two basic choices: #Do a complete [[installation]] of PmWiki in a new directory. This gives you two totally independent wikis that are completely self-contained. This is '''not''' a wiki farm. #Create a wiki farm using your existing wiki as the "home wiki" where most of the shared PmWiki components will live. Choice number 1 can be a good choice for several reasons: *it is not a wiki farm, and requires no additional administrative knowledge - it's just two installations *if you decide to move one of the wikis to another server, you can simply copy the wiki directory structure to the second server, and it will work (assuming there is a web server and PHP in place). *you can run different versions of PmWiki on each wiki (good for testing new versions) *no matter how badly you mess up one installation, it doesn't affect the other If you choose to create a wiki farm, then read on ... !!Prerequisites Before you create a farm, make sure that: *you have a working installation of PmWiki ready to become the home wiki for your farm *all of the wikis in your farm will be on the same web server *each wiki will have a unique URL, such as http://www.example.com/wiki1/, http://www.example.com/wiki2/, http://another.example.com/wiki1/ and so on. !!Creating the home wiki You do have a working installation of PmWiki at this point, don't you? That's good, because your existing wiki is about to become the home wiki of your farm. In the directory that contains your existing wiki, create the file ''local/farmconfig.php''. This file is used to hold any [[local customizations]] that apply across the whole farm. For example, you could assign an admin password in ''farmconfig.php'' that will be used by all of the wikis in your farm. If the URL used to access your existing wiki is http://www.example.com/pmwiki/ then a minimal ''farmconfig.php'' file would look like this: [@>