CentOS linux下安裝和配置Apache+SVN(用瀏覽器http方式訪問SVN目錄)


在CentOS linux下安裝SVN,我們可以進行以下步驟:

第一步:安裝CentOS Linux操作系統,並在CentOS安裝進行的同時,自定義安裝這一步,一定要勾選Subversion(在“開發工具”里)和Web服務器(Apache)。

我用的是CentOS 6.4版本,只需要安裝DVD1這個iso文件即可。這個DVD文件中有我們下面用到的許多配置文件和模塊文件,像mod_dav_svn等文件,都不需要用yum命令進行額外下載安裝(光盤中的文件的版本都是進行嚴格匹配的)。

第一次啟動CentOS時,你就可以運行命令 svn --version,查看是否提示SVN版本信息。

[root@svn ~]# svn --version
svn,版本 1.6.11 (r934486)
   編譯於 Jun 23 201200:44:03

版權所有 (C) 2000-2009 CollabNet。
Subversion 是開放源代碼軟件,請參閱 http://subversion.tigris.org/ 站點。
此產品包含由 CollabNet(http://www.Collab.Net/) 開發的軟件。

可使用以下的版本庫訪問模塊: 

* ra_neon : 通過 WebDAV 協議使用 neon 訪問版本庫的模塊。
  - 處理“http”方案
  - 處理“https”方案
* ra_svn : 使用 svn 網絡協議訪問版本庫的模塊。  - 使用 Cyrus SASL 認證
  - 處理“svn”方案
* ra_local : 訪問本地磁盤的版本庫模塊。
  - 處理“file”方案

【准備工作】

1.關閉防火牆、做好網絡配置。

此時,我們要關閉防火牆,執行命令 service iptables stop。同時執行命令setup,選擇“網絡配置”,去掉DHCP,設置192.168.2.20(客戶端也在192.168.2.x同一個網段內),子網掩碼255.255.255.0。

2.從DVD1光盤中查找,找到安裝Apache對接SVN的模塊安裝包:mod_dav_svn-1.6.11-7.el6.x86_64.rpm,建議放到/tmp目錄下。

 

第二步:創建SVN文件版本庫和項目。

如果我們要創建一個SVN項目叫bdbt,放到/opt/svndata路徑中。

執行命令:

mkdir /opt/svndata
svnadmin create /opt/svndata/bdbt

svndata是SVN的版本庫名,我們可在/opt/svndata/下創意任意項目。

第三步:到Apache(Web服務器)中配置SVN。

首先到/etc/httpd/conf/httpd.conf中找到 ServerName www.example.com:80,把這句話改成ServerName 192.168.2.20:80(192.168.2.20在本文【准備工作】中的網絡配置這一步已經配置好)。

第四步:安裝好/tmp目錄下的mod_dav_svn-1.6.11-7.el6.x86_64.rpm文件。

用rpm -ivh mod_dav_svn-1.6.11-7.el6.x86_64.rpm命令執行安裝,此時/etc/httpd/conf.d/目錄下多了subversion.conf,而且/usr/lib64/httpd/modules目錄下也多了兩個模塊文件:mod_authz_svn.so和mod_dav_svn.so。

下面我們在/etc/httpd/conf.d/subversion.conf文件中添加兩樣東西:

(1)一般最上面都會有這樣的兩句LoadModule,如果沒有則需添加:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

(2)最下面的Location標簽。/svn是虛擬目錄,映射到/opt/svndata中。

<Location /svn>
   DAV svn
   SVNParentPath /opt/svndata

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /opt/svndata/passwd
      Require valid-user
   </LimitExcept>
</Location>

上面AuthUserFile 的 /opt/svndata/passwd,passwd是一個密碼文件,需要htpasswd -c命令來生成。

htpasswd -c /opt/svndata/passwd user1

 回車(添加用戶名為user1),

提示讓你輸入密碼:

在輸入一次密碼:

如果此時需要添加多個登錄賬戶,來執行

htpasswd -b /opt/svndata/passwd user2 123

(用戶名:user2,密碼123直接寫在后面)

回車之后追加到剛才建立的passwd文件中,打開passwd密碼文件可以看到密碼都是加密的。

此時,用service httpd restart重啟Apache服務。

 

上面我們已經創建好/opt/svndata/bdbt文件版本庫。

要把讀取bdbt目錄的root的擁有人改變成apache,並更改bdbt的安全上下文。

 chown -R apache.apache bdbt
 chcon -R -t httpd_sys_content_t bdbt

回車,即可訪問http://192.168.2.20/svn/bdbt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM