• 摩傑斯
  • 2012-08-13

CentOS 6.3 64位安裝svn伺服器方法

本文詳細的介紹了在CentOS 6.3 64位安裝svn伺服器方法

工具/原料

環境linode vps centos6 64bit

 

svn是版本管理控制工具 安裝簡單方便;

 

svn獨立伺服器安裝方式

 

 

svn獨立伺服器的搭建

環境準備

 

 

yum groupinstall "X Software Development" "Development Libraries" "Development Tools"

 

下載所需的原始碼包

 

 

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

 

 

 

原始碼編譯安裝

 

 

 

這兩個要解壓在同一個目錄下

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

 

修改環境變數

 

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

 

配置svn

系統採用為每個專案單獨建一版本庫的策略。配置檔案,密碼檔案,訪問控制檔案等都放在

版本庫的conf 目錄下。所以每次開始一個新專案都必須新建一個版本庫,並重新配置各配

置檔案。還有很重要的一條,要求各組員重新配置客戶端,包括伺服器版本庫路徑,本地路

徑等資訊。

 

建立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

 

配置版本庫資訊

 

 

[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

 

定義版本庫訪問許可權

 

 

[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

 

定義使用者密碼

 

 

[root@nagios conf]# cat passwd

[users]

# harry = harryssecret

# sally = sallyssecret

testuser = testsv123456

 

啟動svn服務

建立啟動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)對於單個程式碼倉庫:

 

啟動命令:

 

 

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/

 

檢查是否啟動成功

 

 

(檢視是否存在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

 

 

 

svn使用

 

 

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

 

 

 

注意事項

儘量不要使用centos自帶的svn版本伺服器

 

安裝過程不要斷掉ssh連結,否則容易出現未知錯誤。可以使用screen來避免ssh斷線的問題。

 

  •  

專業模具,自動化零件加工製造行業管理軟體
中小企業ERP,MES,MRP解決方案
貿易庫存Saas管理系統,Linux郵件伺服器方案

聯絡電話:18625220688

解決方案

模具製造業資訊化
專注模具廠生產管理,顯著縮短交付週期
鈑金行業ERP系統
鐳射切割、折彎、焊接全流程管理
客製化自動化設備管理
報價單、生產進度、成本核算一體化
刀具/治具管理系統
檢具生產全流程數字化管控

資源下載

MES白皮書

模具製造執行系統深度解析

產品介紹文件

摩傑斯PMS系統功能詳解

常見問題FAQ

解答您的所有疑問

聯絡我們

馬上
諮詢我們

14年行業經驗,專注模具、鈑金、客製化自動化設備數字化轉型

186 2522 0688

崑山總部,周邊2小時上門服務

聯絡方式
產品服務詢價

產品及解決方案線上免費諮詢

獲取詢價

常見問題

Q:CentOS 6.3安裝SVN必須用原始碼編譯嗎?
A:是的,官方yum源中CentOS 6.3預設不提供SVN 1.6+版本,需手動編譯安裝以獲得穩定支援。

Q:subversion-deps和subversion主包為何要解壓到同一目錄?
A:因configure指令碼會自動查詢同級目錄下的deps原始碼,否則編譯時提示apr/apr-util等庫缺失。

Q:安裝後如何驗證SVN服務是否就緒?
A:執行svnserve --version,顯示1.6.17版本號即表示二進位制已正確安裝並加入PATH。

Q:為何推薦安裝路徑為/opt/svn?
A:/opt適用於第三方獨立軟體,避免與系統包衝突,且便於許可權隔離和後續升級維護。

最新訊息

線上訂閱