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:// | ||
