公司生產環境中用到了SVN,麼辦法,用了咱就得了解,就得學習,就得掌握呀。
於是網上搜了下,有很多文檔,我也就照葫蘆畫瓢也寫了一份。僅供大家參考。
一、SVN介紹
1、svn(subversion)是近年來崛起的版本管理工具,是cvs的接班人。目前,絕大多數開源軟件都使用svn作為代碼版本管理軟件。
2、運行方式:svn服務器有2種運行方式,獨立服務器和借助apache。2種方式各有利弊,用戶自行選擇。
3、存儲數據:svn存儲版本數據也有2種方式,BDB和FSFS。因為BDB方式在服務器中斷時,有可能鎖住數據,所以還是FSFS方式更安全一點。
4、安全領域:對多種應用進行全面的安全認證、支持多種認證及PKI、功能強大並對用戶透明的通訊加密、面向用戶的集中安全策略管理、統一跨接Internet、Intranet、Extranet的通訊。
5、體系結構:SVN安全遠程客戶端軟件包、SVN證書管理模塊、SVN硬件加密卡、SVN智能帶寬管理模塊、SVN冗余管理模塊、自動地址轉換模塊、SVN安全服務器軟件包、SVN安全客戶端軟件包。
二、SVN安裝
tar -jxvf subversion-1.6.5.tar.gz
cd /usr/src/subversion-1.6.5/
./configure --prefix=/usr/local/svn
make && make install
安裝過程中如果提示缺少某個軟件包,直接用yum安裝上就好。
apache安裝
tar -zxvf httpd-2.2.17.tar.gz
./configure --prefix=/usr/local/apache2
--enable-dav(加次參數使apache加載svn模塊)
--enable-so
make&&make install
apache安裝完成後,測試下。
浏覽器輸入http://本機IP
接下來就是svn和apache的結合了,
首先說一下svn的目錄結構
公司為技術部和安全部各新建的了一個庫,位置如下:
技術:/opt/svnroot/yunwei
安全:/opt/svnroot/anquan
在每個庫中有很多項目倉庫,用戶的數據都是直接放到項目倉庫的。
比如我的/opt/svnroot/yunwei 下面有一個CAS的項目倉庫,則怎樣才能讓這個CAS成為項目倉庫呢?
首先mkdir CAS (新建一個空的目錄)
svnadmin create /opt/svnroot/yunwei/CAS
此時這個CAS就是一個項目倉庫,裡面也會多了很多文件。
最後就是訪問apache怎麼會出現svn庫呢?那就是要改http.conf配置文件啦
添加訪問jishu這個庫的配置:
<Location /jishu/> (svn庫的名字)
DAV svn
SVNListParentPath on
SVNParentPath /opt/svnroot/jishu/ (svn庫的路徑)
AuthType Basic
AuthName "welcome to SVN"
AuthUserFile /opt/svnroot/passwd (apache驗證文件位置)
AuthzSVNAccessFile /opt/svnroot/authz_jishu (對於svn庫的權限配置)
Satisfy all
Require valid-user
</Location>
其他庫的格式同上面的是一樣的。
這裡又涉及到了兩個新的問題,AuthUserFile 和AuthzSVNAccessFile 這兩個文件代表什麼?
先解釋第一個,用戶通過apache訪問svn的時候需要驗證,而這裡指定的文件位置就是apache的認證文件,用戶是通過htpasswd來添加的。
第二個文件:svn庫也就是jishu 這是一個目錄,既然是目錄就涉及到訪問權限,首先這個目錄本身的權限 所有者和所屬組一定要改成apache這個用戶,然後訪問不到,在就是哪些用戶可以刪除jishu這個庫裡的東西,哪些用戶不可以呢,在authz——jishu這個文件裡都是明確指定了的。
配置文件改完之後,重啟下http服務,然後通過浏覽器訪問http://本機IP/jishu/
注意:訪問的時候左斜槓一定不能少,否則訪問不到。
最後給大家上幾張圖片,都是有關於svn配置的,希望對大家有幫助,如果有什麼不對的地方也煩請各位隨時提出,先行謝過。
本文出自 “我的未來不是夢。” 博客,請務必保留此出處http://song49.blog.51cto.com/4480450/791788