在Synology NAS上面安裝SVN

Synology 一直視我很推的NAS產品,我可以在上面下載eMule/BT,可以自己架設網頁、資料庫、網路相簿、線上音樂、FTP、網路芳鄰,多硬碟的產品還可以做Raid備份,它也提供開放的平台讓第三方可以安裝程式到這台Sever,真的是初學、進階兩相宜。




這次要做的是在Synology上面架設SVN(Subversion) Server,Subversion 是一個自由/開放源碼的版本控制系統,也就是說 Subversion 管理著隨時間改變的檔案。這些檔案放置在一個中央檔案庫 (repository) 中。這個檔案庫很像一個尋常的檔案伺服器,不過它會記住每一次檔案的變動。這樣你就可以把檔案回復到舊的版本,或是瀏覽檔案的變動歷程。最主要是用來做程式碼的版本管控。

這裡記錄了安裝的步驟以及相關資源

1.在網頁管理介面中新增一個使用者 "svnowner"以及資料夾"svn",然後設定"svnowner"有存取"svn"的權限。
如果要更改使用者和資料夾名稱,後面的指令也要隨著修改唷

2.在網頁管理的終端機選項開啟ssh的功能
3.使用ssh連線到該主機,登入的帳號為root,密碼是你網頁管理admin的密碼。
跟我一樣不熟的,可以到下載Putty,執行後輸入該主機的ip就可以

4.用bootstrap安裝ipkg,這部分要先到這裡查詢你機器的CPU類型,再到這裡的Bootstrap部分找到相對應的連結。另外這連結後面的另一個網址則是相對應的update site,這部分先記起來後面會用到
以我自己DS710+為例,查到的CPU是Intel Atom D410 x86 Processor,因此對應的連結是http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh,而對應的update site則是 http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/

5.接下來輸入以下指令來下載bootstrap
DiskStation> cd /
DiskStation> wget [boostrap連結]

6.安裝bootstrap(以DS710+為例就是syno-i686-bootstrap_1.2-7_i686.xsh
DiskStation> sh [boostrap檔名]

7.修改ipkg.config
DiskStation> cd /opt/etc
DiskStation> vi ipkg.conf
加入下一行,網址參考步驟4
src/gz cross [update site]
跟我一樣不熟vi的用法,你按a就可以到編輯模式開始編輯,編輯完成後按ESC跳出到指令模式,輸入 :wq 就可以儲存了。參考更多的VI指令

8.更新ipkg
DiskStation> cd /
DiskStation>  ipkg update
DiskStation>  ipkg upgrade

9.安裝svn
DiskStation> ipkg install svn

10.初始化svnserver
DiskStation> vi /etc/inetd.conf
加入以下指令(如果使用者非svnowner或資料夾不是svn時,自行修改)
svn stream tcp nowait svnowner /opt/bin/svnserve svnserve -i -r /volume1/svn

11.加入services
DiskStation> vi /etc/services
加入以下指令
svn 3690/tcp # Subversion 
svn 3690/udp # Subversion

12.重開機
DiskStation> reboot

SVN的安裝到此結束,接下來就是新建一個專案來測試是否正確
1.輸入以下指令,切換到svnowner作業
su svnowner
這步驟通常會發生錯誤訊息
su: cannot run /sbin/nologin: No such file or directory
解決方法可以參考此網頁
簡單來講就是輸入下面指令
vi /etc/passwd
找到svnowner那行,把後面的/sbin/nologin改成/bin/ash

2.輸入以下指令建立專案
svnadmin create /volume1/svn/[專案名稱]

3.在svn的目錄下會產生該專案名稱的資料夾,接下來就可以設定專案的使用者跟權限了

4.設定使用者與密碼,修改/volume1/svn/[專案名稱]/conf/passwd ,將你想要設定的使用者帳號與密碼寫入
[users] 
testuser = testpw

5.修改/volume1/svn/[專案名稱]/conf/svnserve.conf,建議設定如下(詳細請自行Google)
[general] 
anon-access = none 
auth-access = write 
password-db = passwd 
realm = I am your test repository

6.使用SVN Client軟體,開始使用SVN,我個人是習慣使用TortoiseSVN,Eclipse則是使用subclipse

後記:另外一台DS107就是裝不起來,都是卡在SVN的步驟2,DS710+就很順利。

參考資料:
http://forum.synology.com/wiki/index.php/Step-by-step_guide_to_installing_Subversion_on_ARM-based_Synology_Products

http://www.javaworld.com.tw/roller/morris/entry/synlogy_ds207_%E5%AE%89%E8%A3%9D_subversion


0 意見: