一直以來都在用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