Skip navigation

Deki Wiki is cool but Apache is really too bloated.

Here’s how to get it working on Nginx Ubuntu.

Follow the instructions for the source installation. Do not apt-get apache and apache associated libraries. Source installation.

I presume you already have mysql and php installed.

apt-get install imagemagick wv pdftohtml html2text html2ps htmldoc aspell links mono-gmcs mono-mcs libmono-sqlite2.0-cil libmono-sqlite2.0-cil libmono-system-web2.0-cil

Note the above may not be all you need. The complete package list is at Source installation.

Make sure pear is installed…. aptitude install php-pear

There are problems with /skins/ace/neutral/css.php files etc. Sometimes they these files can’t find the includes files so you may have to edit these and put the full path for these includes.

After the full install you may have to also aptitude install libmono-i18n2.0-cil otherwise you might get some 500 errors with mysql.

If you get an error with @api you may have to change the /etc/dekiwiki/

# hostname to listen on

Note I also had to:

cp source_folder/config/dekiwiki-init.debian /etc/init.d/dekiwiki && chmod +x /etc/init.d/dekiwiki

mkdir /var/www/.wapi

server {
listen 80;
access_log /usr/local/nginx/logs/campaign.access.log;

location ~* ^.+\.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$
root /home/mookiesplace/dekiwiki;
expires 10d;
error_page 404 /index.php?title=$uri;

location / {
root /home/jollymarketing/campaignwiki;
index index.php;

rewrite ^/$ /index.php?title= last;
rewrite ^/@gui/(.*)$ /proxy.php?path=$1 last;

if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?title=$1 last;

location /@api {

location ~ \.php$ {
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/mookiesplace/dekiwiki$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
error_page 500 502 503 504 /50x.html;

location = /50x.html {
root /var/www/nginx-default;



  1. Excellent writeup! Glad you’re using MindTouch Deki. It looks like you have a good handle on the way it runs on Ubuntu and with Nginx… have you considered posting this guide at The user community there would certainly appreciate it and would benefit from your knowledge!

  2. filesystem.tree:

    location /@api/ {
    proxy_pass http://localhost:8081/;
    proxy_redirect off;
    proxy_set_header X-Forwarded-Host $host;

  3. thanks for that

  4. I followed your example and it everything works except the formatting is skewampy. Is that what you meant by having to edit the /skins/ace/neutral/css.php files? And what files do you edit to add the path?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: