SVN 405错误:无法获取资源信息

wei*_*i37 1 svn apache commit svn-server

亲爱的Stackoverflow社区!最近我的svn服务器坏了,我几乎尝试了所有东西,但我无法让它重新工作.

操作系统:Raspbian

我做了什么:安装包:

apt-get install subversion libapache2-svn apache2 mysql-server
Run Code Online (Sandbox Code Playgroud)

Enabeling dav_svn: a2enmod dav_svn

创建存储库:

$ mkdir -p /opt/svn/project1
$ mkdir -p /opt/svn/project2
Run Code Online (Sandbox Code Playgroud)

添加它们:

$ svnadmin create --fs-type fsfs /opt/svn/project1
$ svnadmin create --fs-type fsfs /opt/svn/project2`
Run Code Online (Sandbox Code Playgroud)

设置所有者:

$ chown -R www-data:www-data /opt/svn
Run Code Online (Sandbox Code Playgroud)

创建用户:

$ sudo htpasswd /etc/apache2/dav_svn.passwd weini
Run Code Online (Sandbox Code Playgroud)

创建的存储库文件:

mkdir -p /tmp/projet1/trunk
mkdir -p /tmp/projet1/branches
mkdir -p /tmp/projet1/tags
mkdir -p /tmp/projet2/trunk
mkdir -p /tmp/projet2/branches
mkdir -p /tmp/projet2/tags
Run Code Online (Sandbox Code Playgroud)

创建/etc/apache2/mods-enabled/dav_svn.conf文件:

<Location /svn/>
        DAV svn
        SVNParentPath /opt/svn/
        SVNListParentPath On
        AuthType Basic
        AuthName "Subversion Repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)

导入它们:注意通过访问存储库http://不起作用; 通过file://工作

Error: svn import /tmp/project1 http://localhost/svn/project1 -m "initialer Import" 
Error: svn import /tmp/project2 http://localhost/svn/project2 -m "initialer Import" 
Works: svn import /tmp/project1 file://opt/svn/project1 -m "initialer Import" 
Works: svn import /tmp/project2 file://opt/svn/project2 -m "initialer Import"`
Run Code Online (Sandbox Code Playgroud)

其他一切都是默认设置!

错误信息:

RA layer request failed
svn: Unable to connect to a repository at URL 'http://server.weini.at/svn/project1'
svn: Server sent unexpected return value (405 Method Not Allowed)  in response to OPTIONS request for 'http://server.weini.at/svn/project1
Run Code Online (Sandbox Code Playgroud)

系统日志:

no errors
Run Code Online (Sandbox Code Playgroud)

的Apache2/error.log中:

[Wed Apr 09 22:29:29 2014] [error] [client 192.168.0.1] Could not fetch resource  information.  [-2, #0]
[Wed Apr 09 22:29:29 2014] [error] [client 192.168.0.1] (2)No such file or directory:   The URI does not contain the name of a repository.  [405, #190001]
Run Code Online (Sandbox Code Playgroud)

当我尝试通过我的webbrowser访问存储库时,一切正常:http://i.stack.imgur.com/aNKzw.png

ynn*_*nok 6

尝试注释掉这一行:

SVNListParentPath On
Run Code Online (Sandbox Code Playgroud)

- >

#SVNListParentPath On
Run Code Online (Sandbox Code Playgroud)

(切换到关闭也应该工作).

然后重启你的apache.

自上次apache升级以来,ParentPath似乎存在问题.

感谢这(德国)帖子:http: //forum.ubuntuusers.de/topic/problem-mit-svn-server-nach-apache-update/#post-6513997

问题是,在此设置之后,您的父路径列表无法在浏览器中列出.... 所以对我而言,这不是最终的解决方案.

干杯,马库斯