我正在尝试通过 http 运行 Git 服务器,并且我已经通过 http 运行了 SVN。我正在运行 centos 6
我的 git.conf(位于 /etc/httpd/conf.d/)文件如下
加载模块 authnz_ldap_module 模块/mod_authnz_ldap_module.so 加载模块 ldap_module 模块/mod_ldap.so 服务器名称 blahblah/git/repos 文件根目录 /var/www/git/repos SSLEngine 开启 SSL证书文件 /etc/ssl/server.crt SSLCertificateKey文件 /etc/ssl/server.key SetEnvIf 用户代理“。*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 后端 设置环境 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 # 注意:使用 Git HTTP 后端提供存储库对象 ScriptAliasMatch \ “(?x)^/(。*/(HEAD | \ 信息/参考 | \ 对象/信息/[^/]+ | \ git-(上传|接收)-pack))$" \ 在 /usr/libexec/git-core/git-http-backend/$1 # 注意:使用 Gitweb 提供 HTML ScriptAlias / gitweb/gitweb.cgi # 开启 mod rewrite RewriteEngine 开启 # 使首页成为 gitweb 脚本的内部重写 重写规则 ^/$ /gitweb/gitweb.cgi [L] # 为存储库创建快捷方式,因此 URL 类似于 # 在 Gitweb 中加载正确的存储库 重写规则 ^/(\w+\.git)$ /?p=$1 [L,P] # 路由 Git-Http-Backend ScriptAlias / /usr/lib/git-core/git-http-backend/ # 要求访问所有资源 AuthLDAPURL“ldap://blah:3268/dc=blah,dc=blah?sAMAccountName?sub”无 AuthzLDAPAuthoritative 关闭 AuthzGroupFileAuthoritative 关闭 AuthzUserAuthoritative 关闭 AuthLDAPBindDN 等等 AuthLDAPBindPassword“废话” AuthType 基本版 AuthName“blah” 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>