Dokuwiki ======== |image0| Presentation ------------ `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. HTTP headers ------------ You need to install a Dokuwiki plugin, available on `Dokuwiki plugins registry `__: https://www.dokuwiki.org/plugin:authlemonldap Plugin installation ~~~~~~~~~~~~~~~~~~~ Install the plugin using the `Plugin Manager `__. Dokuwiki configuration ~~~~~~~~~~~~~~~~~~~~~~ As administrator, go in Dokuwiki parameters and set: - Authentication backend: authlemonldap - Manager: set which users and/or groups will be admin |image1| Dokuwiki virtual host ~~~~~~~~~~~~~~~~~~~~~ Configure Dokuwiki virtual host like other :doc:`protected virtual host<../configvhost>`. - For Apache: .. code-block:: apache ServerName dokuwiki.example.com PerlHeaderParserHandler Lemonldap::NG::Handler ... - For Nginx: .. code-block:: nginx 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 data fastcgi_pass_request_body off; fastcgi_param CONTENT_LENGTH ""; # Keep original hostname fastcgi_param HOST $http_host; # Keep original request (LL::NG server will receive /lmauth) fastcgi_param X_ORIGINAL_URI $original_uri; } # Client requests location / { auth_request /lmauth; set $original_uri $uri$is_args$args; 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; } } Dokuwiki virtual host in Manager ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Go to the Manager and :doc:`create a new virtual host<../configvhost>` for Dokuwiki. Configure the :ref:`access rules`. Configure the :ref:`headers`: - Auth-User $uid - Auth-Cn: $cn - Auth-Mail: $mail - Auth-Groups: encode_base64($groups,"") .. attention:: To allow execution of encode_base64() method, you must deactivate the :doc:`Safe jail<../safejail>`. .. |image0| image:: /applications/dokuwiki_logo.png :class: align-center .. |image1| image:: /applications/screenshot_dokuwiki_configuration.png :class: align-center