树莓派上搭建SVN及配置

一。在树莓派上安装 svn服务器

1、首先需要安装Subversion软件:sudo apt-get install subversion

2、创建仓库

svnadmin create /var/svn

/var/svn 为所创建仓库的路径,理论上可以是任何目录
3、修改配置文件/var/svn/conf/svnserve.conf
#去掉#[general]前面的#号

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd

注意:所有的行都必须顶格,否则报错, 包括后面的 密码文件, 授权文件。 建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容.

4、修改配置文件passwd

[users]
svnuser = password
ukonline2000 = ukonline2000

注意:
一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用。

5、停止Subversion服务器:

killall svnserve

6、启动Subversion服务器 对于单个代码仓库,启动命令:

svnserve -d -r /var/svn

其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接 用svn://服务器ip来访问了。

另外,客户端推荐用TortoiseSVN。

按照以上的   步骤后, 会出现认证错误的提示,

二。 svn Authorization failed 错误的解决

下面是解决办法:解决svn Authorization failed错误

出现该问题基本都是三个配置文件的问题,下面把这个文件列出来

svnserve.conf:
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

passwd:
[users]
admin=123

authz:
[groups]
[/]
admin= rw

出现authorization failed异常,一般都是authz文件里,用户组或者用户权限没有配置好,只要设置[/]就可以,代表根目录下所有的资源,如果要限定资源,可以加上 子目录即可。

另外:

注意:

例如你执行了

svnadmin create works 创建了一个works版本库,然后你运行svnserve启动服务的时候 -r参数需要制定works的上一级目录,要不然也会出现

authorization failed错误!

示例路径pwd:/alidata/svn/works

svnserve -d -r /alidata/svn

这样一来auth文件里的[works:/]参数才起作用!

总之配置 svn过程是比较麻烦的一个过程,需要耐心调试一下。

最后我的svn设置成功了。

用客户端测试如下:

 pi-svn-2
参考文章
树莓派通过Java实现远程控制电灯
树莓派介绍
树莓派上Java程序作为linux服务并开机自动启动

发表评论