DokuWiki est un wiki simple et standard principalement destiné à la création de documents de toute nature. Il est destiné aux équipes de développeurs, groupes de travail ou petites entreprises. Il dispose d'une syntaxe simple mais puissante qui fait que les fichiers de données restent lisibles en dehors du Wiki, et facilite la création de textes structurés. Toutes les données sont stockées dans des fichiers texte, aucune base de données n'est nécessaire.
Il faut installer le plugin Dokuwiki disponible sur la page de téléchargement. Ce plugin utilise la variable d'environnement REMOTE_USER pour récupérer le nom d'utilisateur connecté.
Télécharger le plugin et le copier dans le répertoire dokuwiki inc/auth/ :
cp lemonldap.class.php inc/auth/ cp lemonldapuserdatabackend.class.php inc/auth/
Éditer la configuration locale Dokuwiki (conf/local.php) et indiquer lemonldap comme type d'authentification :
$conf[authtype] = lemonldap;
Configurer l'hôte virtuel Dokuwiki comme n'importe quel autre hôte virtuel protégé.
<VirtualHost *:80> ServerName dokuwiki.example.com PerlHeaderParserHandler Lemonldap::NG::Handler ... </VirtualHost>
server {
listen 80;
server_name dokuwiki.example.com;
root /path/to/application;
# Requête interne d'authentification
location = /lmauth {
internal;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock;
# Ignorer les données postées
fastcgi_pass_request_body off;
fastcgi_param CONTENT_LENGTH "";
# Conserver le nom d'hôte original
fastcgi_param HOST $http_host;
# Conserver la requête originale (le serveur LLNG va recevoir /llauth)
fastcgi_param X_ORIGINAL_URI $request_uri;
}
# Requêtes clients
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;
}
}
Aller dans le manager et créer un nouvel hôte virtuel pour Dokuwiki.
Configurer simplement la règle d'accès.
Si LL::NG est utilisé par reverse-proxy, configurer l'en-tête Auth-User, aucun autre en-tête n'est utile.