使用 Redmine 验证 git 存储库时出错

使用 Redmine 验证 git 存储库时出错

我按照本教程在我的 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

我还发现了这一点:面临内部服务器错误超过一小时 | Daniel Stavrovski.Net

相关内容