Here’s a better method (better than my first method) for running a multiple wiki dekiwiki farm.  My first instance was wiki.kleinfelter.org (with DocumentRoot /usr/local/wikis/deki-wiki-hayes-kleinfelter.org) and my second will be wiki.kleinfelter.com (with DocumentRoot /usr/local/wikis/deki-wiki-hayes-kleinfelter.com).



My wikis run on the same physical host, but with different domain names.  Here’s how I created my second instance.



Before you start this procedure, you must have at least one instance of the "Hayes" release of Dekiwiki running on your Unix/Linux server.



  1. cd ~ /Deki_Wiki_1.8.1a_Hayes_source
    1. Decide where you are going to put your DocumentRoot.  (I'm using /usr/local/wikis/deki-wiki-hayes-kleinfelter.com.) 
    2. mkdir /usr/local/wikis/deki-wiki-hayes-kleinfelter.com
    3. cp -r web/*  /usr/local/wikis/deki-wiki-hayes-kleinfelter.com
    4. chown -R apache /usr/local/wikis/deki-wiki-hayes-kleinfelter.com
  2. Edit your httpd.conf file (Mine is /usr/local/apache/conf/httpd.conf).
    1. Copy the entire "<VirtualHost *:80>" section for your first instance and paste it below your existing instance.
    2. In the newly pasted copy:
      1. Change ServerName to the dns name of your new instance.  (e.g. wiki.kleinfelter.com) 
      2. Change DocumentRoot to your new instance's DocumentRoot. (e.g. DocumentRoot "/usr/local/wikis/deki-wiki-hayes-kleinfelter.com")
  3. edit /etc/init.d/dekihost.  What you do here will be different, depending on whether you are starting with the dekihost file provided with dekiwiki, or you already have a multi-instance deki wiki running.
    1. If you are going from one wiki to two wikis, you'll want a dekihost file that looks something like this one.  Note that your apikey must match your dekihost's apikey.
    2. If you are simply adding another instance to a multi-instance setup, just create another 'config id=xxxx' section.
  4. Restart apache (e.g. service httpd restart)
  5. Restart dekihost (e.g. service dekihost restart)
  6. Open a browser to httpd://your-site-example.com/config/index.php.  (Use your site's URL.) 
  7. Fill in the blanks and submit the form.  Be sure to use a different Site Name, Database Name, and DB username than your other instances!
  8. cd to the config directory under your DocumentRoot (e.g. cd /usr/local/wikis/example.com/config)
  9. cp LocalSettings.php to your DocumentRoot (e.g. cp LocalSettings.php /usr/local/wikis/example.com/) 
  10. cp AdminSettings.php to your DocumentRoot (e.g. cp AdminSettings.php /usr/local/wikis/example.com/) 

UPDATE: Well shoot!  That didn’t work so well. The problem is that the code is still immature, and I decided that I really need complete independence of my two Deki wikis.  This will let me upgrade them independently.  I also ran into trouble with lucene when I re-indexed both wikis at the same time (Find/Search started giving error messages).

  1. Create /etc/init.d/dekihost and /etc/init.d/dekihost2
  2. Create /etc/dekiwiki/mindtouch.deki.startup.xml and /etc/dekiwiki/mindtouch.deki2.startup.xml
    1. Do NOT change deki to deki2 in "<path>deki</path>"
    2. Point this to each wiki in the two flavors: <deki-path>/usr/local/wikis/deki-wiki-hayes-kleinfelter.org</deki-path>
    3. Update  <config id="www.kleinfelter.org">  for each of your wikis
    4. Ensure that the following is unique per wiki  <path.store>/usr/local/var/luceneindex</path.store> and  <path.store>/usr/local/var/luceneindex2</path.store>
    5. Point the filter paths at each wiki's code base.
  3. Create a file in vhosts.d for your wiki
    1. In the second wiki, set both proxy rows to use 8082
  4. /usr/local/apache/htdocs/kleinfelter-org/lbin/mindtouch.host.sh:  set HTTP_PORT="8082"