在Fedora 10下面配置SVN服務(wù)器 |
發(fā)布時(shí)間: 2012/5/23 20:04:01 |
subversion(簡(jiǎn)稱svn)是近年來(lái)崛起的版本管理工具,是cvs的接班人。目前,絕大多數(shù)開(kāi)源軟件都使用svn作為代碼版本管理軟件。 svn億恩科技服務(wù)器有2種運(yùn)行方式:獨(dú)立億恩科技服務(wù)器和借助apache。2種方式各有利弊。 svn存儲(chǔ)版本數(shù)據(jù)也有2種方式:BDB和FSFS。因?yàn)锽DB方式在億恩科技服務(wù)器中斷時(shí),有可能鎖住數(shù)據(jù)(我在搞ldap時(shí)就深受其害,沒(méi)法根治),所以還是FSFS方式更安全一點(diǎn)。 1.安裝subversion: yum install subversion.i386 (注;在mandriva下面需要安裝urpmi subversion subversion-server subversion-tool) 2、創(chuàng)建subversion版本庫(kù),并修改權(quán)限 # mkdir -p #SVNPATH/repos # svnadmin create #SVNPATH/repos/project1 3、啟動(dòng)subversion服務(wù),并設(shè)置版本庫(kù)位置 # svnserve --daemon --root=#SVNPATH/repos --listen-port=3690 注:不推薦使用root用戶啟動(dòng)服務(wù),默認(rèn)端口號(hào)為3690 4.# yum list mod_dav_svn 注:可以發(fā)現(xiàn)與mod_dav_svn相關(guān)的包mod_dav_svn.i386,安裝mod_dav_svn.i386 # yum install mod_dav_svn.i386 注:安裝完成后可以發(fā)現(xiàn)在/etc/httpd/conf.d文件夾下,自動(dòng)產(chǎn)生了subversion.conf文件,而且自動(dòng)添加了如下兩行: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 將......之間的內(nèi)容改為如下內(nèi)容: DAV svn SVNPath #SVNPATH/repos/project1 5、重新啟動(dòng)Apache服務(wù) # apachectl restart 6、修改SELINUX權(quán)限 # chcon -R -h -u system_u -t httpd_sys_content_t #SVNPATH/repos 7.可以用#lsof-i:3690查看是否開(kāi)啟 8.修改配置文件/home/svnroot/repository/conf/svnserve.conf [general] #匿名訪問(wèn)的權(quán)限,可以是read,write,none,默認(rèn)為read anon-access = none #認(rèn)證用戶的權(quán)限,可以是read,write,none,默認(rèn)為write auth-access = write #密碼數(shù)據(jù)庫(kù)的路徑,去掉前面的# password-db = passwd #用戶操作權(quán)限# authz-db = authz 修改配置文件passwd [users] user = passwod user1 = password1 修改配置文件authz [test1:/] user = rw [test1:/doc] user1 = rw 9.對(duì)于單個(gè)代碼倉(cāng)庫(kù) 啟動(dòng)命令 svnserve -d -r /home/svnroot/repository/test1 --listen-host 192.168.1.18 其中-d表示在后臺(tái)運(yùn)行,-r指定億恩科技服務(wù)器的根目錄,這樣訪問(wèn)億恩科技服務(wù)器時(shí)就可以直接用svn://億恩科技服務(wù)器ip來(lái)訪問(wèn)了。如果億恩科技服務(wù)器有多ip的話--listen-host來(lái)指定監(jiān)聽(tīng)的ip地址。 我們可以在svn客戶端中通過(guò)svn://192.168.1.18來(lái)訪問(wèn)svn億恩科技服務(wù)器。 對(duì)于多個(gè)代碼倉(cāng)庫(kù),我們?cè)趩?dòng)時(shí)也可以用-r選項(xiàng)來(lái)指定億恩科技服務(wù)器根目錄,但訪問(wèn)時(shí)需要寫(xiě)上每個(gè)倉(cāng)庫(kù)相對(duì)于svn根目錄的相對(duì)路徑。 比如,我們有兩個(gè)代碼倉(cāng)庫(kù)/home/svnroot/repository/test1 和/home/svnroot/repository/test2,我們用svnserve -d -r /home/svnroot/repository --listen-host 192.168.1.18來(lái)啟動(dòng),那么在客戶端訪問(wèn)時(shí)可以用svn://192.168.1.18/test1和svn://192.168.1.200 /test2來(lái)分別訪問(wèn)兩個(gè)項(xiàng)目 啟動(dòng)完成以后,我們可以用ps aux|grep svnserv來(lái)查看是否存在svnserve進(jìn)程。 10.開(kāi)放億恩科技服務(wù)器端口 SVN默認(rèn)端口是3690,你需要在防火墻上開(kāi)放這個(gè)端口。 /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT /sbin/service iptables save 你也可以通過(guò)svnserve的--listen-port選項(xiàng)來(lái)指定一個(gè)已經(jīng)開(kāi)放的其他端口,不過(guò)這樣的話客戶端使用也必須加上端口,如svn://192.168.1.18:9999/。 11.yum 有一個(gè)有趣的用法: yum whatprovides mod_dav_svn.so 12.在mandriva下要安裝mod_dav.so,可以用urpmi apache-mod_dav_svn 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |