SCM-SVN集成服务器
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
1.概述
2.環(huán)境準(zhǔn)備
操作系統(tǒng):redhat AS 4或5
SVN軟件:采用subversion.1.4.0,當(dāng)然你可以使用其它版本,基本一樣。
????????????????????下載地址:http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz (官方)
APACHE:本文采用APACHE2.2 : http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz?(官方)
說(shuō)明:雖然AS5中自帶了SVN和APACHE,但是我沒(méi)有做采用,覺(jué)得自己編譯設(shè)置比較穩(wěn)妥和習(xí)慣。
3.安裝APACHE
為什么要先安裝APACHE?因?yàn)槲覀內(nèi)坎捎迷创a編譯方式,而SUBVERSION的編譯要依賴(lài)APACHE的相關(guān)組件,所以我先安裝APACHE(當(dāng)然,這是我的方式,也有其它配置方式的哈)。
3.1.編譯安裝
#?tar?-xzvf?httpd-2.2.11.tar.gz
#?cd?httpd-2.2.11
#?./configure?-prefix=/usr/local/apache2?-enable-so?-enable-dav
#?make
#?make?install
執(zhí)行完成,就安裝完成了.
3.2.檢查測(cè)試
啟動(dòng)服務(wù)器
?# /usr/local/apache2/bin/apachectl start
訪問(wèn) http://localhost/,如果顯示:It working 那就OK了
4.安裝subversion
因?yàn)檫x擇的是使用apache代理方式訪問(wèn)subversion,所以編譯前需要指定APACHE的相關(guān)組件LOCATION.
# wget http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz
# tar -xzvf subversion-1.4.0.tar.gz
# cd subversion-1.4.0
#./configure -with-apxs=/usr/local/apache2/bin/apxs -with apr=/usr/local/apache2/ -prefix=/usr/local/subversion1.4
# make
# make install
好了,安裝完成,簡(jiǎn)單檢查下/usr/local/apache2/modules/下面應(yīng)該有兩個(gè)文件:
mod_authz_svn.so? mod_dav_svn.so
如果你安裝AS5操作系統(tǒng)并選擇安裝系統(tǒng)自帶的SVN,請(qǐng)建立連接以便后續(xù)命令操作。
# ln -s /usr/local/subversion1.4/bin/svn /usr/bin/svn
# ln -s /usr/local/subversion1.4/bin/svnadmin /usr/bin/svn
4.創(chuàng)建和設(shè)置SVN倉(cāng)庫(kù)
我采用的是每個(gè)項(xiàng)目一個(gè)倉(cāng)庫(kù)的方式管理,采用統(tǒng)一的認(rèn)證和授權(quán)配置文件(auth.conf,user.conf)管理所有的倉(cāng)庫(kù)。優(yōu)點(diǎn)在于配置管理簡(jiǎn)單,每個(gè)項(xiàng)目完全獨(dú)立,遷移方便;缺點(diǎn)是我還沒(méi)有找到好的辦法實(shí)現(xiàn)直接瀏覽所有倉(cāng)庫(kù)的方法。廢話(huà)不說(shuō)了,正題~~
?
所有倉(cāng)庫(kù)的父目錄
SVNParentPath /data/svnroot/repository/
所有倉(cāng)庫(kù)的訪問(wèn)權(quán)限設(shè)置文件
/data/svnroot/repository/authz.conf
所有用戶(hù)信息
3.AuthUserFile /data/svnroot/repository/userfile
5.1.創(chuàng)建SVN用戶(hù)組和用戶(hù)
SVN用戶(hù)組是SVN倉(cāng)庫(kù)的宿主,SVN用戶(hù)才可以對(duì)SVN倉(cāng)庫(kù)操作(基本系統(tǒng)安全考慮),也要用于后面APACHE啟動(dòng)用戶(hù)組和用戶(hù)。
# groupadd svn
# useradd svnroot -G?svn -g svn -M
5.2.創(chuàng)建SVN主倉(cāng)庫(kù)
創(chuàng)建SVN倉(cāng)庫(kù)主目錄
# mkdir /data/svnroot/repository
# cd /data/svnroot/repository
5.3.創(chuàng)建SVN倉(cāng)庫(kù)
這里使用testproject作為演示的項(xiàng)目進(jìn)行操作。
# cd /data/svnroot/repository
# svnadmin create testproject
建立好了項(xiàng)目倉(cāng)庫(kù),后續(xù)項(xiàng)目倉(cāng)庫(kù)的目錄結(jié)構(gòu)可以后面服務(wù)啟動(dòng)后,通過(guò)客戶(hù)端動(dòng)態(tài)添加和管理,個(gè)人覺(jué)得這樣比較容易,不用先導(dǎo)入初始化結(jié)構(gòu)。推薦使用小烏龜(TortoiseSVN)。
5.4.建立用戶(hù)和權(quán)限控制文件
待續(xù)。。
5.配置APACHE整合Subversion
主要就是配置APACHE的httpd.conf,使用mod_authz_svn.so? mod_dav_svn.so集成Subversion的功能了。
LoadModule dav_svn_module???? modules/mod_dav_svn.so
LoadModule authz_svn_module?? modules/mod_authz_svn.so
<VirtualHost *:80>
??? ServerAdmin xxxx@gmail.com
??? DocumentRoot /data/www/
??? ServerName www.xxxx.org
??? ErrorLog logs/xxxx.org-error_log
??? CustomLog logs/xxxxx.org-access_log common
?
??????? <Location /svn>
???????? DAV svn
???????? SVNListParentPath on
???????? SVNParentPath /data/svnroot/repository/
???????? AuthzSVNAccessFile /data/svnroot/repository/authz.conf
???????? AuthUserFile /data/svnroot/repository/userfile
?
???????? AuthType Basic
???????? AuthName "qy Subversion repository"
?
???????? #<LimitExcept GET PROPFIND OPTIONS REPORT>
???????? Require valid-user
???????? #</LimitExcept>
???????? #Options Indexes FollowSymLinks
???????? #AllowOverride None
???????? #Order allow,deny
???????? #Allow from all
??????? </Location>
</VirtualHost>
?
轉(zhuǎn)載于:https://my.oschina.net/acooly/blog/770237
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的SCM-SVN集成服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java中io与nio复制文件性能对比
- 下一篇: java 数组的冒泡排序