И снова пишу на тему интеграции, на этот раз — авторизация 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 — это организационный юнит, один в другом.

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/?p=1069


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

You must be logged in to post a comment.