一、SVN介紹
Subversion,簡稱SVN,是一個開放原始碼的版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。網際網路上越來越多的控制服務從CVS轉移到Subversion。在Subversion管理下,允許你的文件和目錄資料恢復到早期版本,或者是檢查資料修改的歷史。正因為如此,許多人將版本控制系統當作一種神奇的「時間機器」。
二、系統配置
Centos5.6 64位元
mod_dav_svn
subversion
三、安裝設定
安裝SVN套件
[root@localhost ~]# yum install mod_dav_svn subversion
使用yum安裝時,如果安裝apache的話,會自動把所需要的都一併安裝。如: apr、apr-util、apache等….
1.1 若要查看subversion是否有安裝或安裝成功可下此命令查詢
[root@localhost ~]# svn –version
svn, version 1.6.11 (r934486)
compiled Apr 14 2011, 07:41:38
Copyright (C) 2000-2009 CollabNet.
以下省略………
開啟Apache服務
2.1先查看apache是否有安裝好。如果有要修改到設定請小心
首先開啟/etc/httpd/conf/httpd.conf
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf #如果有要修改請改這隻檔
[root@localhost ~]# service httpd start #開啟apache
Starting httpd: [ OK ]
[root@localhost ~]# chkconfig httpd on #設定開機自動開啟
2.2 開啟瀏覽器http://yourmachine (yourmachine請輸入自己IP或是網址)
查看是否與下圖一樣。若沒看到表示apache有問題,在重新啟動看看。
Subversion給Apache基本設定
在來設定apache內的相關設定好讓Subversion能與apache相互抓取需要的資料
[root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf
#在最上方查詢是否有這兩行,沒有的話請自行加入
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
#在subversion.conf加入下列的內容,此內容是用來支援基本驗證,
並將Apache指到實際放置版本庫
<Location /repos> # /svn 代表網址 http 連線進入的根目錄路徑位置
DAV svn # svn = 連線方式
SVNPath /var/www/svn/repos # svn 本機檔案位置
AuthType Basic
AuthName "Subversion repos" # 顯示登入帳號密碼的顯示資訊
AuthUserFile /etc/svn-auth-conf # 帳秘存放的位置
Require valid-user # 需輸入帳號密碼
#Satisfy Any # 無需帳號即可使用
</Location>
建立帳號密碼
第一次設定時要加參數 –CM。它會建立檔案並用 MD5 將密碼加密,之後就只要使用M這個參數就行了。(yourusername,anotherusername請設帳號)
[root@localhost ~]# htpasswd -cm /etc/svn-auth-conf yourusername
#第一次建帳密
New password: #輸入密碼
Re-type new password: #確定輸入的密碼
Adding password for user yourusername
[root@localhost ~]# htpasswd -m /etc/svn-auth-conf anotherusername
#第二次建帳密
New password: #輸入密碼
Re-type new password: #確定輸入的密碼
Adding password for user anotherusername
設定版本庫
5.1再來建立用來提交及取區檔案的版本庫。
svnadmin create為建立一個新的空版本庫
[root@localhost ~]# cd /var/www/
[root@localhost ~]# mkdir svn
[root@localhost ~]# cd svn
[root@localhost ~]# svnadmin create repos
[root@localhost ~]# chown -R apache.apache repos
[root@localhost ~]# service httpd restart
5.2測試看看透過網頁是否能存取到版本庫,
http:// yourmahcine/repos (yourmachine請輸入自己IP或是網址)
一開始應該會看到一個要輸入使用者名稱和密碼的視窗,請輸入剛剛上面所設定的帳密
登入後會看到瀏覽器出現,Revision 0: /的頁面如下圖,若有看到這兩個畫面表示初部設定沒問題。
SVN 入門安裝設定教學(下)
全文同步於FAQ-BOOK
IT鐵人文章分享
請問有看到5.2的登人畫面,但是沒看見瀏覽器出現,Revision 0: /的頁面,出現的是Forbidden,如下:(這是要如何查找問題?)謝謝
You don't have permission to access /repos on this server.
5.2測試看看透過網頁是否能存取到版本庫,
http:// yourmahcine/repos (yourmachine請輸入自己IP或是網址)
一開始應該會看到一個要輸入使用者名稱和密碼的視窗,請輸入剛剛上面所設定的帳密