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

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

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

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

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

Мы предполагаем, что существует машина Window Server уже запущен в вашей локальной сети / Интранет с 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, но я просто имеют достаточно информации о моем текущем активном сервере каталога, который должен позволить мне подключиться и проверку подлинности с помощью этого расширения. Так что, если я могу получить это сделано успешно, нет никакой причины, почему вы не сможете. Кроме того, шаги, которые я показываю здесь по очень простой, не фантазия, не сложная настройка.

Добавьте следующие строки в файл / и т.д. / Обсуждение / 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 активной аутентификации каталога

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

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

Дополнительные вопросы / Notes

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

Скорее всего, вы получите следующее сообщение об ошибке, как только вы загрузите страницу 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

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

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

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

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