亲爱的Stackoverflow社区! 最近我的svn服务器坏了,我几乎尝试了所有的东西,但我不能让它再次工作。
操作系统: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 / 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]
当我尝试通过我的webbrowser访问存储库时,一切正常:http://i.stack.imgur.com/aNKzw.png
答案 0 :(得分:6)
尝试注释掉这一行:
SVNListParentPath On
- &GT;
#SVNListParentPath On
(切换到关闭也应该有效)。
然后重启你的apache。
自上次apache升级以来,ParentPath似乎存在问题。
感谢此(德国)帖子: http://forum.ubuntuusers.de/topic/problem-mit-svn-server-nach-apache-update/#post-6513997
问题是,在此设置之后,您的父路径列表无法在浏览器中显示....所以对我而言,这不是最终的解决方案。
干杯, 马库斯
答案 1 :(得分: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
创建仓库时会创建您的仓库目录:
$ 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...