En el CMS de wikis MediaWiki tenemos una extension para la validación de acceso LDAP:
LDAP_Authentication.
Por tanto, si tenemos un Servidor de Directorio (LDAP ó Active Directory), podemos utilizar nuestra wiki con estos servicios de autenticación centralizados.
Vamos a instalar el fichero LdapAuthentication.php en su versión 1.1g en el directorio de extensiones de la wiki: /var/www/wiki/extensions.
Añadimos después las siguientes líneas en el fichero de configuración LocalSettings.php:
# Validación LDAP
require_once( "$IP/extensions/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
//Nombres de los dominios que utilizarás.
$wgLDAPDomainNames = array("LEBRIJO.COM");
//Asociación entre nombre de dominio y nombre DNS de la máquina donde se va a validar.
$wgLDAPServerNames = array("LEBRIJO.COM"=>"ldap.lebrijo.com");
//Podemos permitir la convivencia de autenticación local del wiki con LDAP.
$wgLDAPUseLocal = true;
//Encriptación en las solicitudes LDAP.
$wgLDAPEncryptionType = array("LEBRIJO.COM"=>"clear");
//Le decimos cual es la base de la consulta
$wgLDAPBaseDNs = array("LEBRIJO.COM"=>"dc=lebrijo,dc=com");
$wgLDAPSearchAttributes = array("LEBRIJO.COM"=>"uid");
//Utilizamos los grupos LDAP para las directivas de grupo:
$wgLDAPGroupsPrevail = array("LEBRIJO.COM"=>true);
$wgLDAPGroupNameAttribute = array("LEBRIJO.COM"=>"cn");
De esta forma los usuarios de tu LDAP tendrán acceso a la wiki.
En el mismo fichero de configuración podemos poner las restricciones al resto de visitantes de la wiki:
# VALIDACIÓN y CONTROL DE ACCESO:
# Básico para todos los visitantes por defecto:
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['*']['createtalk'] = false;