關(guān)于Subversion的安裝、配置和權(quán)限管理
SubVersion 安裝
Subversion 是一個(gè)版本控制系統(tǒng),它是根據(jù) CVS的功能為基礎(chǔ)來(lái)設(shè)計(jì),但是改進(jìn)了一些 CVS 的缺點(diǎn),例如:在 CVS 中搬移檔案目錄很不方便,Subversion 則連目錄的移動(dòng)都納入版本管理;此外,它也增加了其它的功能,例如:不可分割的送交(如同數(shù)據(jù)庫(kù)交易的概念,送交多個(gè)檔案時(shí),若有任何一個(gè)檔案失敗,則這次送交的所有檔案都不會(huì)進(jìn)入檔案庫(kù)中)、支持多種網(wǎng)絡(luò)協(xié)議(file、HTTP、HTTPS、SVN)、一致的檔案差異比對(duì)(不管什么檔案類型,均使用二進(jìn)制差異比對(duì)方式)等。Subversion是一個(gè)自由、開(kāi)放源碼的版本控制系統(tǒng)。它是一個(gè)通用系統(tǒng),可用來(lái)管理任何類型的文件, 其中包括程序源碼。 STRONG> 1. 需要的安裝文件
? httpd-2.0.*.tar.gz(http://www.apache.org)源代碼包
? Subversion-1.0.*.tar.gz(http://subversion.tigris.org/)的源代碼包
2. 編譯安裝httpd
# tar xvzf httpd-2.0.54.tar.gz //解壓apache2安裝包
# cd httpd-2.0.54 //進(jìn)入解壓后的目錄
# ./configure --enable-dav--enable-so --prefix=/usr/local/apache2/
//配置apache安裝,以上的前兩個(gè)參數(shù)是必須要加的,你還可以根據(jù)您的需要添加其他的參數(shù)。后面的參數(shù)制定你要把a(bǔ)pache安裝哪里
# make
# make install //安裝
# cd /usr/local/apache2/bin
# ./apachectl start //啟動(dòng)apache服務(wù)
打開(kāi)瀏覽器http://localhost/如果有測(cè)試頁(yè)出現(xiàn)則證明已經(jīng)安裝成功。
3. 安裝Subversion
# tar xvzf Subversion-1.1.4.tar.gz //解壓SubVersion安裝包
# cd Subversion-1.1.4 //進(jìn)入解壓后的目錄
#./configure--with-apxs=/usr/local/apache2/bin/apxs--prefix=/usr/local/subversion //配置subversion安裝
# make
# make install //安裝
# mkdir /usr/local/repository //創(chuàng)建庫(kù)文件所在的目錄
# cd /usr/local/subversion/bin //進(jìn)入subversion的bin目錄
# ./svnadmin create /usr/local /repository/test //創(chuàng)建倉(cāng)庫(kù)”test”
# cd /usr/local/repository/test
# ls –l //看看是不是多了些文件,如果是則說(shuō)明Subversion安裝成功了
# cd /usr/local/subversion/bin
# ./svn import /home/user/import file:/// usr/local /repository/test –m
‘注釋’ //這條語(yǔ)句將把路徑/home/user/import下找到的文件導(dǎo)入到你開(kāi)始創(chuàng)建的Subversion 知識(shí)庫(kù)中去。這條語(yǔ)句將把路徑/home/user/import下找到的文件導(dǎo)入到你創(chuàng)建的Subversion 倉(cāng)庫(kù)中去,提交后的修訂版為1。# chmod –R 777
/usr/local/repository/test //不要忘了讓每個(gè)人都有使用權(quán)限
4. 修改Apache配置文件
# cd /usr/local/apadche2/bin
# ./apachect1 start //起動(dòng)Apache
# vi /usr/local/apache2/conf/httpd.conf //在下面添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /usr/local/repository/ //svn父目錄
AuthzSVNAccessFile /usr/local/repository/authz.conf //權(quán)限配置文件
AuthType Basic //連接類型設(shè)置
AuthName "Subversion.zoneyump" //連接框提示
AuthUserFile /usr/local/repository/authfile //用戶配置文件
Require valid-user //采用何種認(rèn)證
</Location>
//其中authfile是通過(guò)"htpasswd [–c] /usr/local/repository/authfile username password"來(lái)創(chuàng)建的
//"Require valid-user
"告訴apache在authfile中所有的用戶都可以訪問(wèn)。如果沒(méi)有它,則只能第一個(gè)用戶可以訪問(wèn)新建庫(kù)# cd /usr/local/subversion