GitoLite和Git可以使用LDAP而不是SSH密钥

时间:2013-10-15 14:29:55

标签: git ldap gitolite

我的公司正在考虑使用git和gitolite,但不想使用SSH密钥并且喜欢使用LDAP。可以这样做吗?

我从来没有见过这样做..我在这个设置中使用的常用SSH密钥

1 个答案:

答案 0 :(得分:4)

是的,你可以毫无问题地做到这一点。

您只需要Apache to do the authentication part(因为gitolite只是authorization layer),并且调用gitolite-shell代替git-http-backend,而REMOTE_USER设置为Apache(和used by gitolite-shell)。

请参阅“Git with Ldap on Ubuntu with Apache”中的详细示例。

httpd.conf的主要部分是:

SetEnv GIT_PROJECT_ROOT @H@/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv GITOLITE_HTTP_HOME @H@
ScriptAlias /hgit/ @H@/sbin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
  SSLOptions +StdEnvVars
</FilesMatch>
<Location /hgit>
    SSLOptions +StdEnvVars
    Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
    #AllowOverride All
    order allow,deny
    Allow from all
    AuthName "LDAP authentication for Smart HTTP Git repositories"
    AuthType Basic
    AuthBasicProvider myldap companyldap
    AuthzLDAPAuthoritative Off
    Require valid-user
    AddHandler cgi-script cgi
</Location>

@H@只是一个模板值,将由您的路径替换)