2014-04-09 56 views
1

亲爱的Stackoverflow社区! 最近我的svn服务器崩溃了,我尝试了几乎所有的东西,但是我不能再次使用它。SVN 405错误:无法获取资源信息

OS:Raspbian

我所做的: 安装包:

apt-get install subversion libapache2-svn apache2 mysql-server 

Enabeling dav_svn:a2enmod dav_svn

创建库:

$ mkdir -p /opt/svn/project1 
$ mkdir -p /opt/svn/project2 

添加他们:

$ svnadmin create --fs-type fsfs /opt/svn/project1 
$ svnadmin create --fs-type fsfs /opt/svn/project2` 

设置所有者:

$ chown -R www-data:www-data /opt/svn 

创建的用户:

$ sudo htpasswd /etc/apache2/dav_svn.passwd weini 

创建库文件:

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 

创建/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> 

导入它们:注意通过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"` 

其他一切都是默认设置!

ERRORMESSAGE:

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 

系统日志:

no errors 

的Apache2 /错误。日志:

[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] 

当我试着通过网页浏览器一切工作正常访问的数据存储:http://i.stack.imgur.com/aNKzw.png

回答

5

尝试注释掉该行:

SVNListParentPath On 

- >

#SVNListParentPath On 

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

并重新启动你的apache。

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

由于这个(德国)后: http://forum.ubuntuusers.de/topic/problem-mit-svn-server-nach-apache-update/#post-6513997

问题是,这个设置后,在浏览器中父路径的上市是不可能的......。所以对我来说这不是最终的解决方案。

干杯, 马库斯

+0

谢谢,现在一切正常:) – weini37

0

有几件事情,我注意到:

创建库:

$ mkdir -p /opt/svn/project1 
$ mkdir -p /opt/svn/project2 

添加他们:

$ svnadmin create --fs-type fsfs /opt/svn/project1 
$ svnadmin create --fs-type fsfs /opt/svn/project2 
当您创建回购创建210个

您的回购目录:

$ mkdir -p /opt/svn 
$ svnadmin create --fs-type fsfs /opt/svn/project1 
$ svnadmin create --fs-type fsfs /opt/svn/project2 

你也有过这样的:

创建库文件:

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 

你想使用svn mkdir使这些目录。你只是创建了一堆什么都没有做与你的项目目录:

$ svn co http://localhost/svn/project1 
$ cd project1 
$ svn mkdir trunk branches tags 
$ svn commit 

或者......

$ REPO=http://localhost/svn/project2 
$ svn mkdir $REPO/trunk $REPO/branches $REPO/tags 

事实上,file://工程和http://意味着你必须与Apache的问题。一旦你改变了配置,你重新启动了Apache吗?

$ /etc/init.d/httpd graceful # Restarts gracefully... 
+0

感谢您的相关信息,但它仍然得到405错误。 多数民众赞成在我重新启动后:http://pastebin.com/yMw8czwE – weini37

+0

还有一件事:看看我的httpd配置,你可能需要从'SVNParentPath/opt/svn /'删除最后的斜杠,使它' SVNParentPath/opt/svn'。重新启动Apache,看看它是否可以。否则,Subversion DAV设置会发生一些事情。 –

+0

嗯,我从'SVNParentPath/opt/svn /'中删除了/并重新启动了apache2服务器'service apache2 restart'。 我试图用'svn co http:// localhost/svn/project1'查看我的项目,并且仍然在我的第一篇文章中遇到同样的错误。 – weini37