2012年12月5日 星期三

【筆記】如何在Synology DS411j 上設定SVN Server

雖然Synology 有提供不少Server 套件可供選用,不過就是沒有Subversion 這套版本控管的套件。所以只好開始自已上網找點參考文章來看看…還蠻幸運的,網路上的資源似乎還不少。這兩天花了一點時間在搞這玩意,趁現在還有印象就順便把它記錄下來

Step1
登入Synology NAS Web Console,將【控制台】->【終端機】中的【啟動SSH功能打勾】
在【File Station】中建立一個共用資料匣【svn】,然後再建立一個使用者【svnowner】並給他可以存取svn 目錄的權限(上面資料匣和使用者可以視自已的需求來修改,不過之後相關設定記得跟得改就是了)

Step2
用SSH 登入 Synology NAS(DS411J),我的環境是 Mac OSX,所以用是用一套叫 iTerm 的軟體來登入,帳號用 【root】密碼就是你NAS Admin的密碼

Step3
用bootstrap 安裝 ipkg,建議先到 這裡 來查詢所屬機型所對應的 CPU,然後再來這裡 找CPU 所對應的bootstrap 及 update site 的資料
(1) cd /
(2) wget [bootstrap link] 
以 DS411J 為例就是 http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/syno-x07-bootstrap_1.2-7_arm.xsh
(3) sh [bootstrap 檔名]
以DS411J為例就是 syno-x07-bootstrap_1.2-7_arm.xsh

Step4
(1) vi /opt/etc/ipkg.conf
(2) 加入 src/gz cross [update site]
以DS411J為例就是 http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/
(3) cd /
(4) ipkg update
(5) ipkg upgrade
(6) ipkg install svn
(7) vi /etc/inetd.conf
加入svn stream tcp nowait svnowner /opt/bin/svnserve svnserve -i -r /volume1/svn
(8) vi /etc/services
加入這兩行
svn  3690/tcp   #Subversion
svn  3690/udp  #Subversion
(9) reboot
重開機

Step5
(1) vi /etc/passwd
將svnowner 後面的/sbin/nologin  改為 /bin/ash
(2) su svnowner
(3) svnadmin create /volume1/svn/[專案目錄名稱]
這段我是無法執行,我後來是直接至 /opt/bin/ 目錄直接執行 svnadmin 指立來建立svn folder

Step6
(1) 修改/volume1/svn/[project name]/conf/passwd 這個檔案,把所需的帳號密碼寫入該檔
(2) 修改 /volume1/svn/[project name]/conf/svnserve.conf 這個檔案
我是把auth-access = write 和 password-db = passwd  前的註解(#) 都拿掉
***記得拿掉註解前面不能留空白***

Step7
(1) reboot
等 NAS 重開完後,就可以用svn client 來測試了

因為這只是筆記,所以有些東西我會很自然的省略(其實就是懶)。有興趣可以參考下面幾個網址,其實都寫的很清楚
synology 討論區
韋所欲為
濁流


張貼留言