DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. It is targeted at developer teams, workgroups and small companies. It has a simple but powerful syntax which makes sure the data files remain readable outside the Wiki and eases the creation of structured texts. All data is stored in plain text files – no database is required.
You will need to install a Dokuwiki plugin, available on download page. The plugin will check the REMOTE_USER
environment variable to get the connected user.
Download the plugin and copy the files in dokuwiki inc/auth/
directory:
cp lemonldap.class.php inc/auth/ cp lemonldapuserdatabackend.class.php inc/auth/
Edit Dokuwiki local configuration (conf/local.php
) and set lemonldap
as authentication type:
$conf[authtype] = lemonldap;
Configure Dokuwiki virtual host like other protected virtual host.
<VirtualHost *:80> ServerName dokuwiki.example.com PerlHeaderParserHandler Lemonldap::NG::Handler ... </VirtualHost>
server { listen 80; server_name dokuwiki.example.com; root /path/to/application; # Internal authentication request location = /lmauth { internal; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock; # Drop post datas fastcgi_pass_request_body off; fastcgi_param CONTENT_LENGTH ""; # Keep original hostname fastcgi_param HOST $http_host; # Keep original request (LLNG server will received /llauth) fastcgi_param X_ORIGINAL_URI $request_uri; } # Client requests location / { auth_request /lmauth; auth_request_set $lmremote_user $upstream_http_lm_remote_user; auth_request_set $lmlocation $upstream_http_location; error_page 401 $lmlocation; try_files $uri $uri/ =404; ... include /etc/lemonldap-ng/nginx-lua-headers.conf; } location / { try_files $uri $uri/ =404; } }
Go to the Manager and create a new virtual host for Dokuwiki.
Just configure the access rules.
If using LL::NG as reverse proxy, configure the Auth-User
header, else no headers are needed.