MediaWiki

Présentation

MediaWiki est un logiciel wiki utilisé par le très connu Wikipedia.

Plusieurs extensions permettent de configurer le SSO dans MediaWiki :

Nous expliquons ici comment utiliser le dernier : HTTP Auth.

Installation

L'extension HTTP Auth est presentée ici : http://www.mediawiki.org/wiki/Extension:HttpAuth

Il est possible de télécharger le code ici : http://github.com/oremj/mediawiki-http-auth/downloads

Il faut installer HttpAuthPlugin.php dans le répertoire extensions/ de MediaWiki :

cp HttpAuthPlugin.php extenstions/

Configuration

Configuration locale MediaWiki

Éditer ensuite les paramètres locaux MediaWiki

vi LocalSettings.php
session_start();
 
$_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'];
 
if ((!empty($_SERVER['PHP_AUTH_USER']) && !empty($_SERVER['REMOTE_USER'])) || $_COOKIE[$wgDBserver . 'UserID']) {
        require_once("$IP/extensions/HttpAuthPlugin.php");
        $wgAuth = new HttpAuthPlugin();
        # For MediaWiki < 1.13
        $wgHooks['AutoAuthenticate'][] = array($wgAuth,'autoAuthenticate');
        # For MediaWiki >= 1.13
        #$wgHooks['UserLoadFromSession'][] = array($wgAuth,'autoAuthenticate');
}

Hôte virtuel Mediawiki dans le manager

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

<VirtualHost *:80>
       ServerName mediawiki.example.com
 
       PerlHeaderParserHandler Lemonldap::NG::Handler
 
       ...
 
</VirtualHost>

Si Mediawiki est protégé par un reverse-proxy LL::NG, convertir l'en-tête en variable d'environnement REMOTE_USER.

Hôte virtuel Mediawiki dans le manager

Aller dans le manager et créer un nouvel hôte virtuel pour Mediawiki.

Configurer simplement la règle d'accès. Il est possible d'ajouter une règle pour la déconnexion :

Userlogout => logout_sso

Si LL::NG est utilisé par reverse-proxy, configurer l'en-tête Auth-User, aucun autre en-tête n'est utile.