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