MindTouch Developer Center > MindTouch Deki > Installation and Upgrade > 1.8 Hayes Official Install and Upgrade Guide

For Official MindTouch Install and Upgrade guides click below:

MindTouch Deki Wiki VMware certified downloadDownload Now
MindTouch Deki Wiki Linux  packages and install guidesView Install Guide

  

See the Linux install guides above for official MindTouch installation guides for most popular Linux distributions FIRST before using one of the community contributed/edited install guides below.

  

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

This guide provides steps for installing Deki Wiki Hayes from source code. 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.

NOTE: many of the steps below have Debian-specific elements and paths. If you have modifications to this install guide for other distros please create a new install guide, add the modifications and name it for the distro it's intended for.

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 using apt-get (Debian)

apt-get install apache2 php5 php5-cli php5-mysql libapache2-mod-php5 php5-mcrypt \
php5-mhash php5-gd php5-curl imagemagick wv pdftohtml html2text html2ps htmldoc aspell \
links php-pear curl mysql-server-5.0

Install mono

apt-get install mono-gmcs mono-mcs libmono-sqlite2.0-cil libmono-sqlite2.0-cil

Ubuntu 7.04 Server-i386: I just found out that you will also need to install libmono-system-web2.0-cil to be able to start the dekihost script later on.

set your mysql root password (if this is the first time you've installed mysql)

mysql -e "set password=PASSWORD('your_root_password')"

install pear libraries

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 archive to your home directory:

cd ~/
tar xfvz Deki_Wiki_1.8.1a_Hayes_source.tar.gz
cd Deki_Wiki_1.8.1a_Hayes_source

Copy web files to your apache directory

mkdir /var/www/deki-hayes 
cp -r web/*  /var/www/deki-hayes 
chown -R www-data /var/www/deki-hayes 

Configure Apache

cd ~/Deki_Wiki_1.8.1a_Hayes_source

Edit the ./config/deki-apache.conf file

Change the following values according to your setup:

# below are the default value

ServerName deki-hayes
DocumentRoot "/var/www/deki-hayes"

    

# I had to change to

ServerName <<<put your server name here>>>

ServerPath /deki-hayes/
DocumentRoot "/var/www/deki-hayes"

Copy the apache config file (for example, in Debian do:)

cp config/deki-apache.conf /etc/apache2/sites-available/deki
ln -s /etc/apache2/sites-available/deki /etc/apache2/sites-enabled/001-deki

Enable the mod_rewrite module

a2enmod rewrite 

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.

Enable mod_proxy_http module

a2enmod proxy_http

Edit the mod_proxy config file (/etc/apache2/mods-available/proxy.conf on Debian) 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 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 -k restart 

Configure deki-api

Create the deki-api logfile

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

Create the mono .wapi directory (Note: the mono .wapi directory needs to exist in the home directory for your apache user.  In debian the www-data user's home dir is: /var/www/  but this location may be different for different linux distros.)

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

Edit the 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=/var/www/deki-hayes

# this should match your Apache ServerName directive
DEKI_SERVERNAME=deki-hayes

Copy the init script

cp config/dekihost /etc/init.d/

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

update-rc.d dekihost defaults

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:

* if you get "no default auth service" make sure your proxy settings are correct and that your firewall isn't blocking port 8081.

* if your database name has an underscore, you have get an "execute command denied" error. If so, create a new database user, grant them the right perms (CRUD), and set them as the database user in LocalSettings.php

* 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/

Upgrade Guide from Gooseberry to Hayes:

Steps to update Deki Wiki Gooseberry to Hayes.  NOTE: many of the steps below have Debian-specific characteristics.

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 using apt-get (Debian)

apt-get install apache2 php5 php5-cli php5-mysql libapache2-mod-php5 php5-mcrypt php5-mhash  \
php5-gd php5-curl imagemagick wv pdftohtml html2text htmldoc html2ps aspell links php-pear  \
curl mysql-server-5.0

Install mono

apt-get install mono-gmcs mono-mcs libmono-sqlite2.0-cil libmono-sqlite2.0-cil

install pear libraries

pear install XML_RPC Cache_Lite

Perform a Full Backup

First backup your mysql database:

mysqldump -u your_username -pyour_password your_wikidb  > wikidb-backup.sql

Next backup your attached files

cd /var/www/mks-wiki
tar cvzf ~/attachments-backup.tar.gz attachments

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 archive to your home directory:

cd ~/
tar xfvz Deki_Wiki_1.8.1a_Hayes_source.tar.gz 
cd ~/Deki_Wiki_1.8.1a_Hayes_source

Copy web files to your apache directory

mkdir /var/www/deki-hayes 
cp -r web/*  /var/www/deki-hayes 
chown -R www-data /var/www/deki-hayes 

Setup a New Wiki Database

Create a new database for your wiki (ex: wikidb_hayes)

mysql -u root -pyour_password -e "create database wikidb_hayes"

Populate the database with your old data

mysql -u root -pyour_password wikidb_hayes < wikidb-backup.sql

Restore Attachments

tar xfvz ~/attachments.tar.gz  -C /var/www/deki-hayes/
chown -R www-data /var/www/deki-hayes/attachments 

Configure Apache

cd ~/Deki_Wiki_1.8.1a_Hayes_source

Edit the ./config/deki-apache.conf file

Change the following values according to your setup:

ServerName deki-hayes
DocumentRoot "/var/www/deki-hayes"

Copy the apache config file (for example, in Debian do:)

cp config/deki-apache.conf /etc/apache2/sites-available/deki
ln -s /etc/apache2/sites-available/deki /etc/apache2/sites-enabled/001-deki

Enable the mod_rewrite module

a2enmod rewrite 

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.

Enable mod_proxy_http module

a2enmod proxy_http

Edit the mod_proxy config file (/etc/apache2/mods-available/proxy.conf on Debian) 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 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 /var/log/deki-api.log

Create the mono .wapi directory (Note: the mono .wapi directory needs to exist in the home directory for your apache user.  In debian the www-data user's home dir is: /var/www/  but this location may be different for different linux distros.)

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

Edit the 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=/var/www/deki-hayes

# this should match your Apache ServerName directive
DEKI_SERVERNAME=deki-hayes

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".  The installer will detect that your database has the Deki Wiki Gooseberry schema and will apply the appropriate schema changes automatically.

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

Verification

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

http://deki-hayes/

Update from Hayes 1.8.1x to 1.8.1.d:

Upgrading from the x to d release is simply a matter of updating the PHP and Dekihost bits, and then running the database update scripts:
 

Code:
cd /var/www/deki-hayes/maintenance/;
php update-db.php
this is the standard upgrade procedure - the complexity of upgrading from gooseberry to hayes upgrade was an anomaly.

    

    

Tag page
Viewing 13 of 13 comments: view all
Just a quick comment for Ubuntu Feisty Users

You have to change the link to default shell to bash instead of dash to be able to run the dekihost script.

sudo ln -sf /bin/bash /bin/sh
Posted 21:24, 24 Jul 2007
Thanks vdaron! That was driving me crazy. I also had to install the pear libraries, too (pear install XML_RPC Cache_Lite). It's listed on this page in the Upgrade section, but not the Install section. Although, maybe it was installed by default on Debian?
In any case, I basically cut/pasted all the lines on this page into a generic Ubuntu install. It all went fine except for the two aforementioned errors, but I still can't get in (the web page install worked fine, too). I get this when trying to go to the new site:

Index of /
Name Last modified Size Description

--------------------------------------------------------------------------------

apache2-default/ 20-Nov-2004 12:16 -
deki/ 24-Jul-2007 14:42 -

--------------------------------------------------------------------------------

When I click on deki, it flashes, then doesn't go anywhere. Any thoughts?

EDIT: BTW, the "Then follow this link to your wiki." link points to http://192.168.0.164/deki/index.php, but when I click it, I go to http://192.168.0.164/ . Is maybe Apache not allowing me access to the directory?

Edit2: Also, I saw this in the apache error.log:
[Tue Jul 24 18:13:39 2007] [error] [client 192.168.0.177] File does not exist: /var/www/@api

Clues? edited 01:17, 25 Jul 2007
Posted 23:33, 24 Jul 2007
natebsi - deki will not run as a sub-directory of a domain. It needs to either run in it's own VirtualHost, or be the default website on your Apache2 server.


I'll get the dekihost script fixed in the next release. I guess this is like the 3rd time I've missed that fix :( dumb dumb dumb edited 17:55, 25 Jul 2007
Posted 17:27, 25 Jul 2007
Thanks for the reply petee! Can you give me a hint as to where I would change deki so its not a subdomain?

Ok, I almost have it. To make deki the default website, do (as root) ' a2dissite default' to disable the default and then do 'a2ensite deki' to make deki the default website.

Edit: I redid the install and everything works great now! I must have skipped a step or did something out of order.

One last thing, there is a step to chmod on /usr/local/var for lucerne, but that directory does not exist by default for either unbuntu or debian. I'm guessing this is because that package is not install. I haven't got to fixing that part yet. But deki comes up just fine now! :)

-Nate edited 19:30, 25 Jul 2007
Posted 18:47, 25 Jul 2007
Having some trouble with my installation. I followed the above directions exactly on a Debian Etch server, and while the installation completed successfully, I'm getting the following error message when I try to access any page:

* Your site settings could not be loaded - this could affect your wiki's operations. Please check to ensure that Dekihost is running.
* This page's contents could not be loaded.

At the top of the page, I'm getting a "500 Error," the details of which are:

--------------------------

Request URI: http://206.71.179.94/@api/deki/pages/29/files?dream.out.format=php&dream.in.host=206.71.179.94&dream.in.origin=68.0.227.153
Server response
Array
(
[error] => Array
(
[message] => site deki has failed to initialize or did not start up properly: Initialization exception: Exception of type MindTouch.Dream.DreamResponseException was thrown.
[status] => 500
[title] => Internal Error
[uri] => http://206.71.179.94/@api/deki/pages/29/files?dream.out.format=php&dream.in.host=206.71.179.94&dream.in.origin=68.0.227.153
)

)

---------------------------

I'm assuming this is the deki-api failure you cover in the troubleshooting section -- but restarting the Deki-Api has no effect for me.

The deki-api error log shows a the same error I quote above when I try to access the wiki, and a long "Invalid Operation Exception" when I attempt to restart dekihost.

Any thoughts? edited 18:26, 26 Jul 2007
Posted 18:23, 26 Jul 2007
Tom - can you make sure you did:

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

The install guide left out the "mkdir" command so if that directory didn't exist the lucene index probably didn't get created properly. Also, you might want to join our forums (http://forums.opengarden.org) since it's been answered there as well.

Thanks!
pete
Posted 21:10, 26 Jul 2007
That did it!

Thanks for the great support Pete.
Posted 22:12, 26 Jul 2007
Hey guys. You might want to take a few words of wisdom from your Gooseberry++ release Install guide and talk about the PHP upload limitation and memory size. I did an install of Hayes and the PHP5 config file has a max upload size of 2meg... :(

Keep up the good work this wiki will conquer all !!
Posted 12:26, 6 Aug 2007
@Comment#8: The file upload is done through the API now. It doesn't hit PHP. The only limitation on file uploads is that images exceeding 2MB will not be thumbed by imagemagick. You can adjust this setting in the config table to up the max image size if you like. edited 18:12, 16 Aug 2007
Posted 18:12, 16 Aug 2007
I've just installed on Ubuntu 7.04 and when I open http://localhost/deki-hayes/config/index.php I get the message at the bottom of "Checking environment..."

FATAL: curl is not enabled. curl is required to connect to deki-api. Aborting...

Curl was installed in the initial apt-get command.

I'm reporting this on the assumption that any mistake I make may be made by other inexperienced linux users. I've run the VM version on Vista and it looks good but I would prefer to run Deki on an old PC with Ubuntu.
Posted 08:57, 1 Sep 2007
With a link to this thread:
http://forums.opengarden.org/showpost.php?p=5450&postcount=4

MySQL Version necessary may changed to >=5.0.45 edited 13:11, 30 Oct 2007
Posted 13:09, 30 Oct 2007
I try to install DekiWiki on a Cpanel Linux box, and found it is very diffuclt to install, after I got "Checking environment..." all green, no warning at all, then, there are no any further links to let me go next, what should I do now ?

Also, this page seems only suite if u got a clean linux box, but if u are not, what should u do ?
Posted 02:30, 9 Nov 2007
Hi, I tried to upgrade from 1.7Gooseberry to 1.8.3c
I did all you sad, but there is a error:

Site settings could not be loaded

Your site settings could not be loaded. This is most likely the result of misconfiguration of your API (or your API's location).

HTTP Response Status Code

edited 20:48, 27 Feb 2008
Posted 20:37, 27 Feb 2008
Viewing 13 of 13 comments: view all
You must login to post a comment.
Powered by MindTouch Deki v.8.08