閱讀789 返回首頁    go 中電雲集


在Fedora 10下麵配置SVN服務器

subversion(簡稱svn)是近年來崛起的版本管理工具,是cvs的接班人。目前,絕大多數開源軟件都使用svn作為代碼版本管理軟件。

svn服務器有2種運行方式:獨立服務器和借助apache。2種方式各有利弊。

svn存儲版本數據也有2種方式:BDB和FSFS。因為BDB方式在服務器中斷時,有可能鎖住數據(我在搞ldap時就深受其害,沒法根治),所以還是FSFS方式更安全一點。

1.安裝subversion:

yum install subversion.i386

(注;在mandriva下麵需要安裝urpmi subversion subversion-server subversion-tool)

2、創建subversion版本庫,並修改權限

# mkdir -p #SVNPATH/repos

# svnadmin create #SVNPATH/repos/project1

3、啟動subversion服務,並設置版本庫位置

# svnserve –daemon –root=#SVNPATH/repos –listen-port=3690

注:不推薦使用root用戶啟動服務,默認端口號為3690

4.# yum list mod_dav_svn

注:可以發現與mod_dav_svn相關的包mod_dav_svn.i386,安裝mod_dav_svn.i386

# yum install mod_dav_svn.i386

注:安裝完成後可以發現在/etc/httpd/conf.d文件夾下,自動產生了subversion.conf文件,而且自動添加了如下兩行:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

將……之間的內容改為如下內容:

DAV svn

SVNPath #SVNPATH/repos/project1

5、重新啟動Apache服務

# apachectl restart

6、修改SELINUX權限

# chcon -R -h -u system_u -t httpd_sys_content_t #SVNPATH/repos

7.可以用#lsof-i:3690查看是否開啟

8.修改配置文件/home/svnroot/repository/conf/svnserve.conf

[general]

#匿名訪問的權限,可以是read,write,none,默認為read

anon-access = none

#認證用戶的權限,可以是read,write,none,默認為write

auth-access = write

#密碼數據庫的路徑,去掉前麵的#

password-db = passwd

#用戶操作權限#

authz-db = authz

修改配置文件passwd

[users]

user = passwod

user1 = password1

修改配置文件authz

[test1:/]

user = rw

[test1:/doc]

user1 = rw

9.對於單個代碼倉庫

啟動命令 svnserve -d -r /home/svnroot/repository/test1 –listen-host 192.168.1.18

其中-d表示在後台運行,-r指定服務器的根目錄,這樣訪問服務器時就可以直接用svn://服務器ip來訪問了。如果服務器有多ip的話–listen-host來指定監聽的ip地址。

我們可以在svn客戶端中通過svn://192.168.1.18來訪問svn服務器。

對於多個代碼倉庫,我們在啟動時也可以用-r選項來指定服務器根目錄,但訪問時需要寫上每個倉庫相對於svn根目錄的相對路徑。

比如,我們有兩個代碼倉庫/home/svnroot/repository/test1 和/home/svnroot/repository/test2,我們用svnserve -d -r /home/svnroot/repository –listen-host 192.168.1.18來啟動,那麼在客戶端訪問時可以用svn://192.168.1.18/test1和svn://192.168.1.200 /test2來分別訪問兩個項目

啟動完成以後,我們可以用ps aux|grep svnserv來查看是否存在svnserve進程。

10.開放服務器端口

SVN默認端口是3690,你需要在防火牆上開放這個端口。

/sbin/iptables -A INPUT -i eth0 -p tcp –dport 3690 -j ACCEPT

/sbin/service iptables save

你也可以通過svnserve的–listen-port選項來指定一個已經開放的其他端口,不過這樣的話客戶端使用也必須加上端口,如svn://192.168.1.18:9999/。

11.yum 有一個有趣的用法: yum whatprovides mod_dav_svn.so

12.在mandriva下要安裝mod_dav.so,可以用urpmi apache-mod_dav_svn

來源:chinaz

最後更新:2017-01-04 22:34:51

  上一篇:go Windows2003 事件查看器 事件ID對應解釋
  下一篇:go 服務器托管的必要性和常見問題