日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
CentOS7下SVN的安裝及基礎(chǔ)配置介紹

centos 7 下SVN的安裝及基礎(chǔ)配置介紹

創(chuàng)新互聯(lián)建站是一家以網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、網(wǎng)站推廣、小程序App開(kāi)發(fā)等移動(dòng)開(kāi)發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為軟裝設(shè)計(jì)等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開(kāi)發(fā)服務(wù)。

一、實(shí)踐環(huán)境
二、安裝操作系統(tǒng)
三、安裝SVN
四、基礎(chǔ)配置
五、啟動(dòng)SVN
六、客戶端訪問(wèn)
七、常見(jiàn)問(wèn)題排查

一、實(shí)踐環(huán)境

CentOS 7操作系統(tǒng)(CentOS-7-x86_64-DVD-1503-01.iso)

下載地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/

二、安裝操作系統(tǒng)

軟件選擇(SOFTWARE SELECTION):

三、安裝SVN

[root@localhost ~]# yum install subversion

查看是否安裝安裝成功

[root@localhost ~]# svnserve --version

svnserve, version 1.7.14 (r1542130)

  compiled Jun  9 2014, 18:54:44

Copyright (C) 2013 The Apache Software Foundation.

This software consists of contributions made by many people; see the NOTICE

file for more information.

Subversion is open source software, see http://subversion.apache.org/

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.

* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

四、基礎(chǔ)配置

創(chuàng)建一個(gè)空文件夾,例如 svn,作為所有版本庫(kù)的根目錄

[root@localhost ~]# mkdir -p /svn/

進(jìn)入svn目錄,創(chuàng)建版本庫(kù),比如 repo

[root@localhost ~]# cd /svn/

[root@localhost svn]# svnadmin create --fs-type fsfs repo

# 查看repo目錄文件

[root@localhost svn]# cd repo/

[root@localhost repo]# ls

conf  db  format  hooks  locks  README.txt

[root@localhost repo]# cd conf/

[root@localhost conf]# ls

authz  passwd  svnserve.conf

文件說(shuō)明:

1、svnserve.conf文件

該文件用于控制svnserve守護(hù)進(jìn)程(svnserve daemon)的配置,以便訪問(wèn)svn版本庫(kù)。如果僅是通過(guò)http://或者file:URLs方式訪問(wèn)版本庫(kù),則與該文件配置不起作用。

[general]結(jié)點(diǎn)

anon-access(匿名訪問(wèn))和auth-access(認(rèn)證訪問(wèn))選項(xiàng),分別用于控制未認(rèn)證用戶和與認(rèn)證用戶對(duì)svn版本庫(kù)的訪問(wèn),其可選值包含 write,read,none,如果設(shè)置為none則無(wú)對(duì)版本庫(kù)的讀寫訪問(wèn)權(quán)限;設(shè)置為write則有可讀可寫權(quán)限;設(shè)置為read則只有讀權(quán)限。

password-db用于控制密碼數(shù)據(jù)庫(kù)文件的位置,除非指定了一個(gè)帶符號(hào)‘/’ 的路徑,否則文件的位置為包含該配置文件的相對(duì)路徑,如果開(kāi)啟了SASL,則該文件配置不起作用。

authz-db選項(xiàng)控制基于路徑訪問(wèn)控制的認(rèn)證規(guī)則的位置。除非指定了帶‘/’的路徑,否則該文件位置為包含該配置文件的相對(duì)位置。如果不指定authz-db,則沒(méi)有基于路徑的訪問(wèn)控制。

realm 選項(xiàng)指定了版本庫(kù)的認(rèn)證域(authentication realm)。如果兩個(gè)版本庫(kù)有同樣的認(rèn)認(rèn)證域(authentication realm),他們應(yīng)該有相同的密碼數(shù)據(jù)庫(kù),反之亦然。缺省的 realm為版本庫(kù)的uuid

force-username-case 選項(xiàng),在authz-db文件配置的規(guī)則下,讓svnserve比較用戶名之前,規(guī)范化用戶名大小寫(case-normalize)。合法值有 lowser 轉(zhuǎn)小寫;upper轉(zhuǎn)大寫;none采用默認(rèn)的,不進(jìn)行大小寫轉(zhuǎn)化。

[sasl]結(jié)點(diǎn)

用于指定是否為認(rèn)證使用 Cyrus SASL類庫(kù)。默認(rèn)的false。如果svnserve不帶Cyrus SASL支持編譯的,那么該小節(jié)會(huì)被忽略。運(yùn)行'svnserve --version,查找如下行'Cyrus SASL authentication is available.'則表示支持。

該選項(xiàng)指定了想讓SASL提供的安全級(jí)別,0表示加密,1表示僅集成檢查,大于1的的值是和用于加密的有效密匙長(zhǎng)度相關(guān)的。 (e.g. 128 代表 128-bit加密). 默認(rèn)值如下

# min-encryption = 0

# max-encryption = 256

2、password文件

該文件為svnserve密碼文件實(shí)例,每行代表一個(gè)svn用戶賬戶

[users]

用戶名1 = 用戶密碼1

用戶名2 = 用戶密碼2

……

用戶名n = 用戶密碼n

3、authz文件

該文件為svnserve認(rèn)證實(shí)例文件,定義路徑和版本庫(kù)(可選)的認(rèn)證

其中每一行記錄可能代表

1)單個(gè)用戶

2)定義的一組用戶([groups]節(jié)點(diǎn)中定義的

3)定義的一個(gè)別名([aliases]節(jié)點(diǎn)中定義的

4)使用$authenticated token的所有認(rèn)證用戶

5)僅使用$anonymous token的匿名用戶

6)*  任何人

[aliases]

暫時(shí)只知道是設(shè)置別名,但是具體是怎么定義的,不是很清楚,先不管吧

[groups]

自定義分組名1 = 用戶1,用戶2,……

自定義分組名2 = 用戶3,用戶4,……

……

自定義分組名n = 用戶n1,用戶n2,……

說(shuō)明:用戶名之間用英文逗號(hào)分隔

[repository_name:dir_path]

用戶名1 = 權(quán)限1

用戶名2 = 權(quán)限2

……

用戶名n = 權(quán)限n

@自定義分組名1 = 權(quán)限1

@自定義分組名2 = 權(quán)限2

……

@自定義分組名n = 權(quán)限n

&別名1 = 權(quán)限1

&別名2 = 權(quán)限2

……

&別名n = 權(quán)限n

* = 權(quán)限

[dir_path]

用戶名1 = 權(quán)限1

用戶名2 = 權(quán)限2

……

用戶名n = 權(quán)限n

@自定義分組名1 = 權(quán)限1

@自定義分組名2 = 權(quán)限2

……

@自定義分組名n = 權(quán)限n

&別名1 = 權(quán)限1

&別名2 = 權(quán)限2

……

&別名n = 權(quán)限n

* = 權(quán)限

說(shuō)明:

1) [repository_name:dir_path]表示名為repository_name的版本庫(kù)的dir_path目錄,比如 [repo:/]表示repo版本的庫(kù)的根目錄

舉例:

svn版本庫(kù)目錄結(jié)構(gòu)為:/svn/repo,,其中/svn為所有版本庫(kù)的根,repo為其中一個(gè)版本庫(kù)名稱,啟動(dòng)方式:svnserve -d -r /svn/,

那么可以如下設(shè)置

[repo:/] /代表 /svn/

[repo:/test1]

[repo:/test1/test2]

如果只有一個(gè)版本庫(kù),等效做法如下

[/]

[/test1]

[/test1/test2]

其中,test1,test2都是通過(guò)svn客戶端創(chuàng)建的目錄

3) 權(quán)限可為r、w、rw,分別代表只可讀,只可寫,可讀可寫,這里r、w、rw只針對(duì)dir_path最后層級(jí)的目錄生效

例:

[repo:/test1/test2]

shouke = rw

那么svn:192.168.1.103/test1 進(jìn)行訪問(wèn),會(huì)提示認(rèn)證失敗

4) 別名,用戶名,自定義分組不分先后順序

5) * = 權(quán)限,如果無(wú)任何權(quán)限則不填寫,直接 * =  ,這里,*表示除了指定的用戶,自定義分組,別名之外的任何人

修改svnserve.conf配置

[root@localhost conf]# vim svnserve.conf

找到如下內(nèi)容

[general]

……(略)

# anon-access = read

# auth-access = write

改成如下內(nèi)容

[general]

……(略)

anon-access = none

auth-access = write

找到如下內(nèi)容

#password-db = passwd

改成如下內(nèi)容

password-db = password

找到如下內(nèi)容

# authz-db = authz

改成如下內(nèi)容

authz-db = authz

找到如下內(nèi)容

[sasl]

……(略)

# use-sasl = true

改成如下內(nèi)容

[sasl]

……(略)

use-sasl = true

新增svn用戶

[root@localhost conf]# useradd shouke

[root@localhost conf]# passwd shouke

Changing password for user shouke.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@localhost conf]# vim passwd

說(shuō)明:用戶密碼 123456

修改password配置文件

找到如下內(nèi)容,

[users]

# harry = harryssecret

# sally = sallyssecret

在其下新增帶背景色內(nèi)容,如下

[users]

# harry = harryssecret

# sally = sallyssecret

shouke=123456

修改authz配置文件

[root@localhost conf]# vim authz

……(略)

找到如下內(nèi)容

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

在其下新增一行內(nèi)容,如下

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

group1 = shouke

找到如下內(nèi)容

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

在其下新增內(nèi)容,如下

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[repo:/]

@group1 = rw

五、啟動(dòng)SVN

[root@localhost conf]# svnserve -d -r /svn/

說(shuō)明:-d 表示以daemon的方式運(yùn)行,-r dir_path 表示把dir_path當(dāng)作版本庫(kù)的根目錄,比如/svn/repo,svn://192.168.1.103/repo,訪問(wèn)的就是/svn/repo

查看

[root@localhost conf]# netstat -antp | grep svn

tcp  00 0.0.0.0:36900.0.0.0:*  LISTEN    8474/svnserve 

說(shuō)明:如上,默認(rèn)端口為3690

六、客戶端訪問(wèn)

測(cè)試客戶端版本:TortoiseSVN-1.9.1.26747-win32-svn-1.9.1.1441852914.msi

七、常見(jiàn)問(wèn)題排查

1.Unable to connect to repository at url ‘svn://…’ No repositroy found at snv://……,如下

說(shuō)明:訪問(wèn)方式不對(duì),

1)類似svnserve -d -r /svn/ 方式(即指定路徑作為根目錄)開(kāi)啟的svn服務(wù),正確的訪問(wèn)方式svn://192.168.1.103/repo 即svn://ip[:port]/repository_name

2)不指定路徑作為版本庫(kù)的跟目錄里,svnserve -d 方式開(kāi)啟的svn服務(wù),正確的訪問(wèn)方式svn://192.168.1.103/svn/repo 即svn://[:port]/path_of_repository

2、 please wait while the repository browser is initializing

說(shuō)明:防火墻阻止了端口,解決方法(centos7下測(cè)試),開(kāi)放端口

[root@localhost conf]# firewall-cmd --permanent --zone=public --add-port=3690/tcp

success

[root@localhost conf]# firewall-cmd --reload

success

3、類似如下,目標(biāo)計(jì)算機(jī)積極拒絕或者

說(shuō)明:服務(wù)器svnserve未開(kāi)啟.


當(dāng)前標(biāo)題:CentOS7下SVN的安裝及基礎(chǔ)配置介紹
本文URL:http://m.5511xx.com/article/coidpcp.html