Linux下SVN服务器安装配置及客户端安装说明

时间:2022-09-12 17:04:53

原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_zf7k6J6EHSszq4ZU_Tyn0JimTKV8SzI9Ac4veaxCG3im

 

Linux

SVN

服务器安装配置

 

 

第一章

 

安装

 

1. 

采用源文件编译安装。源文件共两个,为:

  

 

subversion-1.6.1.tar.gz  

subversion 

源文件)

  

 

subversion-deps-1.6.1.tar.gz  

subversion

依赖文件)

  

 

注意文件版本必须一致

,

否则很容易产生各种奇怪的问题

2. 

上传以上两个文件到服务器上,解压。解压命令为:

  

 

tar xfvz subversion-1.6.1.tar.gz  

 

tar xfvz subversion-deps-1.6.1.tar.gz  

 

指令简介:

tar 

为解压命令,

xfvz

tar

命令的参数,用于解压

tar.gz

格式压

缩的文件。

 

 

3. 

解压后生成

 subversion-1.6.1 

子目录,两个压缩包解压后都会自动放到此

目录下,不用手动更改。

 

 

4. 

进入解压子目录:

  

cd subversion-1.6.1 

 

5. 

执行

 

 ./configure --prefix=/usr/local/svn  

./configure

时会出现以下错误:

configure: error: We require OpenSSL; try 

with-openssl configure failed for serf

 

这是因为没有安装

openssl

相关包

 

 

openssl

官方网址:

http://www.openssl.org/ 

linux

 

openssl

的安装:

 

wget 

http://www.openssl.org/source/openssl-1.0.0g.tar.gz

 

 

tar xvzf openssl-1.0.0g.tar.gz 

cd openssl-1.0.0g 

 

然后:

 

./config --prefix=/usr/local/ssl shared zlib-dynamic enable-camellia 

 

 

更多详细帮助请运行

 

./config --help 

 

 

然后执行:

 

 

 

make  depend 

 

Make 

Make  test 

make install 

 

编辑

/etc/ld.so.conf, add to paths /usr/local/ssl/lib

(可以直接在

/etc/ld.so.conf.d

文件夹下再创建一个

.conf

文件,

/usr/local/ssl/lib

贝到里面,另外也可以在现有的

.conf

文件中添加

/usr/local/ssl/lib

这个路

径,反正

ld.so.conf

中包含了这个文件夹下的所有

.conf

文件)

 

 

安装之后会在

/usr/local

下生成一个

ssl

目录,

设置环境变量,

/etc/profile

PATH

中增加如下内容:

 

PATH=/usr/local/ssl/bin:/sbin/:$PATH:/usr/sbin 

export PATH 

 

6.

再进到

subversion-1.6.1 

再执行

 ./configure --prefix=/opt/subversion 

进行配置设定并指明安装目录

注意

prefix

前是两个减号

默认不带

BDB

所以默认使用的是

FSFS

模式

若想使用

BDB

模式需另外下载

BDB

.

建议使用

FSFS

模式

.  

指令简介:

configure

命令用于检查安装平台和目标特征,

prefix

用于指定路径。

  

 

configure

完成可能会出现

You 

don’t 

seem 

to 

have 

Berkele

DB 

version 

4.0.14 

or 

newer  installed 

and 

linked 

to 

APR-UTIL.  We 

have 

created 

Makefiles 

which  will 

build without the Berkeley DB back-end; your repositories will use FSFS as the default back-end.  You can find the latest version 

of Berkeley DB here: 

 http://www.oracle.com/technology/software/products/berkeley-db/index.html 

你似乎没有

Berkeley DB

版本

4.0.14

或更新版本安装并链接至四月

- util

的。我们已创建

Makefile

文件的将建立一个没有了

Berkeley DB

后端,

你的版本库作为默认后端使用

FSFS

格式。你可以找到最新版本

Berkeley DB

的位置。

 

 

这个提示可以跳过

因为不使用

BDB

存储。

 

 

7. 

执行

 make 

编译

.  

 

8. 

执行

 make install 

安装

.  

 

 

9. 

添加环境变量

:  

 

vi /etc/profile  

 

在文件最后加入

:  

 

SVNPATH=$PATH:/usr/local/svn/bin  

 

export SVNPATH  

 

10. 

测试

SVN

是否安装成功

,

执行

:  

 

 svnserve --version  

 

如果显示版本信息

则安装成功

(如果没有安装

svnserve

请先安装

apt-get 

install subversion

 

 

 

第二章

 

配置

 

 

 

 

本系统采用为每个项目单独建一版本库的策略。

配置文件,

密码文件,

访问控制

文件等都放在版本库的

conf

目录下。所以每次开始一个新项目都必须新建一个

版本库,

并重新配置各配置文件。

还有很重要的一条,

要求各组员重新配置客户

端,包括服务器版本库路径,本地路径等信息。

  

 

 

1. 

建立版本库目录,

建立好的版本库目录与安装目录不在同级目录下

(

可建立多

个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录

,

以下讲

的都是版本库目录

)  

 

mkdir 

p /opt/svndata/repos  

 

2. 

建立

svn

版本库

(

与上面目录对应

)  

 

svnadmin create /opt/svndata/repos  

 

执行此命令后

svn

自动在

repos

目录下添加必须的配置文件

.  

 

注意

:

版本库不同于一般的文件夹

直接在操作系统上新建文件无法被

SVN

识别

必须使用

import

等命令将文件导入版本库

.  

 

此为

svn

内部指令,

create

用于新建版本库。请使用

svn help

查看详细说明。

  

 

 

 

3. 

修改版本库配置文件

  

 

vi /opt/svndata/repos/conf/svnserve.conf  

 

各参数功能在配置文件的注释中有说明

此处配置如下

:  

 

[general]  

 

anon-access = none # 

使非授权用户无法访问

  

 

auth-access = write # 

使授权用户有写权限

  

 

password-db = /opt/svndata/repos/conf/passwd  # 

指明密码文件路径

  

 

authz-db = /opt/svndata/repos/conf/authz    # 

访问控制文件

 

 

realm = /opt/svndata/repos   # 

认证命名空间,

subversion

会在认证提示里

显示,并且作为凭证缓存的关键字。

  

 

其它采用默认配置

各语句都必须顶格写

左侧不能留空格

否则会出错

.  

 

指令简介:这是

svn

配置文件的格式,请按照以上格式书写。

  

 

4. 

配置用户

  

 

passwd

文件

 

 

输入以下内容:

  

 

[users]  

<

用户

1> = <

密码

1> admin = admin 

<

用户

2> = <

密码

2> username2 = password2 

 

可以添加多个,此为用户名密码对。

  

 

5. 

配置权限

  

 

authz

文件

 

 

指令简介:

此配置文件采用“基于路径的授权”策略,

中括号里指定路径,

以下

列出对各用户的授权。包括只读

r

,读写

rw

。没有列出的用户,则不允许访问。

还可以对用户分组,具体请参考

svn

手册,以下是简单例子:

  

 

用户组格式:

 

[groups] 

<

用户组名

> = <

用户

1>,<

用户

2> 

其中,

1

个用户组可以包含

1

个或多个用户,用户间以逗号分隔。

 

版本库目录格式:

 

[<

版本库

>:/

项目

/

目录

@<

用户组名

> = <

权限

<

用户名

> = <

权限

其中,方框号内部分可以有多种写法

/,

表示根目录及以下。根目录是

svnserve

启动时指定的,我们指定

/opt/svndata

。这样,

/

就是表示对全部版本库设置权限。

 

repos1:/,

表示对版本库

1

设置权限

 

repos2:/abc, ,

表示对版本库

2

中的

abc

项目设置权限

 

repos2:/abc/aaa, ,

表示对版本库

2

中的

abc

项目的

aaa

目录设置权限

 

权限主体可以是用户组、用户或

*

,用户组在前面加

@

*

表示全部用户。权限可

以是

w

r

wr

和空,空表示没有任何权限。

 

示例:

 

[groups] 

MDS4000II_group = admin,zhangl 

[/] 

admin = rw 

viewer = r 

[/dev] 

admin = rw 

viewer = r 

* = 

[/baseline] 

admin = rw 

* = 

[/prj] 

admin = rw 

* = 

[/dev/01 MDS4000II] 

@MDS4000II_group = rw 

* = 

注意:配置

auth 

passwd

svnserve.conf

一定要心细,否则客户端访问时会认证失败,如不能访问,

百度和谷歌上有很多资料可供参考。

 

三、启动

svn