八步實現(xiàn)在Fedora 11上通過Apache搭建SVN服務(wù)器
本節(jié)向大家簡單描述一下如何在Fedora 11上通過Apache搭建SVN服務(wù)器, 主要有八個步驟,希望通過本節(jié)的介紹大家能夠掌握在Fedora 11上通過Apache搭建SVN服務(wù)器方法。 下面是具體介紹。
在Fedora 11上通過Apache搭建SVN服務(wù)器(Subversion)
1. 安裝SVN所需module:
#yum install mod_dav_svn
安裝完畢之后發(fā)現(xiàn),在/etc/httpd/conf.d下多出了subversion.conf,以及/etc/httpd/modules下多出了 mod_dav_svn.so和mod_authz_svn.so兩個文件,這正是subversion.conf中所需要的。
2. 修改subversion.conf,取消一下幾行的注釋,使之成為:
- <Location /repos>
- DAV svn
- SVNParentPath /var/www/svn/
- #
- # # Limit write permission to list of valid users.
- # <LimitExcept GET PROPFIND OPTIONS REPORT>
- # # Require SSL connection for password protection.
- # # SSLRequireSSL
- #
- # AuthzSVNAccessFile /etc/httpd/authz.conf
- # AuthType Basic
- # AuthName "Please enter your name and password"
- # AuthUserFile /etc/httpd/conf.d/authfile
- # Require valid-user
- # </LimitExcept>
- </Location>
其中,SVNParentPath是所有Repository的上層目錄,此處并沒有對訪問SVN的Repository進行限制,就像google code一樣,無須用戶名密碼即可查看,甚至checkout源代碼。
3. 搭建SVN服務(wù)器時在/var/www/下創(chuàng)建一個svn/的文件夾,并在此目錄下創(chuàng)建subversion版本庫:
$ svnadmin create your_repo_name
4. 進入該repository,修改配置文件,位于your_repo_name/conf下,首先修改svnserve.conf,找到并去掉以下幾行的注釋:
anon-access = read #匿名訪問的權(quán)限,可以是read,write,none,默認為read
auth-access = write #認證用戶的權(quán)限,可以是read,write,none,默認為write
password-db = passwd #密碼數(shù)據(jù)庫的路徑
authz-db = authz #用戶操作權(quán)限
5. 修改passwd文件,其格式為:
[users]
user1 = password1
user2 = password2
6. 修改authz文件,格式為:針對每一個repo_name下的目錄,指定每一個用戶應(yīng)該具有怎樣的權(quán)限(注意每行前面不能有空格):
[repo_name:/directory1]
user1 = rw #user1具有read和write權(quán)限
[repo_name:/directory2]
user2 = r #user2只具有read權(quán)限
7. 搭建SVN服務(wù)器時在windows下用TortoiseSVN導(dǎo)入項目:
將項目初始文件,建立成包含以下三個文件夾的形式,其中項目根目錄放入trunk下:
svn_temp\trunk #包含項目整體的,穩(wěn)定的代碼
svn_temp\branch #包含項目的一個分支,如一個子功能
svn_temp\tag #標志項目的一個milestone,如一個release
然后使用TortoiseSVN的import功能,這時可能會出現(xiàn)Permission denied的問題,這是因為上傳文件的目錄的owner是root,需要修改目錄的owner:
Can't open file '/var/www/svn/repo_name/db/txn-current-lock': Permission denied
$ cd /var/www/svn
$ chown -R apache.apache repo_name
# chcon -R -t -t http_sys_content_rw_t repo_name #這一步不需要,因為已經(jīng)關(guān)閉了selinux
這樣可能存在問題,就是任意用戶如果知道了SVN的地址,都可以import任意文件到repository中。這可能需要引入訪問控制(to be continued)。
8. 通過http查看repository中的文件:
http://your_ip_address:port/repos/your_repo_name。本節(jié)關(guān)于在Fedora 11上通過Apache搭建SVN服務(wù)器步驟介紹完畢。
【編輯推薦】
- 淺析如何搭建SVN服務(wù)器
- 深入剖析opensuse10.3上如何搭建SVN服務(wù)器
- RedHat系統(tǒng)下如何搭建SVN服務(wù)器大揭秘
- Windows下搭建SVN服務(wù)器簡明步驟
- 學(xué)習(xí)筆記: 如何刪除SVN版本控制信息