789
中電雲集
在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