通过 Apache (DAV) 和 Redmine 进行 SVN 身份验证不起作用

通过 Apache (DAV) 和 Redmine 进行 SVN 身份验证不起作用

需要帮助!!!我在 ubuntu 服务器上安装了 apache2、svn 和 redmine。之后,我尝试通过 redmine 帐户对 svn 进行身份验证。我的 apache 配置如下所示(存储在 /etc/apache2/conf.d/svn.config 中):

 PerlLoadModule Apache::Redmine
 <Location /svn>
   DAV svn
   SVNParentPath "/var/svn" 
   Order deny,allow
   Deny from all
   Satisfy any

   PerlAccessHandler Apache::Authn::Redmine::access_handler
   PerlAuthenHandler Apache::Authn::Redmine::authen_handler
   AuthType Basic
   AuthName "Redmine SVN Repository" 

   #read-only access    
   <Limit GET PROPFIND OPTIONS REPORT>
     Require valid-user
     Allow from 127.0.0.1
     # Allow from another-ip
     Satisfy any
   </Limit>
   # write access
   <LimitExcept GET PROPFIND OPTIONS REPORT>
     Require valid-user
   </LimitExcept>

   ## for mysql
   RedmineDSN "DBI:mysql:database=redmine;host=localhost" 

   RedmineDbUser "redmine" 
   RedmineDbPass "mypass" 
</Location>

问题:当我尝试通过 http 连接时,我看到了登录窗口,但确认后什么也没发生,并打开了另一个登录窗口。使用 TortoiseSVN 客户端也是如此。我可以访问服务器,但登录不起作用。我认为这是 apache、Redmine.pm 和 mysql 之间的问题,或者是配置错误。

有人能帮我吗?

更新

我为此使用了 Redmine.pm。我将其复制到 /usr/lib/perl5/Apache/ 文件夹。Apache 的 Mods“dav”、“dav_svn”和“perl”也已启用,但问题仍然存在。Redmine 用户存储在 mysql 数据库中。

apache2 错误日志如下所示:

[Fri Feb 03 23:00:26 2012] [notice] caught SIGTERM, shutting down
[Fri Feb 03 23:00:28 2012] [notice] Apache/2.2.20 (Ubuntu) DAV/2 SVN/1.6.12 Phusion_Passenger/2.2.11 mod_perl/2.0.5 Perl/v5.12.4 configured -- resuming normal operations

apache2ctl -S 返回以下内容:

ulimit: 88: error setting limit (Operation not permitted)
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
     default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1)
     port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1)
Syntax OK

当我尝试连接到 repo 时,svn ls http://localhost/svn/repo我得到了这个:

Could not authenticate to server: rejected Basic challenge (http://localhost)

答案1

我向一位朋友咨询了这个问题,问题很简单。我没有为使用的用户设置访问存储库的权限。在 Redmine 中,您可以添加组和用户,并且可以为每个项目设置用户的组,因此我需要将我的用户添加到具有能够访问存储库的组的项目中。

相关内容