很多同學對SVN+Apache整合很少頭疼,今天整理了一版Apache+SVN整合的文檔,希望能幫助到大家!
SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的。
Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。
一、SVN軟件安裝
wget https://archive.apache.org/dist/subversion/subversion-1.7.10.tar.bz2 http://www.sqlite.org/sqlite-amalgamation-3071502.zip mvsqlite-amalgamation-3071502 subversion-1.7.10/sqlite-amalgamation cdsubversion-1.7.10 ./configure--prefix=/usr/local/svn/ make&& make install
/etc/profile添加以下1行內容:
exportPATH=/usr/local/svn/bin:$PATH
安裝完成後,查看svn版本信息是否已經安裝, /usr/local/svn/bin/svn--version
二、SVN服務配置
1)建立版本庫目錄
mkdir -p /data/svn/ 建立svn版本庫,關聯puppet目錄。 svnadmin create/data/svn/puppet
2) 修改版本庫配置文件
Vi/data/svn/puppet/conf/svnserve.conf
[general] # 使非授權用戶無法訪問 anon-access = none # # 使授權用戶有寫權限 auth-access = write # # 指明密碼文件路徑 password-db = passwd # # 訪問控制文件 authz-db = authz # # 認證命名空間,subversion會在認證提示裏顯示,並且作爲憑證緩存的關鍵字。 realm =/data/svn/puppet
3) 配置用戶及權限
vi/data/svn/puppet/conf/passwd
[users] wugk1 = 123456 wugk2 = 123456
vi/data/svn/puppet/conf/authz
[/] wugk1 = rw wugk2 = rw
三、啓動SVN服務
/usr/local/svn/bin/svnserve-d -r /data/svn/ --listen-port=8001
查看本地8001端口有沒有啓動,netstat –ntl|grep 8001
可以在服務器使用SVN命令:
svn co -r "5" svn://192.168.33.10:8001/puppet遷出代碼。
svn commit提交代碼,svn up更新代碼。
四、SVN+Apache整合配置
拷貝svn模塊至apache modules模塊目錄:
cp /root/svn/subversion-1.7.10/subversion/mod_dav_svn/.libs/mod_dav_svn.so/etc/httpd/modules/ cp/root/svn/subversion-1.7.10/subversion/mod_authz_svn/.libs/mod_authz_svn.so /etc/httpd/modules/
#vi/etc/httpd/conf/httpd.conf
末行添加如下內容:
LoadModule dav_modulemodules/mod_dav.so LoadModuledav_svn_module modules/mod_dav_svn.so
在配置文件最後添加
<Location/svn> DAV svn SVNPath/data/svn/puppet AuthType Basic AuthName "svnfor project" AuthUserFile /etc/httpd/conf/passwd AuthzSVNAccessFile/data/svn/puppet/conf/authz Satisfy al Require valid-user </Location>
生成HTTP訪問密鑰:
htpasswd -c/etc/httpd/conf/passwd wugk01
五、訪問並測試SVN
重啓apache服務,/etc/init.d/httpd restart
最後將puppet數據導入到SVN版本庫中:
svn import /etc/puppet/ file:///data/svn/puppet/svn -m 'ver1'
你若覺得作者的文章寫得不錯,請獎勵作者幾錠銀子,讓作者感受到來自你滿滿的鼓勵和繼續創作的動力!我們支持原創!鼓勵原創!
打賞之後,文章底部顯示參與打賞者的記錄,可以直接通過微信掃描打賞喲,直接按打賞根據提示操作。
自定義打賞金額,友情提示打賞金額不要超過50元哦,土豪可以隨意哦,51CTO謝謝您對作者的支持!謝謝你的慷慨大方!