天天看點

Centos5.5下搭建SVN+Apache

公司生産環境中用到了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配置的,希望對大家有幫助,如果有什麼不對的地方也煩請各位随時提出,先行謝過。

本文轉自 linuxsong 51CTO部落格,原文連結:http://blog.51cto.com/song49/791788,如需轉載請自行聯系原作者