亲爱的Stackoverflow社区! 最近我的svn服务器坏掉了,我尝试了几乎所有的东西,但是我不能重新开始工作。
操作系统:Raspbian
我做了什么:安装软件包:
apt-get install subversion libapache2-svn apache2 mysql-server
Enabeling dav_svn: a2enmod dav_svn
创build存储库:
$ 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
创build用户:
$ sudo htpasswd /etc/apache2/dav_svn.passwd weini
创build的存储库文件
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
创build/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"`
其他一切都是默认设置!
错误信息:
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]
当我尝试通过我的浏览器访问存储库时,一切正常: http : //i.stack.imgur.com/aNKzw.png
尝试注释掉这一行:
SVNListParentPath On
– >
#SVNListParentPath On
(切换到关闭也应该工作)。
并重新启动你的Apache。
自从上次apache升级以来,似乎有一个ParentPath的问题。
感谢这(德国)职位: http : //forum.ubuntuusers.de/topic/problem-mit-svn-server-nach-apache-update/#post-6513997
问题是,在这个设置之后,你的父路径在浏览器中的列表是不可能的。 所以对我来说这不是最终的解决方案。
干杯,马克罗斯
我注意到了一些事情:
创建存储库:
$ 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...