128 lines
3.0 KiB
ReStructuredText
128 lines
3.0 KiB
ReStructuredText
|
Dokuwiki
|
|||
|
========
|
|||
|
|
|||
|
|image0|
|
|||
|
|
|||
|
Presentation
|
|||
|
------------
|
|||
|
|
|||
|
`DokuWiki <http://www.dokuwiki.org/>`__ 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.
|
|||
|
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
LemonLDAP::NG wiki uses Dokuwiki!
|
|||
|
|
|||
|
HTTP headers
|
|||
|
------------
|
|||
|
|
|||
|
You need to install a Dokuwiki plugin, available on `Dokuwiki plugins
|
|||
|
registry <https://www.dokuwiki.org/plugins>`__:
|
|||
|
https://www.dokuwiki.org/plugin:authlemonldap
|
|||
|
|
|||
|
Plugin installation
|
|||
|
~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
Install the plugin using the `Plugin
|
|||
|
Manager <https://www.dokuwiki.org/plugin:plugin>`__.
|
|||
|
|
|||
|
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:: apache
|
|||
|
|
|||
|
<VirtualHost *:80>
|
|||
|
ServerName dokuwiki.example.com
|
|||
|
|
|||
|
PerlHeaderParserHandler Lemonldap::NG::Handler
|
|||
|
|
|||
|
...
|
|||
|
|
|||
|
</VirtualHost>
|
|||
|
|
|||
|
- For Nginx:
|
|||
|
|
|||
|
.. code:: 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 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;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
Dokuwiki virtual host in Manager
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
Go to the Manager and :doc:`create a new virtual host<../configvhost>`
|
|||
|
for Dokuwiki.
|
|||
|
|
|||
|
Configure the :doc:`access rules<../writingrulesand_headers>`.
|
|||
|
|
|||
|
Configure the :doc:`headers<../writingrulesand_headers>`:
|
|||
|
|
|||
|
- Auth-User $uid
|
|||
|
- Auth-Cn: $cn
|
|||
|
- Auth-Mail: $mail
|
|||
|
- Auth-Groups: encode_base64($groups,"")
|
|||
|
|
|||
|
|
|||
|
.. important::
|
|||
|
|
|||
|
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
|
|||
|
|