Extension:LDAP Authentication

Post support questions on the discussion page or on the mediawiki-enterprise list
Please post all support questions on this page's discussion page or on the mediawiki-enterprise list. If a problem needs special attention, I can contact you directly by email. Posting the questions on the discussion page allows everyone to see how the problem was resolved.

Posting anywhere else will usually cause your problem to be ignored, or cause people to get upset with you.

Features
This plugin should be scalable for use in small to large organizations, and provides the following functionality:


 * Single and multi domain authentication (including local database)
 * Simple bind authentication
 * Proxy bind authentication
 * Smartcard/CAC/PKI Soft Certificate authentication
 * Kerberos authentication
 * SSL/TLS or non-SSL/TLS binding allowed
 * Nested/Unnested Group based restriction support
 * Filter based restriction support
 * Retrieval of user information from LDAP
 * Email address
 * Real name
 * Nickname
 * Language
 * Synchronization of LDAP groups to MediaWiki security groups (LDAP->MediaWiki only)
 * Nested group support available in 1.2b+
 * Storing preferences in LDAP
 * Update passwords
 * Mail me a password
 * Update all preferences that are currently retrievable
 * Creation and modification of users in LDAP

Requirements
Please see the Requirements page.

Installation
Please see the configuration and options pages.

Compatibility
The current version has been tested on:


 * MediaWiki
 * MediaWiki 1.14
 * MediaWiki 1.15
 * MediaWiki 1.16
 * MediaWiki 1.17.3
 * MediaWiki 1.18.6
 * MediaWiki 1.19.1
 * MediaWiki 1.20.3
 * MediaWiki 1.21.1
 * MediaWiki 1.23.1
 * Mediawiki 1.25.5
 * BlueSpice 1.1


 * Operating Systems
 * Debian GNU/Linux 4.0 ("Etch")
 * Debian GNU/Linux 7 ("Wheezy")
 * Ubuntu 7.04, 8.04, 8.10, 9.04, 10.04, and 12.04
 * Red Hat Enterprise Linux v4 AS, ES, and WS
 * Red Hat Enterprise Linux v5 Server and Desktop
 * Fedora Core 6, Fedora 8, 10, 11, 12, 13, 19
 * Solaris 10
 * Suse Linux Enterprise Server 10
 * Suse Linux Enterprise Server 10 Service-Pack 2
 * openSUSE 11.4
 * Microsoft Windows 2003, 2008 R2
 * Gentoo Linux (extension revision 20306)
 * CentOS 4, 5
 * Novell NetWare 6.5 SP7
 * FreeBSD 6.3-STABLE
 * LDAP Directories
 * CA Directory (eTrust Directory)
 * Sun Directory Server Enterprise Edition 5.2, 6.1, 6.2, and 6.3
 * Active Directory 2003, 2008
 * Novell eDirectory (NDS) v8.7.3, v8.8.2
 * OpenLDAP v2.2.13, v2.3.43, v2.4.19
 * Mac OS X Open Directory v10.4.9
 * Fedora Directory Server 1.0.4
 * ApacheDS 1.5.2
 * OpenDJ 2.4
 * IBM Lotus Domino 8.5 LDAP
 * Web Servers
 * Apache 2.0
 * Apache 2.2
 * IIS6+PHP ISAPI
 * IIS7.5+PHP
 * Combinations
 * Fedora 6, MediaWiki 1.16.0, PHP 5.1.6, MySQL 5.0.27, Apache 2.2.6, OpenLDAP 2.4.10
 * Fedora 13, MediaWiki 1.16.0, PHP 5.3.3, MySQL 5.1.52, Apache 2.2.17, package php-ldap
 * Debian 4.0, MediaWiki 1.7, PHP 5.2.0, MySQL 5.0.32, Apache 2.2.3, OpenLDAP
 * Debian 7.0, MediaWiki 1.22.1, PHP 5.4.4, MySQL 5.5.31, Apache 2.2.22, OpenLDAP 2.3.43
 * Debian 7.7, MediaWiki 1.23.5, PHP 5.4.4, MySQL 5.5.40, Apache 2.2.22, Microsoft Active Directory (Windows Server 2008 R2)
 * Debian 8.2, MediaWiki 1.25.3 ( fix), PHP 5.6.14, MySQL 5.5.46, Apache 2.4.10, freeIPA 4.3
 * Solaris 10, MediaWiki 1.9.x, PHP, MySQL, Apache2, CA Directory
 * RHEL v4 AS, MediaWiki 1.6.8, PHP 4.3.9, MySQL 4.1.12-3, Apache 2.0.52-22, Sun Directory Server 5.2 patch 4
 * Fedore 10, MediaWiki 1.15.1, PHP 5.2.9, MySQL 5.0.84, Apache 2.2.11, OpenLDAP 2.4.12
 * Gentoo Linux, MediaWiki 1.9.x, PHP, MySQL, Apache 2, OpenLDAP, extension revision 20306, Samba LDAP schema
 * CentOS 4, MediaWiki 1.11.1, PHP 5.2.5, MySQL 4.1.22, Apache 2.0.26, OpenLDAP 2.2.13
 * CentOS 5, MediaWiki 1.10.0, PHP 5, MySQL 5, Fedora Directory Server 1.0.4
 * CentOS 5, MediaWiki 1.10.1, PHP 5.1.6, MySQL 5.0.22, Microsoft Active Directory
 * CentOS 5, MediaWiki 1.15.0, PHP 5.1.6, MySQL 5.0.45, Apache 2.2.3, OpenLDAP 2.3.43, extension v1.2a (rev 43434)
 * CentOS (vmware on a MAC OS X), MW 1.12.0, PHP 5.1.6 (apache2handler), MySQL 5.0.45, Microsoft Active Directory
 * CentOs 5.5 (vbox on Windows XP Pro), MW 1.16.0, PHP 5.2.13 (apache2handler), MySQL 5.0.77, OpenLDAP
 * CentOS 5, MediaWiki 1.15.1, PHP 5.3.0 (apache2handler), PostgreSQL 8.3.7, OpenLDAP 2.4.11
 * CentOS 5.3 (vm on an esx vsphere 4), MediaWiki 1.15.1, PHP 5.3.0 (apache2handler), Novell eDirectory
 * CentOS 6.4 (VM on ESXi 5.0.0), MediaWiki 1.20.3, PHP 5.3.14 (remi), Microsoft Active Directory (2008R2)
 * CentOS 6.4, MediaWiki 1.21.1, PHP 5.3.3, Microsoft Active Directory (2008R2)
 * CentOS 7, MediaWiki 1.20.2, PHP 5.4.16, Microsoft Active Directory (2008R2)
 * SLES 9, MediaWiki 1.6.7, PHP4, MySQL 5, Novel eDirectory
 * SLES 10, MediaWiki 1.10.0, PHP 5, MySQL 5, Apache 2.2, Openldap
 * SLES 10 Service-Pack 2, MediaWiki 1.14.0, PHP 5.2.5, MySQL 5.0.26, Microsoft Active Directory (2003)
 * OpenSuse 10.2, MediaWiki 1.9.x, PHP5, MySQL 5, Microsoft Active Directory
 * Novell NetWare 6.5 SP7, MediaWiki 1.11.0, PHP 5.2.5, MySQL 5.0.45, Apache 2.0.61, Novell eDirectory 8.8.2
 * Ubuntu 6.06, MediaWiki 1.12.0, PHP 5.1.2-1ubuntu3.10, MySQL 5.0.22-0ubuntu6.06.10, Apache 2.0.55-4ubuntu2.3, Microsoft Active Directory
 * FreeBSD 6.3-STABLE, MediaWiki 1.12.0 (FreeBSD-Port), PHP 5.2.6 (FreeBSD-Port), MySQL 5.0.51a (FreeBSD-Port), Apache 2.2.9 (FreeBSD-Port), Active Directory 2003
 * Ubuntu 8.04.1, MW 1.13.1, PHP 5.2.4, MySQL 5.0.51, Apache 2.2.8, Novell eDirectory
 * Ubuntu 8.10, MW 1.14, PHP 5.2.6.2, MySQL 5.0.67, Apache 2.2.9, Active Directory 2003
 * Ubuntu 10.04.2 LTS, MW 1.16.2, PHP 5.3.2, MySQL 5.1.41, Apache 2.2.14, Microsoft Active Directory 2000
 * Ubuntu 12.04 LTS, MediaWiki 1.16, PHP 5.3.6, MySQL 5.1, Apache 2.2.20, Microsoft Active Directory 2003
 * Ubuntu 12.04 LTS, MediaWiki 1.19, PHP 5.3.10, MySQL 5.1.62, Apache 2.2.22, Microsoft Active Directory 2003
 * Windows 2003, MediaWiki 1.8.3, PHP 5.2.0, MySQL 5.0, IIS6, Microsoft Active Directory
 * Windows 2003, MediaWiki 1.12, PHP 5.2.5, MySQL 5.0, Apache Server 2.2, apacheds 1.5.2
 * Windows Server 2003 SP2, MediaWiki 1.14, PHP 5.2.8,MySQL 5.0.51a, Apache Server 2.2, Microsoft Acrive Directory
 * Windows Server 2003 SP2, MediaWiki 1.17, PHP 5.3.5,MySQL 5.5.8, Apache Server 2.2
 * Windows XP Professional SP2, MediaWiki 1.13.0, PHP 5.2.6, MySQL 5.0.51a, Apache 2.2.9, Novell eDirectory 8.8.2
 * Windows XP Professional SP3, MediaWiki 1.16.0, PHP 5.3.0, MySQL 5.1.36, Apache 2.2.11, MS Active directory
 * Windows 2008 Standard Edition, MediaWiki 1.15.4, PHP 5.3.3, MySQL 5.1.49, IIS7 with FastCGI, Microsoft Active Directory
 * Windows 2008 Web Edition, MediaWiki 1.16.0, PHP 5.3.3, MySQL 5.1.50, IIS7 with FastCGI, Microsoft Active Directory
 * Windows 2008R2 Enterprise Edition, MediaWiki 1.17.0, PHP 5.3.6, MySQL 5.5.12, IIS7.5 with FastCGI, Microsoft Active Directory
 * Windows Small Business Server 2011, MediaWiki 1.24.1, PHP 5.5.13, MySQL 5.6.19, IIS7.5 with FastCGI,  Microsoft Active Directory
 * Windows 2012 Standard, MediaWiki 1.21.1, PHP 5.4.18, MySQL 5.6.13, IIS8 with FastCGI, Microsoft Active Directory
 * Windows 2012 R2 Standard on VMware, MediaWiki 1.23.0, PHP 5.6.0, MySQL 5.1.72, IIS 8.5 with FastCGI, Microsoft Active Directory

If you have a working wiki with a working version of the patch on something not listed above, please add it to the list!

Supporting the extension (donations)
Proper support of this extension requires quite a few resources. For a proper testing environment, I need to be able to run multiple directory servers (OpenLDAP, Sun Directory Server, Red Hat Directory Server, Active Directory, etc.), multiple web servers (Apache, and IIS mostly), Kerberos servers (MIT, AD), etc. Due to limited resources, I am unable to test many things concurrently.

If you would like to help support the extension, donation of a good laptop with lots of RAM (Macbook Pro preferably).

PHP 5.6.13 fix
I am not the maintainer, but I found a fix for users having problems with PHP 5.6.13, which is what you will find in many repositories (I have confirmed this on FreeBSD and Debian Jessie).

See the discussion page for details.