User Tools

Site Tools


webapps:dokuwiki

This is an old revision of the document!


DokuWiki Installation

This install guide is a how-to for installing DokuWiki Ubuntu server 20.04.

Prerequisites

Packages required for DokuWiki to work:

sudo apt install php8.1 php8.1-common php8.1-cli php8.1-gd php8.1-mbstring php8.1-mysql php8.1-xml php8.1-ldap php8.1-fpm
sudo apt install nginx

DokuWiki

Download and extract DokuWiki stable to the proper directory.

wget -c https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
sudo tar -xvf "dokuwiki-stable.tgz" -C /var/www/
sudo mv /var/www/dokuwiki* /var/www/dokuwiki

Configure nginx

Need to make the configuration file for nginx to point to the correct files. Make sure to change the domain to the correct one, a generic placeholder wiki.domainname.tld is used for this example config.

sudo nano /etc/nginx/conf.d/dokuwiki.conf

Paste in the below configuration and save.

server {
    listen 80;
    listen 443 ssl;
    server_name wiki.domainname.tld;
    root /var/www/dokuwiki/;

    access_log /var/log/nginx/dokuwiki.access.log;
    error_log /var/log/nginx/dokuwiki.error.log;

    #ssl on;
    #ssl_certificate /etc/letsencrypt/live/wiki.domainname.tld/fullchain.pem;
    #ssl_certificate_key /etc/letsencrypt/live/wiki.domainname.tld/privkey.pem;
    #ssl_session_timeout 5m;
    #ssl_ciphers 'AES256+EECDH:AES256+EDH:!aNULL';
    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #ssl_prefer_server_ciphers on;

    #add_header Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:;";
    #add_header X-XSS-Protection "1; mode=block";

    index index.html index.php doku.php;

    location / {
        try_files $uri $uri/ @dokuwiki;
    }

    location @dokuwiki {
        rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
        rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
        rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
        rewrite ^/(.*) /doku.php?id=$1 last;
    }

    location ~ /(data|conf|bin|inc)/ {
        deny all;
    }

    location ~* \.(css|js|gif|jpe?g|png)$ {
        expires 1M;
        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
        deny all;
    }
}
  
  
#server { 
#    listen 80;
#    server_name wiki.domainname.tld;
#    add_header Strict-Transport-Security max-age=2592000;
#    rewrite ^ https://wiki.domainname.tld$request_uri? permanent;
#}

Here we are going to change the permissions on the web root files so that the web server can use and modify them.

sudo chown -R www-data:www-data /var/www/dokuwiki

Start nginx and php-fpm, and enable php-fpm to start at boot.

sudo systemctl start nginx php7.4-fpm
sudo systemctl enable php7.4-fpm

Configure DokuWiki

Navigate your browser to your https://wiki.domainname.tld/install.php

From there you can configure everything for the initial setup of DokuWiki.

Removing the Glow

Make userstyle.css in /conf

sudo vim /var/www/dokuwiki/conf/userstyle.css

Copy the following

.dokuwiki div.page {
	box-shadow: none;
}
.dokuwiki .pageId span {
	box-shadow: none;
}
pre {
	box-shadow: none;
}
webapps/dokuwiki.1701255669.txt.gz · Last modified: 2023/11/29 11:01 by lucid