И снова пишу на тему интеграции, на этот раз — авторизация moodle установленного на FreeBSD учетками из AD на Windows Server 2008.
Что нам нужно, понятное дело, что первым нам понадобится moodle, ставим его:
# cd /usr/ports/www/moodle/
# make config
Выбираем LDAP авторизацию, и другое нам необходимое, я не отмечал только postgres:
[X] MYSQL Add support for a MySQL database server
[ ] PGSQL Add support for a PostgreSQL database server
[X] MSSQL Add support for a MS SQL Server
[X] ZLIB Add zip/unzip functionality
[X] NETWORK Add Moodle Network functionality
[X] LDAP Add LDAP authentication functionality
[X] MIMETEX Add mimeTeX filter functionality
# make install clean
После установки, в apache прописываем alias или виртуальный хост.
PS. Я поставил последний phpmyadmin для того что бы настроить базу, по быстрому и у меня при подключении к ней выдавало вот такую ошибку:
Fatal error: Class 'ArrayObject' not found in /libraries/List.class.php on line 16" |
Решением проблемы было простым — до установка расширений в php — mcrypt и spl:
# cd /usr/ports/security/php5-mcrypt
# make install clean
# cd /usr/ports/devel/php5-spl
# make install clean
# apachectl restart
Далее, заходим в браузере на указанный нами путь, в моём случае — edu.domain.pp.ua и инсталлируем следуя инструкциям.
После установки, я захотел добавить русский и украинский языки, для этого я зашел на официальный сайт moodle и скачал от туда lang packs.
После чего я взялся за интеграцию пользователей из MS 2008 Active Directory в moodle установленный на FreeBSD 8.0.
Пункт, за пунктом я читал мануалы и добрался до вот этого.
Прочитал, ознакомился, убедился что все понятно и принялся за дело.
Залогинился под созданным в moodle админом и перешел к пункту «Пользователи» -> «Аутентификация» -> «Управление аутентификацией» -> Использовать LDAP-сервер.
Предварительно создав в домене пользователя test и sel_ldap.
Второй предназначен для коннекта к базе и выборки из неё нужных нам записей.
PS. Как я понял, то moodle копирует себе данные по пользователю и работает как обычно, единственная разница — авторизация происходит через LDAP. И в зависимости от того пускает ли ldap — moodle делает то же самое. Но в таком случае получается подводный камень. При удалении пользователя из AD — в moodle остается мертвая душа.
Продолжаем, привожу данные с рабочего сервера (вся связка испытуется на реальных событиях, но на виртуальной машине vmware-server)
Host URL: ldap://pdc.domain.pp.ua
Version: 3
LDAP encoding: utf-8
Hide passwords: yes
Distinguished Name: CN=sel_ldap,OU=Users,OU=building-1,DC=domain,DC=pp,DC=ua
Password: **********
User type: MS ActiveDirectory
Contexts: OU=Users,OU=building-1,DC=domain,DC=pp,DC=ua
Search subcontexts: no
Dereference aliases: no
User attribute: sAMAccountName
sAMAccountName: *
Force change password: no
Password format: md5
Expiration: LDAP
Expiration warning: 0
Grace logins: no
Create users externally: no
Теперь дополнительные атрибуты, заполняемые из AD
Name: givenName
Family: sn
e-mail: mail
City: l
Country: c
local
и
Update external , я выбирал:
При создании и При каждом входе соответственно.
После чего созданный пользователь test в AD с прописанными там, важными атрибутами появляется в moodle и уже имеет прописанные данные о Фамилии Имени и других данных.
PS. OU=Users,OU=building-1,DC=domain,DC=pp,DC=ua — это организационный юнит, один в другом.
Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:
Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)
Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455
На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел