溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux系統(tǒng)如何安裝SVN服務(wù)器

發(fā)布時(shí)間:2021-08-18 11:18:31 來(lái)源:億速云 閱讀:129 作者:chen 欄目:建站服務(wù)器

這篇文章主要講解了“l(fā)inux系統(tǒng)如何安裝SVN服務(wù)器”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“l(fā)inux系統(tǒng)如何安裝SVN服務(wù)器”吧!

一、安裝SVN

官網(wǎng)下載:http://subversion.apache.org/packages.html

SVN客戶端:TortoiseSVN,官網(wǎng)下載:http://tortoisesvn.net/downloads.html

# yum install subversion

1.     新建一個(gè)目錄用于存儲(chǔ)SVN所有文件

# mkdir /svn

1)創(chuàng)建svn用戶 #groupadd svn #useradd -g sky user//是將user加入到sky組內(nèi) 切換用戶 #su svn 以后代碼庫(kù)的創(chuàng)建維護(hù)等,都用這個(gè)帳戶來(lái)操作。

2)驗(yàn)證安裝

檢驗(yàn)已經(jīng)安裝的SVN版本信息 [root@localhost modules]# svnserve--version

svnserve,版本 1.6.11 (r934486)編譯于 Jun 23 2012,00:44:03

版權(quán)所有 (C) 2000-2009 CollabNet。Subversion 是開(kāi)放源代碼軟件,請(qǐng)參閱 http://subversion.tigris.org/ 站點(diǎn)。此產(chǎn)品包含由 CollabNet(http://www.Collab.Net/) 開(kāi)發(fā)的軟件。

下列版本庫(kù)后端(FS) 模塊可用:

* fs_base : 模塊只能操作BDB版本庫(kù)。 * fs_fs : 模塊與文本文件(FSFS)版本庫(kù)一起工作。

Cyrus SASL 認(rèn)證可用。

2.       新建一個(gè)資源倉(cāng)庫(kù)

# svnadmin create /svn/project

# ls /svn/project/

conf  db  format  hooks  locks  README.txt

目錄用途說(shuō)明:

l  hooks目錄:放置hook腳本文件的目錄

l  locks目錄:用來(lái)放置subversion的db鎖文件和db_logs鎖文件的目錄,用來(lái)追蹤存取文件庫(kù)的客戶端

l  format文件:是一個(gè)文本文件,里面只放了一個(gè)整數(shù),表示當(dāng)前文件庫(kù)配置的版本號(hào)

l  conf目錄:是這個(gè)倉(cāng)庫(kù)的配置文件(倉(cāng)庫(kù)的用戶訪問(wèn)賬號(hào)、權(quán)限等)

3.       配置svn服務(wù)的配置文件svnserver.conf文件

# vi /svn/project/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /svn/project/conf/passwd

authz-db = /svn/project/conf/authz

realm = My Test Repository         #這是個(gè)提示信息

保存

【[general

#匿名訪問(wèn)的權(quán)限,可以是read,write,none,默認(rèn)為readanon-access=none#使授權(quán)用戶有寫權(quán)限auth-access=write#密碼數(shù)據(jù)庫(kù)的路徑 password-db=passwd#訪問(wèn)控制文件 authz-db=authz#認(rèn)證命名空間,subversion會(huì)在認(rèn)證提示里顯示,并且作為憑證緩存的關(guān)鍵字

realm=/opt/svn/repositories】

以上語(yǔ)句都必須頂格寫, 左側(cè)不能留空格, 否則會(huì)出錯(cuò).

4.       添加兩個(gè)訪問(wèn)用戶及口令

# vi /svn/project/conf/passwd

[users]

xiaoran.shen = 123456

test1 = 123456

test2 = 123456

保存

注意:對(duì)用戶配置文件的修改立即生效,不必重啟svn服務(wù)。 

5.       配置新用戶的授權(quán)文件

# vi /svn/project/conf/authz

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

(#設(shè)置[/]代表根目錄下所有的資源 [/] 或者寫成[repl:/])

@admin

= rw

@user

= r

* =

保存

格式說(shuō)明:

版本庫(kù)目錄格式: 

[<</span>版本庫(kù)>:/項(xiàng)目/目錄](méi) 

@<</span>用戶組名> = <</span>權(quán)限> 

<</span>用戶名> = <</span>權(quán)限>

/ 表示對(duì)根目錄(即/svn/project目錄)下的所有子目錄范圍設(shè)置權(quán)限;

[/abc] 表示對(duì)資料庫(kù)中abc項(xiàng)目設(shè)置權(quán)限;

創(chuàng)建一個(gè)admin組,組成員包括xiaoran.shen和test1

創(chuàng)建一個(gè)user組,成員只有test2;

admin組對(duì)目錄有讀寫權(quán)限;

單個(gè)用戶test2有讀寫權(quán)限;

*=表示除了上面設(shè)置的權(quán)限用戶組以外,其他所有用戶都設(shè)置空權(quán)限,空權(quán)限表示禁止訪問(wèn)本目錄,這很重要一定要加上。

注意:對(duì)權(quán)限配置文件的修改立即生效,不必重啟svn。 

6.       啟動(dòng)svn服務(wù)

svnserve -d -r /svn/project/

注意:不要使用系統(tǒng)提供的 /etc/init.d/svnserve start 來(lái)啟動(dòng),因?yàn)橄到y(tǒng)默認(rèn)的啟動(dòng)腳本中沒(méi)有使用 –r /svn/project參數(shù)指定一個(gè)資源。這種情況下啟動(dòng)的svn服務(wù),客戶端連接會(huì)提示“svn: No repository found in 'svn://192.168.11.229/project' ”這樣的錯(cuò)誤。

默認(rèn)svn服務(wù)器端口是3690。

殺死svn服務(wù):

# ps -ef|grep svn

root      4642     1  016:08 ?        00:00:00 svnserve -d -r/svn/project/

root      4692  3676  0 16:17pxs/2    00:00:00 grep svn

# kill -9 4642

若要使用/etc/init.d/svnserve 腳本,可以修改start()函數(shù)部分,如下:

start() {

    [ -x $exec ] || exit 5

    [ -f $config ] || exit 6

    echo -n $"Starting $prog: "

    daemon --pidfile=${pidfile} $exec $args -r /svn/project

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

    return $retval

}

完成

二、使用客戶端連接

2.1       使用windows的客戶端

打開(kāi)TortoiseSVN Repository Browser工具

在URL中輸入:

svn://192.168.11.229回車,提示輸入用戶名和口令

2.2       使用Linux下的命令行

#

svn co svn://192.168.11.229

3          FAQ

3.1       命令行方式連接,提示svn: No repository found in 'svn://192.168.11.229/project'錯(cuò)誤?

解決:?jiǎn)?dòng)svn服務(wù)的時(shí)候沒(méi)有使用-r /svn/project參數(shù),沒(méi)有指明資源庫(kù)的具體路徑。使用# svnserve -d -r /svn/project/ 命令來(lái)啟動(dòng)就可以了,不要使用/etc/init.d/svnserver腳本。

3.2       執(zhí)行命令# svn co svn://192.168.11.229/project時(shí)提示“svn:Authorization failed”錯(cuò)誤?

解決:一般這種授權(quán)失敗的錯(cuò)誤原因都來(lái)自conf/authz文件的配置

正確的配置如下:

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

@admin

= rw

@user

= rw

* =

保存

如果連接的時(shí)候出現(xiàn)認(rèn)證失敗,請(qǐng)檢查authz和svnserve.conf配置文件。

【如果連接出錯(cuò),請(qǐng)檢查防火牆設(shè)置 #vi /etc/sysconfig/iptables 加入: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT#service iptables restart

創(chuàng)建啟動(dòng)Subversion的腳本: #echo 'svnserve -d -r/opt/lampp/htdocs/_svn/' > start_svn.sh #chmod 0777 start_svn.sh#./start_svn.sh

將啟動(dòng)腳本放置到開(kāi)機(jī)自動(dòng)啟動(dòng)腳本中:以root身份修改文件:/etc/rc.d/rc.local,添加以下文字: su -c /opt/lampp/htdocs/_svn/start_svn.sh svn】

感謝各位的閱讀,以上就是“l(fā)inux系統(tǒng)如何安裝SVN服務(wù)器”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)linux系統(tǒng)如何安裝SVN服務(wù)器這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI