Summary: Step by step instructions on how to set up PmWiki as a WikiFarm on a UNIX platform using a symlink approach
Maintainer: Julian I. Kamil


Can you give me a step by step instruction on how to set up PmWiki as a WikiFarm on a UNIX platform using a symlink approach?


Note that this procedure (below) creates a WikiFarm with a very different configuration than the usual one. Unless you understand what is going on here and have specific reason to do it in this manner you are probably better off following the much simpler instructions over at WikiFarms. Peter Bowers June 03, 2015, at 01:35 AM

On a UNIX platform, follow these steps:

  • Install the latest version of PmWiki:
 tar xvfz pmwiki-latest.tgz
 chmod 2777 pmwiki-latest      # point browser to home page, and then...
 chmod 755 pmwiki-latest
 ln -sf pmwiki.php index.php
  • Create TOP_DIR/pmwiki-latest/local/farmconfig.php with the following contents:
 $FarmPubDirUrl = 'http://hostname/wiki/pub';
 $WikiTitle = 'My Farm';
  • Create field contents:
 cd pmwiki-latest
 mkdir fields
 cd fields
 mkdir field.template
 cd field.template/
 ln -sf ../../cookbook .
 ln -sf ../../scripts .
 mkdir local
 mkdir wiki.d
 mkdir uploads
 chmod g+ws uploads wiki.d
 chown apache:root uploads wiki.d
  • Create fields/field.template/field.php with the following contents:
  • Create fields/field.template/local/config.php with the following contents:
 $WikiTitle = 'My Field';
  • Create the index link to field.php:
 ln -sf field.php index.php
  • You can now point your browser to your new field in your new WikiFarm and set up additional fields using the new field as a template by executing:
 cp -frp field.template newfield

See Also

  • WikiFarmAlternative provides methods for sharing PmWiki amongst co-located sites and safeguards the wiki.d directory.


Other Contributions

  • SimpleSkin? - A very simple but good-looking skin for PmWiki
  • Multilink - A plugin that adds the ability to support multilinks
  • ToDo - A plugin to manage to do lists
  • Site Information - A plugin that enables the viewing of site information on a Wiki page

Comments and Feedback

  • Please place your comments and feedback as bullet items in this section.
  • but... i'm on hosting server and do not have root access to the server.
  • Question: Why is it recommended to use "field.php" (which contains the include to point to pmwiki.php) and then create a symlink to point index.php to field.php?? Is that not an unecessary step? Why not just called the file containing the include index.php (instead of field.php) and be done with it? I can't see a reason for using a symlink when it could be done directly, but maybe I'm missing something? -- ~Peter M.
    • Answer: Peter, out of habit, I reserved index.php to be a symbolic link that can be changed quickly to point to something else. If you have no need for this, it would be just fine to simply call field.php index.php like you suggested. -- Julian I. Kamil
  • Question: I don't know what kind of console interface language you are using and for what system. Being a windoze user this is all alien to me. Perhaps you can clarify at the top to what audience you are talking? A step-by-step guide for an ordinary windows user would be useful. - HansB
    • Answer: Point taken. I've added additional info that this is for a UNIX platform installation. Give me a little bit of time, and I'll add the Windows version... -- Julian I. Kamil
  • Question: A step-by-installation guide should be directed at beginners as well while this guide is mainly written for geeks who know who command-line language works.
    • Answer: Not to troll, but setting up a wiki farm isn't exactly an activity undertaken by beginners. I see this as a guide used by experienced admins, who may or may not be experts with PmWiki.
  • Question: Same question as HansB. I use a Unix server, but do not have any access to a command line (Since I use a shared hosting). Only ftp. There are many commands that cannot be reproduced using ftp : "ln", "chmod" and "chown". Olivier
  • Comment: You may be able to use cgitelnet.cgi to gain access to the command line on a provider's machine provided you can run CGI programs. Chances are you will be running in a sandbox with a few commands available. Those listed will probably work. Make sure to change the default password in the CGI file before uploading it. It's only the one file you need to upload to your site's cgi-bin directory.
  • Comment: What is created here is quite different from the WikiFarm which pmwiki users will be used to. It would be good to have a clear explanation of WHY this configuration should or should not be used rather than just presenting it as a "Step by Step Wiki Farm". Peter Bowers June 03, 2015, at 01:35 AM
    • In the end, what is the advantage to all the symlinks and manually creating all those directories and manually fixing all the perms as opposed to just letting PmWiki do it?
    • I don't see any advantage at all to this method as compared to the WikiFarm configuration. That method seems simpler to do, simpler to administer, simpler to upgrade, and no loss of security. When I look at WikiFarmAlternative I see at least some comments re improvements in security, but here I don't see any advantages. I suggest to either clarify/document the advantages or mark it as obsolete...

Category: WikiFarms