Disclaimer: This page is intended for a linux-savvy (geeky) audience.  ;)

This guide provides steps for installing Deki Wiki Hayes from source code on Ubuntu 7.10 (Gutsy).  Keep in mind you can install Deki Wiki in minutes if you install using the VMware certified Deki Wiki.This is a great way to deploy, but it's also a great way to bang on Deki Wiki to see if it's a good fit for you.

Fresh Install:

Prerequisites

  • Apache 2.x
  • MySQL 5.0.X -NOTE: Deki Wiki Hayes uses stored procedures and is therefore incompatible with MySQL 4.x
  • PHP 5.X - NOTE: Deki Wiki Hayes uses the PHP5 object model and is therefore incompatible with PHP4
  • Mono 1.2.X

Install the prerequisites, including mono, using apt-get.  Just cut-n-paste to install:

NOTE: This is a complete list of prerequisites and their dependencies.  Ubuntu 7.10 (actually all versions of Ubuntu) resolve dependencies for you and this list could be cut down by over 4/5...  I have listed them all here for completeness.

apt-get install apache2 apache2-mpm-prefork apache2-utils apache2.2-common libaprutil1 libpq5 \ 
libapache2-mod-php5 php5-common libmysqlclient15off mysql-common php5-mysql php5-curl \ 
html2ps libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl \ 
libpaper-utils libpaper1 liburi-perl libwww-perl perlmagick libgd2-xpm libt1-5 php5-gd curl \
libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl mysql-client-5.0 mysql-server \
mysql-server-5.0 

apt-get install libmono-corlib1.0-cil libmono-corlib2.0-cil libmono-data-tds2.0-cil libmono-security2.0-cil
  libmono-sharpzip2.84-cil libmono-system-data2.0-cil libmono-system-web2.0-cil libmono-system2.0-cil libmono0
  libmono2.0-cil mono-gac mono-runtime

NOTE:  If you are using these instructions to install Deki Wiki 1.9.0 on an Ubuntu 8.04 system or if you have upgraded your Ubuntu 7.10 system to Ubuntu 8.04 then you will need to add the following library:

apt-get install libmono-i18n2.0-cil

Install ImageMagick:

apt-get install imagemagick

Install pear libraries:

apt-get install php-pear

pear install XML_RPC Cache_Lite

Download Hayes Bits

Download Hayes build from one of the following sources.

* RECOMMENDED: http://sourceforge.net/projects/dekiwiki (tarballs)
* http://wiki.opengarden.org/Source_Code (includes SVN enlistment info)

Extract the Source archive to a directory, refered to here as the [DEKI_SOURCE] directory:

tar xfvz Deki_Wiki_1.8.XX_Hayes_source.tar.gz

Copy web files to your apache "Document Root".  I am running Deki Wiki out of /opt in its own Apache "Document Root".  You may place it anywhere you like, just replace /opt/deki-hayes in these instructions with your "Document Root"

mkdir /opt/deki-hayes 
cp -r [DEKI_SOURCE]/web/*  /opt/deki-hayes 
chown -R www-data:www-data /opt/deki-hayes 

Configure Apache

cp [DEKI_SOURCE]/config/deki-apache.conf /etc/apache2/sites-available/deki-hayes
vi /etc/apache2/sites-available/deki-hayes 

Change the following values according to your setup.  The ServerName directive must be your FQDN (using deki.example.org in this documentation):
NOTE: The following instructions reflect a configuration when no other apache websites are configured or needed.  It is beyond the scope of this documentation to configure DekiWiki with other sites.

ServerName deki.example.org
DocumentRoot "/opt/deki-hayes"

Create a soft-link (symbolic link) from sites-available to sites-enabled in the /etc/apache2 directory:

NOTE: The "rm 000-default" command disables the default apache website (see above), which would prevent loading the wiki (Site settings error 500).

cd /etc/apache2/sites-enabled
rm 000-default
ln -s /etc/apache2/sites-available/deki-hayes /etc/apache2/sites-enabled/000-deki-hayes

Enable the mod_rewrite module

a2enmod rewrite

Enable mod_proxy_http module

a2enmod proxy_http 

Configure Apache for deki-api

The deki-api is a .NET application which runs under the mono runtime.  deki-api runs as a standalone mono application which uses MindTouch Dream's built-in webserver.  mod_proxy proxy is used to proxy requests from apache to deki-api.


NOTE: BE VERY CAREFUL with proxies.  If left open, your server will become useless as millions of internet users will soon be proxing and sending spam though your connection.

Edit the mod_proxy config file (/etc/apache2/mods-available/proxy.conf) and make sure you have the following:

<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Deny from all
    Allow from all
</Proxy>

Edit your deki apache config file /etc/apache2/sites-available/deki-hayes and make sure the following lines are uncommented

# mod_proxy rules
ProxyPass /@api http://localhost:8081 retry=1
ProxyPassReverse /@api http://localhost:8081
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1 

Restart apache to enable the module and apply the new settings

/etc/init.d/apache2 restart 

Configure deki-api

Create the deki-api logfile

touch /var/log/deki-api.log
chown www-data:www-data /var/log/deki-api.log

Create the mono .wapi directory (this annoys me as I want to put it in /opt/deki-hayes but can't figure out how):

mkdir /var/www/.wapi
chown www-data:www-data /var/www/.wapi

Edit the [DEKI_SOURCE]/config/dekihost init script. This script can be used to test the status of deki-api or start/stop the mindtouch.host.sh (deki-api) process.  Change the following values to match your configuration:

# path to your wiki
DEKI_PATH=/opt/deki-hayes

# this should match your Apache ServerName directive
DEKI_SERVERNAME=deki.example.com

Copy the init script

cp config/dekihost /etc/init.d/

Create a symlink to the dekihost init script in the appropriate runlevel

ln -s /etc/init.d/dekihost /etc/rc2.d/S92dekihost 

Setup Lucene Index

mkdir /usr/local/var/
chown www-data /usr/local/var 

Install using the web-installer

Launch a browser and go to the installer:

http://deki-hayes/config/index.php

Fill in the required information and click "Install Deki Wiki"

Complete the installation by running the additional commands as instructed by the installer.

Troubleshooting

If deki-api failed to load try the following:

* make sure the mono process is running

ps ax|grep mindtouch.host

You should see a process like:

www-data  3401  0.5 15.9  67292 40892 pts/0    Sl   19:25   0:03 mono \ 
/var/www/deki-hayes/bin/mindtouch.host.exe apikey 92669 script \ 
/etc/dekiwiki/mindtouch.deki.startup.xml \ 
server-name http://deki-hayes path-prefix @api http-port 8081 ip localhost notty

If you don't see the process above, check the dekiapi error logs (/var/www/deki-hayes/bin/logs/trace.log) for more details

You can restart the deki-api process by:

/etc/init.d/dekihost restart

Verification

Verify your new Deki Wiki Hayes installation by launching a browser and going to the following URI:

http://deki-hayes/
Tag page
Viewing 4 of 4 comments: view all
lathouwersj, awesome job on this install guide. I followed it to a trouble-free install on kubuntu 7.10

Thanks!
Posted 17:47, 29 Oct 2007
Yes, thank you indeed. I used this guide and the other Ubuntu one to make an install log when I installed on a Linode. For reference:

http://cogley.wik.is/Knowledgebase/Deki_Wiki/Installing_Deki_Wiki_on_VPS_from_Linode_Running_Ubuntu_7.10
Posted 21:37, 26 Nov 2007
Just finished the install on Xubuntu 7.10 (Gutsy). Worked like a charm! Thank you!
Posted 04:26, 20 Jan 2008
Great guide! I installed on Ubuntu Server Edition JeOS. Only thing missing was ps2pdf:
apt-get install ghostscript
Posted 16:28, 31 Jan 2008
Viewing 4 of 4 comments: view all
You must login to post a comment.
Powered by MindTouch Deki v.8.08.1a