Я пытаюсь запустить как сервер Git через http, так и SVN, который уже работает через http. Я использую CentOS 6
Мой файл git.conf (расположен в /etc/httpd/conf.d/) выглядит так:
LoadModule authnz_ldap_module modules/mod_authnz_ldap_module.so LoadModule ldap_module modules/mod_ldap.so Имя сервера blahblah/git/repos DocumentRoot /var/www/git/repos SSLEngine включен Файл сертификата SSL /etc/ssl/server.crt Файл ключа сертификата SSL /etc/ssl/server.key SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown Журнал ошибок /var/log/httpd/git-error.log CustomLog /var/log/httpd/git-access.log объединенный # Включить скрипты cgi-bin Параметры ExecCGI FollowSymLinks AddHandler cgi-скрипт cgi # Настройка Git HTTP Backend SetEnv GIT_PROJECT_ROOT /var/www/git УстановитьGIT_HTTP_EXPORT_ALL SetEnv GITWEB_CONFIG /etc/gitweb.conf # Примечание: Обслуживайте статические файлы напрямую AliasMatch ^/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1 AliasMatch ^/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1 # Примечание: обслуживайте объекты репозитория с помощью HTTP-бэкэнда Git ScriptAliasMatch \ "(?x)^/(.*/(ГОЛОВКА | \ информация/ссылки | \ объекты/информация/[^/]+ | \ git-(загрузка|получение)-упаковка))$" \ /usr/libexec/git-core/git-http-backend/$1 # Примечание: обслуживайте HTML с помощью Gitweb Псевдоним скрипта / gitweb/gitweb.cgi # Включение перезаписи мода RewriteEngine включен # Сделать главную страницу внутренней переписыванием скрипта gitweb Правило перезаписи ^/$ /gitweb/gitweb.cgi [L] # Создать ярлык для репозитория, чтобы URL был похож на # загружает нужный репозиторий в Gitweb Правило перезаписи ^/(\w+\.git)$ /?p=$1 [L,P] # Маршрут Git-Http-Backend Псевдоним скрипта / /usr/lib/git-core/git-http-backend/ # Требовать доступ ко всем ресурсам AuthLDAPURL "ldap://blah:3268/dc=blah,dc=blah?sAMAccountName?sub" НЕТ AuthzLDAPАвторитетный выключен AuthzGroupFileAuthoritative выключен AuthzUserAuthoritative выкл. AuthLDAPBindDN бла-бла-бла AuthLDAPBindPassword "бла" Базовый тип аутентификации AuthName "бла" AuthBasicProvider ldap # Важно, иначе "(9)Неверный дескриптор файла: Не удалось открыть файл паролей: (null)" Файл_аутентификации_пользователя /dev/null Требовать действительного пользователя
Мой файл subversion.conf выглядит следующим образом (он находится в /etc/httpd/conf.d/subversion.conf)
<Location /repos>
DAV svn
SVNPath /var/www/svn/repos
# search user (192.168.1.1 is the IP address of the Active Directory server)
AuthLDAPURL "ldap://blah:3268/dc=blah,dc=blah?sAMAccountName?sub" NONE
AuthzLDAPAuthoritative off
AuthzGroupFileAuthoritative off
AuthzUserAuthoritative off
AuthLDAPBindDN blah@blah
AuthLDAPBindPassword blah
AuthType Basic
AuthName "blah"
AuthBasicProvider ldap
# Important, otherwise "(9)Bad file descriptor: Could not open password file: (null)"
AuthUserFile /dev/null
Require valid-user
</Location>