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.
- cd ~ /Deki_Wiki_1.8.1a_Hayes_source
- Decide where you are going to put your DocumentRoot. (I'm using /usr/local/wikis/deki-wiki-hayes-kleinfelter.com.)
- mkdir /usr/local/wikis/deki-wiki-hayes-kleinfelter.com
- cp -r web/* /usr/local/wikis/deki-wiki-hayes-kleinfelter.com
- chown -R apache /usr/local/wikis/deki-wiki-hayes-kleinfelter.com
- Edit your httpd.conf file (Mine is /usr/local/apache/conf/httpd.conf).
- Copy the entire "<VirtualHost *:80>" section for your first instance and paste it below your existing instance.
- In the newly pasted copy:
- Change ServerName to the dns name of your new instance. (e.g. wiki.kleinfelter.com)
- Change DocumentRoot to your new instance's DocumentRoot. (e.g. DocumentRoot "/usr/local/wikis/deki-wiki-hayes-kleinfelter.com")
- 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.
- 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.
- If you are simply adding another instance to a multi-instance setup, just create another 'config id=xxxx' section.
- Restart apache (e.g. service httpd restart)
- Restart dekihost (e.g. service dekihost restart)
- Open a browser to httpd://your-site-example.com/config/index.php. (Use your site's URL.)
- 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!
- cd to the config directory under your DocumentRoot (e.g. cd /usr/local/wikis/example.com/config)
- cp LocalSettings.php to your DocumentRoot (e.g. cp LocalSettings.php /usr/local/wikis/example.com/)
- 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).
- Create /etc/init.d/dekihost and /etc/init.d/dekihost2
- Create /etc/dekiwiki/mindtouch.deki.startup.xml and /etc/dekiwiki/mindtouch.deki2.startup.xml
- Do NOT change deki to deki2 in "<path>deki</path>"
- Point this to each wiki in the two flavors: <deki-path>/usr/local/wikis/deki-wiki-hayes-kleinfelter.org</deki-path>
- Update <config id="www.kleinfelter.org"> for each of your wikis
- 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>
- Point the filter paths at each wiki's code base.
- Create a file in vhosts.d for your wiki
- In the second wiki, set both proxy rows to use 8082
- /usr/local/apache/htdocs/kleinfelter-org/lbin/mindtouch.host.sh: set HTTP_PORT="8082"