Вы можете легко добавить аутентификацию LDAP на сервер Apache Httpd.
И вы можете легко добавить смарт-скрипт http cgi 'git-http-backend' (в комплекте с git)
Это означает, что вы можете нажать на адрес https, если вы сначала ввели свои учетные данные LDAP. Вы авторизованы для доступа к страницам Apache, но аутентификация вообще не используется.
Смотрите " Разница между mod_authn_ldap и mod_authz_ldap ".
Тем не менее:
Единственный способ использовать аутентификацию Git и авторизацию в сочетании с доступом Gitolite .
См., Например, " Обеспечение доступности репозиториев для клиентов в режиме ssh и http * ".
Я настроил gitolite с (множественной) аутентификацией LDAP, сделал шаг аутентификации в файле конфигурации Apache, а затем вызвал gitolite с идентифицированным пользователем в качестве параметра:
Сначала я объявляю псевдонимы LDAP :
<AuthnProviderAlias ldap myldap>
AuthLDAPBindDN cn=Manager,dc=example,dc=com
AuthLDAPBindPassword secret
AuthLDAPURL ldap://localhost:@PORT_LDAP_TEST@/dc=example,dc=com?uid?sub?(objectClass=*)
</AuthnProviderAlias>
<AuthnProviderAlias ldap companyldap>
AuthLDAPBindDN "@LDAP_BINDDN@"
AuthLDAPBindPassword @LDAP_PASSWORD@
AuthLDAPURL @LDAP_URL@
</AuthnProviderAlias>
(«@xx@
» - это шаблоны, подлежащие замене тестовыми или производственными значениями)
Затем я использую эти псевдонимы в VirtualHost
, в которых я называю gitolite
(если аутентификация прошла успешно)
# GitHttp on @PORT_HTTP_HGIT@ (extract)
Listen @PORT_HTTP_HGIT@
<VirtualHost @FQN@:@PORT_HTTP_HGIT@>
ServerName @FQN@
ServerAlias @HOSTNAME@
SetEnv GIT_PROJECT_ROOT @H@/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv GITOLITE_HTTP_HOME @H@
ScriptAlias /hgit/ @H@/sbin/gitolite-shell/ # <=== will call gitolite
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<Location /hgit>
Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
#AllowOverride All
order allow,deny
Allow from all
AuthName "LDAP authentication for ITSVC Smart HTTP Git repositories"
AuthType Basic
# Authentication against one ldap, then a second
AuthBasicProvider myldap companyldap
AuthzLDAPAuthoritative Off
Require valid-user
AddHandler cgi-script cgi
</Location>
</VirtualHost>