2013年8月9日 星期五

[研究] SVN Server 1.6.11安裝 (yum)(CentOS 6.4 x64)

[研究] SubVersion Server 1.6.11 安裝 (CentOS 6.4 x64)

安裝參考
http://traduction.tigris.org/files/documents/1389/10244/book.pdf

一、安裝

yum -y install subversion

# 立刻關閉 SELinux
/usr/sbin/setenforce 0

# 永遠關閉 SELinux,reboot 後生效 (小弟不知是否會干擾,習慣關閉)
sed -i -e "s@SELINUX=enforcing@#SELINUX=enforcing@"   /etc/selinux/config
sed -i -e "s@SELINUX=permissive@#SELINUX=permissive@"   /etc/selinux/config
sed -i -e "/SELINUX=/aSELINUX=disabled"   /etc/selinux/config

# 另一種開機時關閉 SELinux 方法,reboot 後生效 (小弟不知是否會干擾,習慣關閉)
# echo "/usr/sbin/setenforce 0" >> /etc/rc.local  

# 啟動防火牆,才能增加 rule
service iptables start
# 增加 rules:開方 SVN Server Port 3690 給來自 192.168.128.0 網段的連線 (IP 要依自己環境修改)
iptables -I INPUT -s 192.168.128.0/24 -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
# 儲存目前防火牆 rules 設定
service iptables save
# 重新啟動防火牆
service iptables restart
# 列出防火牆目前 rules
iptables -L

#設定 SVN Server

# 假設我們想把程式碼都放到 Code 目錄 (可以自己選定喜歡的)
# 其中 WindowsFormsApplication1 放一個方案,WindowsFormsApplication2 放另一個方案
mkdir -p /Code
svnadmin create /Code/WindowsFormsApplication1
svnadmin create /Code/WindowsFormsApplication2

# 啟動
[root@localhost ~]# service  svnserve  restart

# 檢查服務是否啟動
[root@localhost sysconfig]# netstat -tunlp | grep svn
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      28630/svnserve
[root@localhost sysconfig]#

# 設定 Linux 開機時,自動啟動  SVN Server (svnserve)
[root@localhost /]# chkconfig svnserve on

修改設定檔案,在 svn 根目錄下 conf 子目錄

[root@localhost conf]# vi /Code/WindowsFormsApplication1/conf/svnserve.conf

[general]          
anon-access = none  
auth-access = write
password-db = passwd
authz-db = authz    

注意,這些設定的該行前面不可留空白,否則重新啟動不會有錯誤,但是無法正常運作
例如:auth-access = write 的 auth 前面不可以再有空白

說明

[general]             <==要設定在 [general] 區域,別設定到 [sasl] 區域
anon-access = none    <==匿名存取,禁止
auth-access = write   <==授權帳號,可以讀寫
password-db = passwd  <==授權帳號和密碼的設定檔案請看 passwd 檔案
authz-db = authz      <==授權帳號的讀寫權限

設定帳號與密碼
[root@localhost conf]# vi /Code/WindowsFormsApplication1/conf/passwd

lu    = 123456
harry = 12345
sally = 1234

設定存取權限

[root@localhost conf]# vi /Code/WindowsFormsApplication1/conf/authz

[Code/WindowsFormsApplication1:/]
lu = rw
harry = r

說明:
[Code/WindowsFormsApplication1:/]     <== 要設定權限的目錄
lu = rw     <== lu 可以讀寫
harry = r   <== harry 只能讀取

# 重新啟動 (每次修改任何設定檔案後)
[root@localhost ~]# service  svnserve  restart


二、測試

1.在 Windows 用戶端下載安裝 TortoiseSVN,安裝完成後需要重啟生效

TortoiseSVN官方網站
http://tortoisesvn.net/

2.匯入(Import)測試
小弟用 Visual Studio 2012 建立了一個 WindowsFormsApplication1 方案,在此目錄上按下滑鼠右鍵、選擇 TortoiseSVN 的 Import ,輸入svn://192.168.128.101/Code/WindowsFormsApplication1,之後會要求輸入帳號與密碼(例如:lu和123456),就可以匯入程式碼
 




3.瀏覽 SVN Repository (存放庫)測試



4.CheckOut 測試





檢查版本的方法

[root@localhost ~]# svnserve --version
svnserve, version 1.6.11 (r934486)
   compiled Apr 11 2013, 16:13:51

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

[root@localhost ~]#

列出儲存庫樹狀結構
[root@localhost ~]# svnlook tree /Code/WindowsFormsApplication1
/
 WindowsFormsApplication1.sln
 WindowsFormsApplication1.v11.suo
 WindowsFormsApplication1/
  WindowsFormsApplication1.csproj
  Form1.Designer.cs
  Form1.cs
  bin/
   Debug/
    WindowsFormsApplication1.vshost.exe.manifest
    WindowsFormsApplication1.vshost.exe
  obj/
   Debug/
    TempPE/
    DesignTimeResolveAssemblyReferences.cache
    DesignTimeResolveAssemblyReferencesInput.cache
  Program.cs
  Properties/
   AssemblyInfo.cs
   Settings.settings
   Settings.Designer.cs
   Resources.resx
   Resources.Designer.cs
[root@localhost ~]#



(完)

相關參考

http://traduction.tigris.org/files/documents/1389/10244/book.pdf
http://sin.tigris.org/files/documents/3002/28819/Sin-0.1.1.pdf

在 CentOS 5 上架設SVN 服務器 (不透過Web Server)
http://tw.myblog.yahoo.com/zentai-chang/article?mid=985

SVN 入門安裝設定教學(上)
http://ithelp.ithome.com.tw/question/10078555

SVN 入門安裝設定教學(下)
http://ithelp.ithome.com.tw/question/10078556

CollabNet Subversion Edge (SVN Server 2.2.0 for MS-Windows) 安裝 有4篇

CollabNet Subversion Edge 安裝筆記 (1):基本安裝設定篇
http://blog.miniasp.com/post/2011/12/30/CollabNet-Subversion-Edge-Installation-Notes-Part-1-Basic.aspx

CollabNet Subversion Edge 安裝筆記(2):整合 AD 網域篇
http://my.oschina.net/redhat1520/blog/149096

CollabNet Subversion Edge 安裝筆記 (3):安裝 SSL 憑證篇
http://blog.miniasp.com/post/2012/01/14/CollabNet-Subversion-Edge-Installation-Notes-Part-3-HTTPS-SSL-Certificate.aspx

CollabNet Subversion Edge 安裝筆記 (4):自訂版本庫範本
http://blog.miniasp.com/post/2012/03/29/CollabNet-Subversion-Edge-Installation-Notes-Part-4-Repository-Template.aspx

沒有留言:

張貼留言