subversion_active_directory
Различия
Показаны различия между двумя версиями страницы.
— | subversion_active_directory [2022/03/25 14:42] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Интеграция Subversion с MS Active Directory ====== | ||
+ | ===== Введение ===== | ||
+ | В данном howto показан один из вариантов интеграции Subversion и AD. К сожалению, | ||
+ | Подробно описывать установку, | ||
+ | |||
+ | ===== Установка ===== | ||
+ | Ставим Apache и модуль для работы в качестве svn-сервера. | ||
+ | < | ||
+ | # apt-get install apache2 libapache2-svn | ||
+ | </ | ||
+ | |||
+ | ===== Настройка ===== | ||
+ | Разрешаем все необходимые модули Apache. | ||
+ | < | ||
+ | # a2enmod dav | ||
+ | # a2enmod dav_svn | ||
+ | # a2enmod ldap | ||
+ | # a2enmod authnz_ldap | ||
+ | # a2enmod authz_svn | ||
+ | </ | ||
+ | |||
+ | Редактируем файл / | ||
+ | # Указываем путь, по которому Apache будет обрабатывать svn-запросы. Можно указать /svn или любой другой. Мне удобнее обрабатывать запросы в корне. | ||
+ | < | ||
+ | | ||
+ | # Включаем обработку svn-запросов по этому адресу | ||
+ | DAV svn | ||
+ | | ||
+ | # Указываем путь к каталогу с репозиториями. Если же у нас один репозиторий, | ||
+ | SVNParentPath / | ||
+ | | ||
+ | # Разрешить листинг репозиториев | ||
+ | SVNListParentPath On | ||
+ | | ||
+ | # Путь к файлу с описанием прав доступа к репозиториям и подпапкам, | ||
+ | # к сожалению нет возможности управлять группами, | ||
+ | # вроде этого(см. ссылку в конце статьи). | ||
+ | AuthzSVNAccessFile / | ||
+ | | ||
+ | # Сделать авторизацию в каталоге LDAP главной | ||
+ | AuthzLDAPAuthoritative on | ||
+ | | ||
+ | # Тип аунтификации | ||
+ | AuthType Basic | ||
+ | | ||
+ | # Указываем, | ||
+ | AuthBasicProvider ldap | ||
+ | | ||
+ | # Информационное сообщение, | ||
+ | AuthName " | ||
+ | | ||
+ | # Пользователь в AD с правами на чтение каталога | ||
+ | AuthLDAPBindDN " | ||
+ | | ||
+ | # Его пароль | ||
+ | AuthLDAPBindPassword " | ||
+ | | ||
+ | # Строка подключения к AD. В данном случае поиск пользовтелей выполняется не во всем домене, | ||
+ | AuthLDAPURL " | ||
+ | | ||
+ | # Позволяем получать доступ только авторизовавшимся пользователям. Также, если есть такая необходимость, | ||
+ | # в определенную группу, | ||
+ | # Require ldap-group cn=SvnGroup, | ||
+ | Require valid-user | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== Пример svnaccessfile ===== | ||
+ | В данном примере, | ||
+ | [groups] | ||
+ | group1 = user1, user2, user3 | ||
+ | group2 = user4, user5 | ||
+ | | ||
+ | [repo1:/] | ||
+ | @groups1 = rw | ||
+ | @groups2 = r | ||
+ | | ||
+ | [repo1:/ | ||
+ | user6 = rw | ||
+ | *= | ||
+ | |||
+ | ===== Возможные проблемы1 ===== | ||
+ | Для поиска проблем в конфигурации лучше всего включить отладку, | ||
+ | |||
+ | Самая распространненая ошибка - 500 (internal server error). Чаще всего это связано с неправильными реквизитами доступа к каталогу LDAP. При этом в логах появляется что-то вроде: | ||
+ | " | ||
+ | |||
+ | Также, при корректной конфигурации, | ||
+ | [3574] auth_ldap authenticate: | ||
+ | Лечится добавлением в файл / | ||
+ | REFERRALS off | ||
+ | | ||
+ | Еще одна проблема, | ||
+ | Server sent unexpected return value (400 Bad Request) in response to MERGE | ||
+ | Дело оказалось в Kaspersky Antivirus 2012, это он хулиганил. Решение проблемы - добавить в исключения файлы TortoiseProc.exe и TSVNCache.exe | ||
+ | ===== Ссылки ===== | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// |
subversion_active_directory.txt · Последнее изменение: 2022/03/25 14:42 — 127.0.0.1