一直以来都在用svn管理源代码,美中不足的是因为svn服务器端部署在本地,没法实如今异地迁入迁出程序,所以考虑将svn服务器部署在个人MyBook Live上。安全
1、部署svn服务器
1.分别执行如下2条命令安装Optwaresvn
wget http://mybookworld.wikidot.com/local--files/optware/setup-mybooklive.sh加密
sh setup-mybooklive.ship
2.安装svn路由
/opt/bin/ipkg install svn部署
svn的相关程序都放在/opt/bin目录下get
3.建立svn主目录,建议放在/DataVolume/shares下,以避免更新固件的时候被删除文件上传
mkdir -m 777 /DataVolume/shares/svn权限控制
4.建立版本库
/opt/bin/svnadmin create /DataVolume/shares/svn/Library
5.加入权限控制,对用户名密码的保存主要有password-db和authz-db两种方式,password-db方式就是用户名和密码都是明文存放在同级目录下的passwd文件中,配置简单但安全性弱,authz-db方式中用户名密码使用了sasl加密,安全性较高但配置更复杂些。为方便起见我使用了password-db方式。
首先须要修改版本库目录中conf目录下的svnserve.conf文件,将下面几行的注释去掉,注意还要把最前面的空格也一块儿删掉,不然会报错
# anon-access = read
# auth-access = write
# password-db = passwd
同时还要把anon-access = read改成anon-access = none以取消匿名用户的读取权限。
接着修改passwd文件,在[users]段中增长user = password,注意等号两边要加空格,不然不起做用。
6.启动svn
/opt/bin/svnserve -d -r /DataVolume/shares/svn
7.实现svn开机自启动
执行如下命令在init.d下创建rc.local
cp /etc/rc.local /etc/init.d/rc.local
而后在在rc.local文件中exit 0一行前插入启动svn的命令
/opt/bin/svnserve -d -r /DataVolume/shares/svn
最后别忘了设置启动级别
update-rc.d rc.local start 99 2 3 4 5 . stop 01 0 1 6 .
8.在路由器上开通端口映射,使MyBook Live的3690端口能经过互联网访问。
2、迁移svn版本库
在MyBook live部署完svn后还要把原来的版本库迁移过去。
1.备份svn版本库
svnadmin dump E:\TortoiseData\Library > E:\svnbak\Library.dump
2.将svn备份文件上传到MyBook live
3.导入备份文件
/opt/bin/svnadmin load /DataVolume/shares/svn/Library/ < Library.dump