註:此處的原創,意思是自己搜集資料並在伺服器上實驗成功做的記錄而已。算不得自己的東西,想想有點汗顏!
在Centos下安裝SVN很簡單,使用yum很快就搞定。
yum install mod_dav_svn subversion
下面主要探討下svn的配置。
1、建立 SVN 的根目錄:
[root@vm-moodle ~]# mkdir -p /opt/svn/
2、建立一個資料倉儲:
[root@vm-moodle ~]# mkdir -p /opt/svn/edu/[root@vm-moodle ~]# svnadmin create opt/svn/edu/
3、修改設定檔:
[root@vm-moodle ~]# cd /opt/svn/edu/conf/[root@vm-moodle conf]# ll總計 24-rw-r--r-- 1 root root 710 10-25 09:40 authz-rw-r--r-- 1 root root 325 10-25 09:38 passwd-rw-r--r-- 1 root root 1449 10-25 09:36 svnserve.conf##****************************************************************# 注意,下面的設定檔中的參數前面一定不能留空格,否則後果自負!##****************************************************************[root@vm-moodle conf]# vi svnserve.conf[general]anon-access = none #不允許匿名訪問auth-access = write #認證使用者可寫password-db = passwd #密碼檔案authz-db = authz #使用者驗證檔案[root@vm-moodle conf]# vi authz[edu:/]hansy = rw# 給edu倉庫添加一個名稱為的使用者,許可權為可寫。 [root@vm-moodle conf]# vi passwdhansy = 87827192# 密碼可以是加密密碼,也可以是明文,根據前面的配置來決定
4、啟動服務:
#啟動SVN 服務,並指定 SVN 的根目錄:[root@vm-moodle ~]# svnserve -d -r /opt/svn/ #查看服務是否正常起來:[root@vm-moodle ~]# netstat -tunlp | grep svntcp 0 0 0.0.0.0:3690 0.0.0.0:* EN 3970/svnserve#LISTEN 監聽連接埠3690
5、在Win上安裝TortoiseSVN用戶端
下載需要的Tortoise版本進行安裝。因為這裡的安裝沒有和WEB服務如Apache串連,所以在用戶端訪問時使用SVN協議進行。
一般如:svn://192.168.1.10/edu
輸入使用者名稱、密碼即可正常訪問。
一問一答:
問:安裝好svn服務後在windows下用svn用戶端串連不上svn伺服器?
答:一般是centos中SVN的3690連接埠沒有開啟,使用下面方法
[root@vm-moodle ~]#iptables -I INPUT -p tcp --dport 3690 -j ACCEPT #開放3690連接埠[root@vm-moodle ~]#/etc/rc.d/init.d/iptables save #儲存配置,非常重要 [root@vm-moodle ~]#/etc/init.d/iptables status # 查看是否已經成功:
問:配置基於svnserve的subversion伺服器後,在用戶端訪問subversion版本庫時出現這個錯誤:svnserve.conf:12: Option expected;為什麼會出現這個錯誤呢?
答:因為subversion讀取設定檔svnserve.conf時,無法識別有前置空格的設定檔。看下面的設定檔。
[general]### These options control access to the repository for unauthenticated### and authenticated users. Valid values are "write", "read",### and "none". The sample settings below are the defaults.anon-access = read auth-access = write
在上面的設定檔中,anon-access是頂行的,沒問題,而auth-access就存在前置空格,會導致這個錯誤。
要避免出現這個錯誤,應該在去掉這些行前的#時,也要順手去掉前面的空格.
問:如何輸入TortoiseSVN的使用者名稱、密碼?
答:很多時候,為了方便,我們在使用Tortoise時,會勾選密碼輸入框那裡的儲存驗證資訊。但是當我們想換一個使用者登入時,卻可能發現不知道怎麼換使用者進行登入。Tortoise的使用者名稱密碼等認證資訊都是緩衝在用戶端檔案系統的這個目錄:
C:/Documents and Settings/Administrator/Application Data/Subversion/auth
刪除auth下面的所有檔案夾,重新串連遠程伺服器進行檢出,對話方塊就會出現!