RedHat系統(tǒng)下如何搭建SVN服務(wù)器大揭秘
本節(jié)和大家討論一下RedHat系統(tǒng)下搭建SVN服務(wù)器的具體步驟,以及相關(guān)問(wèn)題介紹,通過(guò)本文的學(xué)習(xí)大家可以掌握如何在RedHat系統(tǒng)下搭建SVN服務(wù)器,下面是具體的一些步驟:
修改Apache配置文件
#cd/usr/local/apadche2/bin
#./apachect1stop//停止Apache進(jìn)程
vi/usr/local/apache2/conf/httpd.conf
//在最下面添加,如果你的里面沒(méi)有這兩個(gè)模塊的話
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
Location指示的目的是告訴Apache在特定的URL以及子URL下需要特殊的處理,如果是為Subversion準(zhǔn)備的,
你希望可以通過(guò)告訴Apache特定URL是指向版本化的資源,從而把支持轉(zhuǎn)交給DAV層,你可以告訴Apache將
所有路徑部分(URL中服務(wù)器名稱和端口之后的部分)以/svn/開頭的URL交由DAV服務(wù)提供者處理
- <Location/svn>
- DAVsvn
- SVNParentPath/home/svnroot/repository/
- #ouraccesscontrolpolicy權(quán)限配置文件
- AuthzSVNAccessFile/home/svnroot/repository/authz.conf
- #onlyauthenticatedusersmayaccesstherepository
- Requirevalid-user
- #howtoauthenticateauser
- AuthTypeBasic
- AuthName"Subversionrepositorycreatedbytongyi"
- #用戶配置文件
- AuthUserFile/home/svnroot/repository/authfile
- < span>Location>
#htpasswd[–c]/home/svnroot/repository/authfiletest//用戶名
#test//密碼
//其中authfile是通過(guò)"htpasswd[–c]/home/svnroot/repository/authfileusernamepassword"來(lái)創(chuàng)建//"Requirevalid-user"告訴apache在authfile中所有的用戶都可以訪問(wèn)。如果沒(méi)有它,則只能第一個(gè)用戶可以訪問(wèn)新建庫(kù)#vi/home/svnroot/repository/authz.conf//先創(chuàng)建一個(gè)文件,具體配置后面在說(shuō)明。
//啟動(dòng)apache服務(wù)
#/usr/local/apache2/bin/apachectlstart
//打開瀏覽器訪問(wèn)
http://localhost/svn/test/,如果有東西顯示就說(shuō)明成功。RedHat系統(tǒng)下搭建SVN服務(wù)器時(shí)需要對(duì)權(quán)限進(jìn)行設(shè)置。
權(quán)限管理(即authz.conf的配置)
1)增加用戶
#htpasswd[-c]/home/svnroot/repository/authfileuser1
//第一次設(shè)置用戶時(shí)使用-c表示新建一個(gè)用戶文件。回車后輸入用戶密碼,完成對(duì)用戶的增加,此時(shí)是要用root的權(quán)限來(lái)添加的,添加完后在authfile中看到用戶和加密的密碼。
#htpasswd/home/svnroot/repository/authfile用戶名(加入新的用戶)
//如:"htpasswd/home/svnroot/repository/authfileuser2"
2)權(quán)限分配
#vi/home/svnroot/repository/authz.conf//編輯添加下面內(nèi)容
#群組設(shè)置
[groups]
Tester=test,user1//這個(gè)表示某群組里的成員
#anonymous=guest
[test:/]//這表示,倉(cāng)庫(kù)test的根目錄下的訪問(wèn)權(quán)限
@Tester=rw//test倉(cāng)庫(kù)Tseter組中用戶具有讀和寫權(quán)限
*=r//test倉(cāng)庫(kù)中所有用戶具有讀的權(quán)限
//注意:在編輯authz.conf文件時(shí),所有行都必須要頂頭寫,不能有縮行出現(xiàn),否則會(huì)報(bào)錯(cuò):"Accessdenied:'user1'"。//詳細(xì)設(shè)置查閱
重啟apache進(jìn)程
RedHat系統(tǒng)下搭建SVN服務(wù)器時(shí)需要重啟Apache進(jìn)程。#/usr/local/apache2/bin/apachectlrestart
就可以通過(guò)http://localhost/svn/test這個(gè)URL來(lái)訪問(wèn)倉(cāng)庫(kù)了,當(dāng)然,受權(quán)限的限制,必須是合法用戶才能訪問(wèn)且具有相應(yīng)的權(quán)限。
備忘:
1).在svn使用過(guò)程中牽扯到幾種權(quán)限:文件系統(tǒng)的權(quán)限,linux系統(tǒng)權(quán)限,svn用戶的權(quán)限,apache進(jìn)程的權(quán)限。文件系統(tǒng)的權(quán)限,linux系統(tǒng)權(quán)限:這里相同的意思,就是平時(shí)大家使用linux時(shí)文件夾和文件的訪問(wèn)權(quán)限。在svn建立倉(cāng)庫(kù),文件夾,配置文件的時(shí)候用svnroot用戶,并將倉(cāng)庫(kù)權(quán)限設(shè)置為700,不允許其他用戶直接通過(guò)文件系統(tǒng)查看,只能由svnroot進(jìn)行管理。apache進(jìn)程的權(quán)限:因?yàn)樗懈鷤}(cāng)庫(kù)傳輸?shù)牟僮鞫际峭ㄟ^(guò)apache進(jìn)程進(jìn)行的,所以即使你給svn用戶設(shè)置了很大的權(quán)限,但是apache進(jìn)程沒(méi)有訪問(wèn)倉(cāng)庫(kù)或者相關(guān)文件的權(quán)限也沒(méi)有用,apache進(jìn)程的權(quán)限設(shè)置在/usr/local/apache/conf/httpd.conf文件中配置,找到文件中的這兩行:
Userdaemon#將daemon改為svnroot,讓apache進(jìn)程以svnroot的身份運(yùn)行
Groupdaemon
svn用戶的權(quán)限:就是在authz.conf文件中設(shè)置的權(quán)限信息,是svn用來(lái)管理倉(cāng)庫(kù)訪問(wèn)權(quán)限的。
2).設(shè)置啟動(dòng)系統(tǒng)后,自啟動(dòng)Apache服務(wù)
編輯etc/rc.d/rc.local
#vi/etc/rc.d/rc.local
在最后加上一句:/usr/local/apache2/bin/apachectlstart,
如果安裝過(guò)程遇到難以解決的問(wèn)題查閱:http://svnbook.red-bean.com
http://svn.collab.net/repos/svn/trunk/INSTALL
Ubuntu系統(tǒng)下SVN服務(wù)器的搭建過(guò)程詳解:http://wiki.ubuntu.org.cn/SubVersion
Windows系統(tǒng)下SVN服務(wù)器的搭建過(guò)程詳解:http://indian.blog.163.com/blog/static/10881582007112415021751/。RedHat系統(tǒng)下搭建SVN服務(wù)器到此講解完了,請(qǐng)繼續(xù)關(guān)注本節(jié)的其他相關(guān)報(bào)道。
【編輯推薦】
- Linux下不常用的SVN 命令大揭秘
- Subversion和TortoiseSVN如何在Windows下進(jìn)行構(gòu)建SVN版本控制
- CentOS系統(tǒng)中安裝subversion并使用svn+ssh訪問(wèn)
- SVN使用教程簡(jiǎn)單配置篇詳解
- 在線指導(dǎo):Windows系統(tǒng)服務(wù)自動(dòng)運(yùn)行對(duì)于SVN如何實(shí)現(xiàn)