Centos5.5下搭建SVN+Apache

餘二五發表於2017-11-16
公司生產環境中用到了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,如需轉載請自行聯絡原作者


相關文章