我在我们的 RHEL 服务器上安装了 subversion,还安装了 dav_svn_module。我在 httpd.conf 中的位置标记如下:
<Location /subversion>
DAV svn
SVNPath /subversion
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/svn-auth.htpasswd
Require valid-user
</Location>
我已经为 svnuser 设置了密码
htpasswd -c -m /etc/svn-auth.htpasswd svnuser
重新启动 httpd 后,我尝试将文件从 subversion 存储库签出到本地计算机,并收到上述错误消息。请注意,当我尝试通过 HTTP 查看存储库时,也会收到 HTTP 500 错误。
httpd 错误日志显示以下条目:
error: Can't open file /subversion/format No such file or directory
Could not fetch resource information [500, #0]
Could not open the requested SVN filesystem [500, #2]
请注意 /subversion/format 不存在。不确定错误日志为何引用这个不存在的文件?
需要进行哪些更改才能确保我可以通过 http 签出/提交和进行身份验证?
谢谢!
答案1
好吧,如果/subversion
是一个 subversion 存储库(因为您已将其配置为在您的 Apache 配置中),那么它最好有一个format
目录。
您是如何创建存储库的,或者您在哪里创建存储库?
如果您打算/subversion
将其作为 repo 本身,则它未正确创建。运行svnadmin create /subversion
。
如果您打算将/subversion
设为包含 repos 的目录,那么您的 Apache 配置应该是-SVNParentPath /subversion
而不是SVNPath /subversion
- 并且仍然需要使用 创建该位置的存储库svnadmin create
。
答案2
我以前见过这种情况,我相信这与我创建 svn 文件系统时的权限问题有关。根据记忆,我认为 644 的权限是正确的。
另外,当您对新存储库进行 svn co 或 svn list 调用时,请查看 apache 日志。如果 apache 级别的权限出现问题(如 500 所暗示的),您会在错误日志中看到它(通常是 /var/log/apache2/error-log 或一些类似路径)。
祝你好运。