Oh Boy! Прошло уже больше 4 месяцев, так как я написал сообщение в блоге. Работа и другие мои ежедневные мероприятия, такие как физические упражнения, приготовление пищи, уборка и т.д. была действительно держит меня заняты. С этой должности я намерен медленно начинайте писать снова.

Цель: Некоторое время назад я писал о том, как установить и настроить MediaWiki на вашей системе Debian. Сегодня мы узнаем, как использовать LDAP / метод аутентификации Active Directory с вашей текущей настройки MediaWiki. Обратите внимание, что мы не будем вдаваться в подробности LDAP / Active Directory .

Что такое LDAP / Аутентификация Active Directory?

Обычно при установке MediaWiki на вашей системе, вы должны сначала создать учетную запись пользователя для входа в MediaWiki. Но что, если вы хотите, чтобы централизовать этот процесс аутентификации? Что это значит, если существует система (давайте Windows Server с помощью Active Directory), который уже поддерживает централизованную базу данных / хранилище имя пользователя и пароль, который можно использовать для проверки подлинности наши MediaWiki логины.

Предположение

Мы предполагаем, что есть сервер Окно машина уже работает в вашей локальной сети / Интранет с Active Directory.

Так что давайте начнем ...

Шаг 1: Получить расширение для аутентификации LDAP

Мы будем использовать популярную аутентификации LDAP расширение для этой цели. Я предлагаю вам скачать расширение, соответствующее вашей версии MediaWiki. Например, в моей системе Debian Lenny, текущая версия MedaiWiki 1,12, поэтому я рекомендую вам установить расширение, которое соответствует версии 1.12. Вы можете просмотреть другую версию этого расширения здесь .

Шаг 2: Установка / скопировать файлы расширения

# tar -xzf LdapAuthentication-MW1.12-r30722.tar.gz -C /var/lib/mediawiki/extensions

Шаг 3: Установите плагин LDAP для PHP

Вам понадобится этот пакет для того, для расширения, чтобы работать должным образом.

# apt-get install php5-ldap

Шаг 4: Настройка расширения

Это самый важный шаг, и это этап, на котором, естественно, большинство пользователей будет работать с проблемами. Пожалуйста, обратите внимание, что я не тот, кто не управляет Active Directory ни я эксперт в Active Directory. На самом деле я едва знаю много о Active Directory, но я просто иметь достаточно информации о моем текущем сервере Active Directory, которые должны позволить мне для подключения и авторизации, используя это расширение. Так что если я в состоянии добиться этого успешно нет никакой причины, почему вы не сможете. Также шаги, которые я показываю здесь по очень простой, не фантазии, не сложной установки.

Добавьте следующие строки в файл / и т.д. / MediaWiki / LocalSettings.php предпочтительной к концу файла, но в целом я обнаружил, что это работает, даже если вы добавите его в начале:


# Enable LDAP Authentication
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array( "mycompany.net" );
$wgLDAPServerNames = array( "mycompany.net" => "myad1.mycompany.net" );
$wgLDAPSearchStrings = array( "mycompany.net" => "mynet\\USER-NAME" );
$wgLDAPEncryptionType = array( "mycompany.net" => "clear" );
$wgLDAPUseLocal = false;
$wgMinimalPasswordLength = 1;
$wgLDAPBaseDNs = array( "mycompany.net" => "dc=mycompany,dc=net" );
$wgLDAPSearchAttributes = array( "mycompany.net" => "sAMAccountName" );
$wgLDAPRetrievePrefs = array( "mycompany.net" => "true" );
$wgLDAPDebug = 3; //for debugging LDAP
$wgShowExceptionDetails = true; //for debugging MediaWiki

Где:

mycompany.net = активность имя каталога в вашей компании / предприятия

myad1.mycompany.net = Имя физического сервера, на котором размещен ваш Active Directory

MyNet = Доменное имя вашей компании

Вы должны быть в состоянии получить эти значения из ИТ лицу, находящемуся в обязанности руководителя Active Directory.

Шаг 5: Войти

Теперь настало время, чтобы увидеть, если мы настроим наше расширение правильно! К журнал ваших MediaWiki находится в странице:

http://localhost/wiki/index.php?title=Special:Userlogin&returnto=Main_Page

и должны увидеть поле "Имя домена" прямо под своим логином и паролем ввода вроде этого:

MediaWiki аутентификацию активного каталога

с именем Active Directory (в данном случае mycompany.net), указанной в файле LocalSettings.php.

Попробуйте войти имя пользователя и соответствующий пароль пользователя, который уже в Active Directory и посмотреть, если вы можете войти в систему, успешно. Если вы примите наши поздравления!! Ваша установка успешно работает. Если нет, то мы должны отладить дальше.

Дополнительные вопросы / замечания

Что произойдет, если я не правильно установить версию расширения?

Вы, вероятно, получите следующее сообщение об ошибке, как только вы загрузите страницу MediaWiki (http://localost/wiki/):

Fatal error: Class 'AuthPlugin' not found in \var\lib\mediawiki\extensions\LdapAuthentication\LdapAuthentication.php on line 65

Где я могу получить, чтобы увидеть ошибки в случае с расширением не работают?

Прежде всего вам нужно включить отладку расширением LDAP, установив следующую строку в вашем файле LocalSettings.php:

$wgLDAPDebug = 3; //for debugging LDAP

Вы должны быть в состоянии видеть ошибки в верхнем левом углу экрана, как это:

Обсуждение LDAP Ошибка

Нужно ли мне иметь пользователю в моей базе данных MediaWiki, прежде чем я аутентификацию с помощью Active Directory?

Номер, как вещи работают в том, что если пользователь не присутствует в базе данных MediaWiki то запись для имени пользователя, который использовался для аутентификации в Active Directory будет создан автоматически в базе данных MediaWiki. Если имя пользователя уже существует, прежде чем войти в первый раз, используя аутентификацию Active Directory, то ничего не происходит, т.е. не новый пользователь не будет создан в базе данных, так как пользователь уже существует в базе данных. Пользовательские настройки, такие как имя, электронная почта, и т.д., которые тянут из Active Directory обновляется / перезаписаны для соответствующего пользователя в базе данных, если запись уже выходит.
Я надеюсь, что это дало вам достаточно материала, чтобы начать работу с LDAP / аутентификации Active Directory.

Счастливые LDAP'ing!

Быть общительным, Share!