SVN+Apache服務器搭建

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。也是就是CVS的接班人!
CVS是一個C/S系統,是一個常用的代碼版本控制軟件。主要在開源軟件管理中使用。與它相類似的代碼版本控制軟件有subversion。多個開發人員通過一箇中心版本控制系統來記錄文件版本,從而達到保證文件同步的目的。CVS版本控制系統是一種GNU軟件包,主要用於在多人開發環境下的源碼的維護。但是由於之前CVS編碼的問題,現在大多數軟件開發公司都使用SVN替代了
CVS。
官方網站:http://subversion.apache.org/
Windows客戶端 TortoiseSVN:http://tortoisesvn.net/
SVN的運行方式及端口
獨立服務器 3690端口 訪問方式SVN:// C/S模式
藉助apache運行 80端口 訪問方式 http://
實戰:
服務端:Centos_65 客戶端:Centos_67 windows7客戶端
軟件安裝:
[root@Cent65 ~]# yum install -y subversion httpd mod_dav_svn
//包括HTTP所需模塊一起裝
創建版本庫目錄
[root@Cent65 ~]# mkdir /webdept
//存放版本庫的主目錄
創建版本庫
[root@Cent65 ~]# svnadmin create /webdept/www.xuegod.cn
[root@Cent65 ~]# svnadmin create /webdept/www.godxue.cn
//創建了兩個版本庫
[root@Cent65 ~]# ls /webdept/www.xuegod.cn/ 查看版本庫
conf db format hooks locks README.txt
dav目錄:是提供apache與mod_dav_svn使用的目錄,讓他們存儲內部數據,剛開始新建時此目錄沒有
db目錄:就是所有版本控制的數據存放文件
hooks目錄:放置hook腳本文件的目錄
locks目錄:用來放置subversion監控鎖定數據的目錄,用來追蹤存取文件庫的客戶端
format文件:是一個文本文件,裏面只放了一個整數。表示當前文件庫配置的版本號
conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問賬號、權限等),也是我們要關注的配置文件
[root@Cent65 ~]# ls /webdept/www.xuegod.cn/conf/
authz passwd svnserve.conf
authz #認證權限相關
passwd #用戶名和密碼
svnserve.conf #服務器配置文件
針對不同版本庫修改配置文件
[root@Cent65 ~]# vim /webdept/www.xuegod.cn/conf/svnserve.conf
[general]
anon-access = read #原先註釋掉了,匿名用戶可以讀,使用none的話就是匿名用戶不可以訪問
auth-access = write #這幾行都要取消註釋,認證用戶可以寫,可以是read,write,none
password-db = passwd #密碼庫文件,默認使用的是同一目錄下的passwd文件作爲用戶密碼庫
authz-db = authz #認證權限文件
realm = www.xuegod.cn #登陸提示信息
注意:此配置文件的所有內容必須頂格,否則會報錯
配置用戶和密碼及認證權限
[root@Cent65 ~]# vim /webdept/www.xuegod.cn/conf/passwd
Make =123456
CAT =123456
top =123456
#末尾添加上面三行
[root@Cent65 ~]# vim /webdept/www.xuegod.cn/conf/authz
[groups] #此行默認存在了
Check = Make,CAT #定義組,在[groups]下面添加
#用戶組格式 用戶組名 = 用戶1,用戶2
#一個組可以包含多個用戶,英文逗號間隔,用戶名必須是在passwd中存在的
[/] #/表示我當前所在版本庫目錄,這裏代表www.xuegod.cn
top = rw
@Check = r #@Check表示這個組的權限,就是上面定義的組的成員
*= #除了上面的有賦予權限成員之外,其他的成員都沒有權限

SVN目錄格式:
[/目錄名]
@用戶組名 =權限
用戶名 =權限
*=
[root@Cent65 ~]# svnserve -d -r /webdept/
//啓動了所有版本庫,如果只需要某一個版本庫,在-r
後面添加/webdept/www.xuegod.cn/的版本庫即可 -d=daemon -r=root of directory of save指定根目錄
使用svn導入測試代碼
導入測試代碼格式: svn [選項] 源碼 svn://server ip/項目名
常見的選項:
import:將未版本化的文件納入版本控制並提交
checkout:從版本庫中檢出一個修訂版
update:更新工作拷貝
add,delete,copy,move:增、刪、複製、移動文件或目錄
在Centos_67客戶端:
安裝svn客戶端:
[root@cent67 ~]# yum -y install subversion
[root@cent67 ~]# mkdir localsvn
[root@cent67 ~]# cd localsvn;touch 1.html 2.html ; cd
[root@cent67 ~]# svn import localsvn/ svn://192.168.1.65/www.xuegod.cn/ -m "first edit"
//本地導入代碼,使用file,僅僅能在服務器本地導入, -m=messages,類似註釋,首次加入代碼使用import
代碼取出
[root@cent67 ~]# svn checkout svn://192.168.1.65/www.xuegod.cn/ downsource
認證領域: <svn://192.168.1.65:3690> 203b6e00-f811-402e-88c7-02fc7069f0a4
“top”的密碼:


注意! 你的密碼,對於認證域:

<svn://192.168.1.65:3690> 203b6e00-f811-402e-88c7-02fc7069f0a4

只能明文保存在磁盤上! 如果可能的話,請考慮配置你的系統,讓 Subversion
可以保存加密後的密碼。請參閱文檔以獲得詳細信息。

你可以通過在“/root/.subversion/servers”中設置選項“store-plaintext-passwords”爲“yes”或“no”,
來避免再次出現此警告。

保存未加密的密碼(yes/no)?no
A downsource/1.html
A downsource/2.html
取出版本 1。
配置apache支持svn
[root@Cent65 ~]# vim /etc/httpd/conf.d/subversion.conf
//末尾添加這些行
<Location /webdept>
DAV svn
SVNParentPath /webdept #svn根目錄
AuthType Basic #Basic認證方式
AuthName "www.xuegod.cn website Dept" #認證顯示信息,提示信息
AuthUserFile /webdept/svn/passwd #用戶密碼文件
AuthzSVNAccessFile /webdept/svn/authz #訪問控制權限文件
Require valid-user #要求正式用戶,不能匿名
</Location>
要把註釋刪除掉
創建用戶passwd文件
[root@Cent65 ~]# mkdir /webdept/svn/
[root@Cent65 ~]# htpasswd -c /webdept/svn/passwd webuser
//第一次用c,創建,第二次就不用
[root@Cent65 ~]# htpasswd /webdept/svn/passwd userweb
//不能用-c,否則會覆蓋webuser
[root@Cent65 ~]# htpasswd /webdept/svn/passwd userhh
[root@Cent65 ~]# cat /webdept/svn/passwd
webuser:ukukbxpE2OG6g
userweb:SLeiQfpWvYyZ6
userhh:XhDx6u./RtpAk
創建權限authz文件
[root@Cent65 ~]# vim /webdept/svn/authz
//創建權限控制文件
[groups]
all = webuser,userweb
[/] #“/”表示所有倉庫的跟目錄下
webuser = rw
[www.xuegod.cn:/] #第一個倉庫,webuser和userweb可以讀寫
@all = rw
[www.godxue.cn:/] #第二個倉庫目錄,userweb和userhh可以讀寫
userweb = rw
userhh = rw
刪除掉註釋
webuser用戶可以讀取www.xuegod.cn,userhh不可讀取
userweb可以讀取www.godxue.cn,webuser不可以
啓動服務測試
[root@Cent65 ~]# service httpd restart
SVN+Apache服務器搭建
SVN+Apache服務器搭建
Windows客戶端下操作
Windows下使用TortoiseSVN工具來配置,官方網站:http://tortoisesvn.net/downloads.html
SVN+Apache服務器搭建
SVN+Apache服務器搭建

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章