歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> centOS6.4部署svn

centOS6.4部署svn

日期:2017/3/3 14:04:14   编辑:Linux技術
本文詳細的介紹了在centos 6 64位服務器上搭建svn服務器的詳細過程。

工具/原料

環境linode vps centos6 64bit
svn是版本管理控制工具 安裝簡單方便;
svn獨立服務器安裝方式

svn獨立服務器的搭建

1
環境准備
yum groupinstall "X Software Development" "Development Libraries" "Development Tools"
2
下載所需的源碼包
subversion-deps-1.6.17.tar.gz svn 的支持庫之類的文件
wgethttp://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz subversion-1.6.17.tar.gz svn 的主程序
wgethttp://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
3
源碼編譯安裝
這兩個要解壓在同一個目錄下
tar zxvf subversion-deps-1.6.17.tar.gz
tar xvf subversion-1.6.17.tar.gz
cd subversion-1.6.17
./configure --prefix=/opt/svn
make && make install
4
修改環境變量
5
vi /etc/profile , 在/etc/profile 最後加入:
PATH=$PATH:/opt/svn/bin
export PATH
檢測是否安裝成功
svnserve --version
顯示如下信息則表示安裝成功。
svnserve, version 1.6.17 (r1128011)
compiled Mar 23 2012, 16:57:41
END

配置svn

1
系統采用為每個項目單獨建一版本庫的策略。配置文件,密碼文件,訪問控制文件等都放在
版本庫的conf 目錄下。所以每次開始一個新項目都必須新建一個版本庫,並重新配置各配
置文件。還有很重要的一條,要求各組員重新配置客戶端,包括服務器版本庫路徑,本地路
徑等信息。
2
創建svn庫testsvn
mkdir /var/svn
cd /var/svn
svnadmin create testsv
cd testsv
[root@nagios testsv]# ls
conf db format hooks locks README.txt
[root@nagios testsv]# cd conf/
[root@nagios conf]# ls
authz passwd svnserve.conf
3
配置版本庫信息
[root@nagios conf]# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authzauthz-db = authz
realm = testsv(庫的名字)
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
4
定義版本庫訪問權限
[root@nagios conf]# vi authz
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe
Average
[groups]
# harryharry_and_sally = harry,sally
# harryharry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
#添加下面兩句
[/]
testuser = rw
[testsv]
testuser = rw
5
定義用戶密碼
[root@nagios conf]# cat passwd
[users]
# harry = harryssecret
# sally = sallyssecret
testuser = testsv123456
END

啟動svn服務

1
建立啟動svn 的用戶
useradd svn
passwd svn
根據提示為用戶svn 設置密碼
允許用戶svn 訪問版本庫
chown -R svn:svn /var/svn
啟動svn
(1)用設定帳戶啟動
su svn -c "svnserve -d --listen-port 9999 -r /var/svn"
其中:
su svn 表示以用戶svn 的身份啟動svn
-d 表示以daemon 方式(後台運行)運行
–listen-port 9999表示使用9999 端口,可以換成你需要的端口。但注意,使用1024以下的端
口需要root 權限
-r /var/svn 指定根目錄是/var/svn
(2)對於單個代碼倉庫:
2
啟動命令:
svnserve -d -r 文件夾路徑--listen-host 192.168.100.131
其中-d 表示在後台運行, -r 指定服務器的根目錄,這樣訪問服務器時就可以直接用svn://
服務器ip 來訪問了。
如果服務器有多ip 的話–listen-host 來指定監聽的ip 地址.
我們可以在svn 客戶端中通過svn://192.168.100.131 來訪問svn 服務器
(3)對於多個代碼倉庫:
我們在啟動時也可以用-r 選項來指定服務器根目錄, 但訪問時需要寫上每個倉庫相對於svn
根目錄的相對路徑.
比如, 我們有兩個代碼倉庫/var/svn/testsv
svnserve -d -r /var/svn --listen-host 192.168.1.100
來啟動,
那麼在客戶端訪問時可以用svn://192.168.100.100/testsv 來分別訪問兩個項目啟動完成以

我啟動的方法:
[root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131
注意:
svn 默認端口是3690 ,你需要在防火牆上開放這個端口。也可以通過svnserve 的–listen-port
選項來指定一個已經開放的其他端口, 不過這樣的話客戶端使用也必須家上端口, 如
svn://192.168.100.200:8888/
3
檢查是否啟動成功
(查看是否存在svnserve 進程)
ps -ef|grep svnserve
如果顯示如下,即為啟動成功:
svn 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 9999 -r /var/svn
我是用root 帳戶啟動的:
[root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131
[root@austit fabian]# ps -ef|grep svnserve
root 4513 1 0 21:07 ? 00:00:00 svnserve -d -r /var/svn --listen-host 192.168.100.131
root 4515 4409 0 21:07 pts/1 00:00:00 grep svnserve
END

svn使用

然後用戶下載客戶端訪問即可,推薦使用TortoiseSVN。

注意事項

盡量不要使用centos自帶的svn版本服務器
安裝過程不要斷掉ssh鏈接,否則容易出現未知錯誤
Copyright © Linux教程網 All Rights Reserved