OpenWrt BarrierBreaker 14.07 部署SVN服务器

网上找了一些关于Openwrt部署SVN服务器的文章,很多都是写着直接“Opkg install subversion-server”就可以安装上,但实际上在最新的BB版本(14.07)根本没有包含subversion-server这个软件包,总之我被搞的很凌乱!好在终于找到一个靠谱的方案,不过这个方法没有Opkg直接install来的快捷,但也算不上复杂。

更新: 2015/10/13 CC版本(15.05)也可以用这个方法安装,已验证。

1、安装Subversion

大概原理就是找到Attitude Adjustment(12.09)里的相关软件包下载,然后手动安装。 首先确保你的路由器安装了 libc。路由器的终端输入

1
opkg install libc

软件包的下载地址是: http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

下载以下包

libaprutil_1.3.12-2_ar71xx.ipk
subversion-libs_1.6.17-3_ar71xx.ipk
subversion-server_1.6.17-3_ar71xx.ipk

安装顺序是:libaprutil、subversion-libs、subversion-server
安装完成以后,检查下SVN版本,验证下是否安装完成

1
svnserve --version

如果正确打印出版本信息,安装就完成了。

2、配置

首先需要挂载一块硬盘或者U盘,假设挂载点是“/mnt/sda1”,那么在“/mnt/sda1”上创建一个用于SVN的目录,假设就叫SVN

1
mkdir -p /mnt/sda1/SVN

配置subversion

修改/etc/config/subversion文件,指定svn端口和库文件路径

1
vi /etc/config/subversion

修改

1
2
3
config subversion
option port '3690'
option path '/mnt/sda1/SVN'

option port 为端口号,svn默认端口3690 option path SVN路径 保存配置文件

创建版本库Repository

1
2
mkdir -p /mnt/sda1/SVN/test/
svnadmin create /mnt/sda1/SVN/test/

修改配置文件

1
vi /mnt/sda1/SVN/test/conf/svnserve.conf

留意下面这几个配置,并将前面的#去掉

1
2
3
4
anon-access = none           #匿名不可连接
auth-access = write #认证可以写
password-db = ../../passwd #密码数据库位置
authz-db = ../../authz #用户数据库位置

保存配置文件

将/mnt/sda1/SVN/zone/conf/目录下的passwd,authz两个文件移动到/mnt/sda1/SVN,> 这样,以后再次创建Repository时,只要把svnserve.conf替换就可以共享用户管理了。

mv /mnt/sda1/SVN/test/conf/authz /mnt/sda1/SVN/
mv /mnt/sda1/SVN/test/conf/passwd /mnt/sda1/SVN

配置SVN账户

1
vi /mnt/sda1/SVN/authz

加入以下配置

1
2
[/]
test = rw

这里test = rw表示 test用户拥有读和写的权限

配置SVN账户密码

1
vi /mnt/sda1/SVN/passwd

加入以下配置

1
2
[users]
test = 123456

这里test = 123456 表示test这个账户的密码是123456

允许修改提交日志(这一步看需求,不需要的话可以不做)

1
2
cp /mnt/sda1/SVN/test/hooks/pre-revprop-change.tml /mnt/sda1/SVN/test/hooks/pre-revprop-change
chmod a+x /mnt/sda1/SVN/test/hooks/pre-revprop-change

启动SVN服务

1
/etc/init.d/subversion start

加入开机启动

1
/etc/init.d/subversion enable

3、测试

以上全部做完以后就可以使用SVN客户端连接试试效果了。
按照上面的配置,地址是 svn://192.168.1.1/test 用户名test 密码 123456
这里假设路由器的ip是192.168.1.1
连接顺利的话,Openwrt的SVN服务器部署就算完成了!

  • 本文作者: Tshine Zheng
  • 本文链接: 304.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!