2010年4月21日 星期三

Install SVN on DS1010+

DS1010+ 是 Synology NAS 產品,性能似乎十分的強大。網路上也有許多可以應用的資源。最近公司需要使用到版本控管的功能。於是便有想在 DS1010+ 上安裝 SVN 的念頭。因為 DS1010+ 基本上是跑 linux 的系統,再加上它所使用的 CPU 是 Intel ATOM 的系統,所以與之前 Synology 所提供的 Package 不同。著實讓我花了不少時間。

以下就是我安裝的過程

所有的資料都來自於 Synology 的wiki  Step-by-step guide to installing Subversion。有興趣的人也可以直接上去參考。

1. Enable CLI on your Diskstation  將啟動 SSH 功能打勾

image

2. 建立啟動 subversion 服務的使用者

因為diskstation 是跑 Linux 系統的,所以 subversion 需要一個啟動它的使用者,這裡所使用的是 svnowner。記住,這個使用者的密碼可以要設的複雜一點。而且就算你忘了也沒關係。因為基本上我們是不會用到他去做登入的動作。image

 

3.建立一個共用資料夾供 svn 使用。

在這裡我所使用的是 svn 目錄,記得要給 admin 及 svnowner 有讀寫的權限。並將其他所有的權限都移除。

4. 安裝 ipkg bootstrap

在這裡我參考了另一個討論串(IPKG for DS1010+)及另一個Blog,Diskstation 的預設是沒有 ipkg 的(ipkg 是在嵌入式裝置上最見的套件管理系統),我們需要利用 ipkg 來安裝我們所需要的套件。

    1. 利 用 putty 進入到 DS1010+ 中的命令模式。
    2. get the script from internet
        wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh




    3. run it   

        sh ./syno-i686-bootstrap_1.2-7_i686.xsh




    4. reboot


    5. after reboot, login with root。 變更 ipkg 所查詢的位址

        vi /opt/etc/ipkg.conf




    6. 在開啟檔案後加入以下紅色的文字,因為 DS1010+ 的cup 是 intel atom 系列的,所以我們要採用的是 syno-i686 的 Feed


    7. # Uncomment one of the following package feeds or resolve your arch
      # by visiting http://ipkg.nslu2-linux.org/feeds/optware/
      # src nslu2 http://ipkg.nslu2-linux.org/feeds/optware/nslu2/cross/stable
      # src fsg3 http://ipkg.nslu2-linux.org/feeds/optware/fsg3/cross/stable
      # src ddwrt http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable
      # src xwrt http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable
      # src whiterussian http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable
      # src oleg http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
      # src ts72xx http://ipkg.nslu2-linux.org/feeds/optware/ts72xx/cross/stable
      # src/gz openwrt-brcm24 http://ipkg.nslu2-linux.org/feeds/optware/openwrt-brcm24/cross/u
      # src/gz openwrt-ixp4xx http://ipkg.nslu2-linux.org/feeds/optware/openwrt-ixp4xx/cross/u
      dest root /

      #option verbose-wget
      #
      # Proxy support:
      #
      #option http_proxy http://localhost:5865
      #option ftp_proxy http://proxy.tld:3128
      #option proxy_username <username>
      #option proxy_password <password>

      src syno-d1010 http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable






    1. 更新 ipkg 的資料


    2. ipkg update
      ipkg upgrade


    3. 到這裡 ipkg 可說是可以使用了,接下來我們要開始來案裝 Subversion


    4. ipkg install svn




5. 設定 SVN 




    vi /etc/inetd.conf


  1. 加入下面的設定到最後一行


  2. svn stream tcp nowait svnowner /opt/bin/svnserve svnserve -i -r /volume1/svn


  3. svnowner 就是我們剛才所新增的使用者,/volume1/svn 就是我們剛才所新增的共用目錄。


  4. vi /etc/service


  5. 加入下面的設定到最後一行


  6. svn 3690/tcp #subversionsvn 3690/udp #subversion


  7. 重新開機 reboot


  8. 重新開機後要來設定 SVN 存放空間(Repository)的權限



    1. su svnowner
      cd /volume1/svn
      svnadmin create test


    2. 你可以將 [test] 改成你想要的名稱。經過以上的指令後會在svn 目錄中新增一個 test 的目錄,現在我們要經由編輯裡面的檔案來設定存取的權限


    3. vi /volume1/svn/test/conf/passwd


    4. 加入


    5. [users]
      testuser = testpw


    6. vi /olume1/svn/test/conf/svnserve.conf


      加入

      [general]

      anon-access = none


      auth-access = write


      password-db = passwd


      realm = I am your test repository







大功告成,接下來就是使用 svn client 去存取這個 Repository 了

沒有留言: