本文詳細的介紹了在centos 6 64位服務器上搭建svn服務器的詳細過程。node
環境linode vps centos6 64bitios
svn是版本管理控制工具 安裝簡單方便;centos
svn獨立服務器安裝方式服務器
1ssh
環境準備
ide
yum groupinstall "X Software Development" "Development Libraries" "Development Tools"
svn
2工具
下載所需的源碼包
spa
subversion-deps-1.6.17.tar.gz svn 的支持庫之類的文件
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz
subversion-1.6.17.tar.gz svn 的主程序
wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
orm
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
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
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
而後用戶下載客戶端訪問便可,推薦使用TortoiseSVN。
儘可能不要使用centos自帶的svn版本服務器
安裝過程不要斷掉ssh連接,不然容易出現未知錯誤