FAQ

Page Discussion Edit History

Dokuwiki

Edit section: 0.7.x to 0.8.x 0.7.x to 0.8.x

Initial attempt as yet untested.

    upstream my_php {
       server 127.0.0.1:9000;
    }
 
    server {
        listen       80;
        server_name  your.domain.tld;
        access_log  /var/log/nginx/localhost.access.log;
        root   /var/www;
        index  index.html index.htm index.php;
 
        location / {
        }
 
        location ~ /dokuwiki/(.*) {
            try_files $uri /dokuwiki/doku.php?id=$1&$args;
        }
 
        location ~ ^/dokuwiki/_media/(.*)$ {
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root/dokuwiki/lib/exe/fetch.php;
          fastcgi_param QUERY_STRING media=$1;
          fastcgi_pass my_php;
        }
 
        location ~ ^/dokuwiki/_detail/(.*)$ {
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root/dokuwiki/lib/exe/detail.php;
          fastcgi_param QUERY_STRING media=$1;
          fastcgi_pass my_php;
        }
 
        # This one might be doable with split_path_info but this seems ok anyway
        location ~ /dokuwiki/_export/([^/]+)/(.*)$ {
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root/dokuwiki/doku.php;
          fastcgi_param QUERY_STRING do=export_$1&id=$2;
          fastcgi_pass my_php;
        }
 
        location ~ \.php$ {
            fastcgi_pass   my_php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        /etc/nginx/fastcgi_params;
        }
    }

Edit section: 0.6.x 0.6.x

This setup was originally found on Dokuwiki's docs with some slight modifications to remove things unrelated to the problem at hand. This setup assumes a debian-like setup with documents in /var/www and fastcgi running on localhost port 9000. TODO: Test new changes to be sure everything works

    upstream my_php {
       server 127.0.0.1:9000;
    }
 
    server {
        listen       80;
        server_name  your.domain.tld;
        access_log  /var/log/nginx/localhost.access.log;
        root   /var/www;
        index  index.html index.htm index.php;
 
        rewrite ^(/dokuwiki/)_media/(.*) $1lib/exe/fetch.php?media=$2 last;
        rewrite ^(/dokuwiki/)_detail/(.*) $1lib/exe/detail.php?media=$2 last;
        rewrite ^(/dokuwiki/)_export/([^/]+)/(.*) $1doku.php?do=export_$2&id=$3 last;
 
        location / {
        }
 
        location /dokuwiki/ {
            if (!-f $request_filename) {
                rewrite ^(/dokuwiki/)(.*)?(.*)  $1doku.php?id=$2&$3 last;
                rewrite ^(/dokuwiki/)$ $1doku.php last;
            }
        }
 
        location ~ \.php$ {
            fastcgi_pass   my_php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        /etc/nginx/fastcgi_params;
        }
    }