4

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

我从未见过这样做过..我在每个地方都有这个设置,总是使用 SSH 密钥

4

1 回答 1

4

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

您只需要您的Apache 进行身份验证部分(因为 gitolite 只是一个授权层),然后调用gitolite-shell而不是git-http-backendREMOTE_USER由 Apache 设置(并由 Apache使用gitolite-shell)。

请参阅“带有 Apache 的 Ubuntu 上的 Git 和 Ldap ”中的详细示例。

存在的主要部分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@只是一个模板值,由您的路径替换)

于 2013-10-15T14:51:02.747 回答