Table of Contents

Dokuwiki

Présentation

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.

Le wiki LemonLDAP::NG est un Dokuwiki !

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é.

Installation

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/

Configuration

Configuration locale Dokuwiki

Éditer la configuration locale Dokuwiki (conf/local.php) et indiquer lemonldap comme type d'authentification :

$conf[authtype] = lemonldap;

Dokuwiki virtual host

Configurer l'hôte virtuel Dokuwiki comme n'importe quel autre hôte virtuel protégé.

Si Dokuwiki est protégé par un reverse-proxy LL::NG, convertir l'en-tête en variable d'environnement REMOTE_USER.
<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;
  }
}

Hôte virtuel Dokuwiki dans le manager

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.