在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 2012,00: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