HOWTO: Включить LDAP / Active Directory Аутентификация с MediaWiki - Часть 1
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
и должны увидеть "Имя домена" поле прямо под свои имя пользователя и пароль входа коробку так:
с названием активного каталога (в данном случае 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
Вы должны быть в состоянии видеть ошибки в верхнем левом углу экрана, как это:
Нужно ли иметь пользователь в моей базе данных MediaWiki, прежде чем я аутентификации с использованием Active Directory?
Номер так и происходит в том, что если пользователь не присутствует в базе данных MediaWiki затем запись для имени пользователя, который вы использовали для аутентификации в Active Directory будет автоматически создана в базе данных MediaWiki. Если имя пользователя уже существовала прежде, чем вы вошли в систему в первый раз, используя аутентификацию в Активной Директории то ничего не происходит, т.е. никаких новых пользователей не создается в базе данных, так как пользователь уже существует в базе данных. Пользовательские настройки, как имя, e-mail и т.д., которые в настоящее время вытащил из Active Directory обновляется / перезаписаны для соответствующего пользователя в базе данных, если запись уже существует.
Я надеюсь, что это дало Вам достаточно материала, чтобы начать работу с LDAP / Active Directory аутентификации.
Счастливые LDAP'ing!















7 марта 2012 в 4:53 утра
[...] Enable LDAP аутентификации Windows Active каталогов с MediaWiki | Debian Ubuntu Linux Solutions B ... [...]
21 марта 2012 в 7:00 утра
Когда я пытаюсь, ничего не случится. Нет ошибок, нет входа, ничего (около LDAP) записываются в лог-файл моего (определяется $ wgDebugLogFile).
Это прекрасно работать при тестировании ( http://localhost/wiki/index.php?title=Special:Userlogin&returnto=Main_Page ), но, когда я просто не открыть страницу, ничего
Ответить на этот комментарий
16 октября 2012 в 3:43 утра
Огромное спасибо для идеального учебника, вы спасли мой день ;)
Ответить на этот комментарий
30 октября 2012 в 6:53
Эй, чувак!
Спасибо за размещение этого урока, он работал очень хорошо для меня. Возможно, это следует отметить, что вам не нужно, чтобы поместиться в любой учетной записи LDAP для подключения, следовательно, я искал это. И не изменяют термин «имя пользователя».
Отдых очень прекрасная, короткая в точку!
Ваша,
Крис
Ответить на этот комментарий
13 декабря 2012 в 4:17 утра
Большое спасибо, удивительный урок!
Ответить на этот комментарий
27 февраля 2013 в 11:04
Как добавить нового пользователя тогда? Я могу регистрироваться в системе с учетных данных AD сейчас, но что, если я хочу добавить нового пользователя в вики. Они не будут иметь возможность просто войти в свои учетные данные с AD, верно? Я должен был бы предоставить доступ в первую очередь. Пожалуйста, объясните. PS, что реклама на вашем сайте немного чрезмерным.
Ответить на этот комментарий