64位FreeBSD 8.1下搭建SVN服務(wù)器
原創(chuàng)【51CTO獨家特稿】本文一步一步介紹了FreeBSD 8.1下SVN服務(wù)器的配置。SVN服務(wù)器是版本控制系統(tǒng)(可以看作是CVS的升級),一般用于開發(fā)環(huán)境,用于多人協(xié)同開發(fā)項目的源代碼管理。由于SVN服務(wù)器使用方便,它現(xiàn)在是版本控制系統(tǒng)的主流,尤其適用于集中式版本管理。當(dāng)然Git也是后起之秀,它適用于更大的項目,多用于分布式環(huán)境。目前我們也在嘗試進行Git的布署工作,不過本文還是先介紹SVN。有關(guān)CVS的配置方面,可以參考之前另一篇FreeBSD 8.1下配置CVS服務(wù)器的文章。
作者簡介:余洪春(博客),網(wǎng)名撫琴煮酒,英文名Andrew.Yu,武漢某外企高級Linux/Unix系統(tǒng)管理員、項目實施工程師,紅帽RHCE講師,擅長負載均衡高可用和中小型證券類和商務(wù)網(wǎng)站架構(gòu),目前關(guān)注網(wǎng)站架構(gòu)研究及網(wǎng)絡(luò)安全。
安裝前的準備工作
系統(tǒng)是64位的FreeBSD 8.1,相關(guān)優(yōu)化及配置我這里也不多費筆墨了(具體可以參考51CTO的FreeBSD配置與優(yōu)化專題)。將ports配置好,由于SVN可以獨立運行,也可以以Apache附加的形式運行;我這里為了權(quán)限控制的方便,采用的是apache方式,所以這里第一步是配置Apache,注意FreeBSD 8.1第一次運行apache22還有點問題,下面會詳細解釋。
由于是內(nèi)網(wǎng)環(huán)境,我這里直接以我的用戶andrewy遠程登陸,然后sudo su - 切換到root權(quán)限下操作;這個不是太推薦哈。
一、安裝apache22
ports及vim優(yōu)化是前提和基礎(chǔ),我這里不浪費時間解釋。有興趣的請搜索我以前的文章FreeBSD的優(yōu)化策略。這里說下FreeBSD 8.1下Apache22的安裝:
cd /usr/ports/www/apache22 make WITH_BERKELEYDB=db4 install clean
增加的選項就是為了subversion得用的一個庫【有很多的默認配置信息,選擇默認就可以了】
安裝完畢后,
echo 'apache22_enable="YES" ' > /etc/rc.conf
習(xí)慣了sed的流編輯,不想用vim打開編輯,偷懶操作,呵呵。
FreeBSD8.1下啟動apache22有個小bug,如果想像FreeBSD8下安裝apache22一樣直接就可以啟動是不可能的。
解決方法:
vim /usr/local/etc/apache22/httpd.conf
用#號注釋掉這一句
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
記得修改ServerName 127.0.0.1:80,不然啟動時apache22會提示。
然后/usr/local/etc/rc.d/apache22 start沒問題,可以用sockstat -4l驗證。
二、用ports安裝SVN
安裝subversion
#cd /usr/ports/devel/subversion/ #make WITH_MOD_DAV_SVN=yes install clean
我這里由于是以Apache22的方式啟動SVN,所以apache的配置文件后需要增加如下代碼
#vim /usr/local/etc/apache22/httpd.conf <Location /svn> DAV svn SVNParentPath /data/svn AuthzSVNAccessFile /data/svn/svn-acl-conf AuthType Basic
AuthName "Ewizweb SVN Server"
AuthUserFile /data/svn/svn-auth-file
Require valid-user
</Location>
mkdir -p /data/svn
chmod -R 755 /data/svn
三、配置SVN的用戶acl及用戶權(quán)限文件
下面是控制用戶的acl文件
vim /data/svn/svn-acl-conf [groups] bolan_dev = web,andrwy,cc test=test [produce:/] @bolan_dev= rw @test=r [rest:/] @bolan_dev = rw @test=r
此文件可以控制你的內(nèi)網(wǎng)不同的開發(fā)小組,只允許他們訪問各自的project;有些特殊用戶(比如Director,可以讓他看代碼)上面的文件很簡單,相信大家一看就明白了。
下面則是SVN的用戶驗證文件,它是用Apache的htpasswd加密,這個過程大家玩Apache就應(yīng)該很熟悉了。
Apache和SVN安裝完后記得rehash,不然很多命令都看不到。
#htpasswd -c /etc/svn-auth-file andrewy
第一次添加用戶時需要C參數(shù),以后就不需要了。
添加用戶
#htpaawd /etc/svn-auth-file test
正常啟動SVN后就可以在windows下用TortoiseSVN正常連接SVN服務(wù)器,checkout及commit了,安裝完TortoiseSVN后它會自動跟你的IE集成,你在你的工作目錄新建一個目錄—例如My_project,然后點右鍵“SVN checkout”,輸入正確的http地址即可,如下圖:
總體感覺就是在FreeBSD下配置項目管理軟件確實比Linux下方便多了,希望上面的文章對大家工作有所幫助。
【51CTO.com獨家特稿,轉(zhuǎn)載請注明原文作者和出處。】
【編輯推薦】