Apache+SVN構建代碼倉庫平臺

很多同學對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

wKioL1ir_Iii9fuYAACdM_I86zM062.png

/etc/profile添加以下1行內容:

exportPATH=/usr/local/svn/bin:$PATH

安裝完成後,查看svn版本信息是否已經安裝, /usr/local/svn/bin/svn--version

wKiom1ir_J3iHf7BAABPYe-9MtA664.png


二、SVN服務配置

1)建立版本庫目錄

mkdir -p /data/svn/
建立svn版本庫,關聯puppet目錄。
svnadmin create/data/svn/puppet

wKiom1ir_LKS_oi3AAAl38NuMRo331.png

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

wKioL1ir_Mmx6rJkAABc7MEGL7U348.png

最後將puppet數據導入到SVN版本庫中:

svn  import /etc/puppet/ file:///data/svn/puppet/svn -m 'ver1'

wKioL1ir_QXxP4b3AAGFi1ym368131.png


你若覺得作者的文章寫得不錯,請獎勵作者幾錠銀子,讓作者感受到來自你滿滿的鼓勵和繼續創作的動力!我們支持原創!鼓勵原創!

打賞之後,文章底部顯示參與打賞者的記錄,可以直接通過微信掃描打賞喲,直接按打賞根據提示操作。

自定義打賞金額,友情提示打賞金額不要超過50元哦,土豪可以隨意哦,51CTO謝謝您對作者的支持!謝謝你的慷慨大方!

wKioL1lDsc3i7hEqAAAfoPude7I249.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章