我按照本教程在我的 Debian Squeeze 服务器上安装了 Redmine 2.1如何配置 Redmine 以实现高级 git 集成(我尝试使用 grack 路径)。Redmine 服务器运行正常,但我无法授予用户访问 git 存储库的权限。
当我尝试克隆存储库时,它显示:
error: The requested URL returned error: 500 while accessing
apache error.log 显示以下条目:
[Fri Sep 28 15:50:56 2012] [crit] [client xx.xx.xx.xx] configuration error: couldn't check user. Check your authn provider!: /repo.git/info/refs
克隆时它还会要求我输入用户和密码,但如果我理解正确的话,它就不应该出现这种情况。
我正在使用 Redmine 身份验证模块:
<VirtualHost *:80>
ServerName my.server.at
DocumentRoot "/var/www/my.server.at/public"
PerlLoadModule Apache::Redmine
<Directory "/var/www/my.server.at/public">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER"
SetEnv GIT_PROJECT_ROOT /var/git/my.server.at/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend
<Location />
Order allow,deny
Allow from all
AuthType Basic
AuthName Git
Require valid-user
AuthBasicAuthoritative Off
AuthUserFile /dev/null
AuthGroupFile /dev/null
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=redmine;host=localhost"
RedmineDbUser "user"
RedmineDbPass "password"
RedmineGitSmartHttp yes
</Location>
</VirtualHost>
有人能帮助我并解释一下错误以及我该怎么做才能解决我的问题吗?
答案1
我查看了我的配置,结果如下。这已经运行了大约一年。
PerlLoadModule Apache::Authn::Redmine
SetEnv GIT_PROJECT_ROOT /var/lib/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
<Location /git>
Order allow,deny
Allow from all
AuthType Basic
Require valid-user
AuthName "XXXXXX Git Repos"
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=redmine_default;host=localhost"
RedmineDbUser "redmine"
RedmineDbPass "xxxxxxx"
RedmineGitSmartHttp yes
</Location>
<Location /git-private>
Order deny,allow
Deny from all
<Limit GET PROPFIND OPTIONS REPORT>
Options Indexes FollowSymLinks MultiViews
Allow from 127.0.0.1
</Limit>
</Location>
这是针对 Ubuntu 12.04.1 的。希望对您有帮助,主要区别在于我正在加载 Apache::Authn::Redmine,而您正在加载 Apache::Redmine。
答案2
确保 httpd.conf 中包含以下内容
LoadModule authz_core_module modules/mod_authz_core.so