linux svn 服务器 安装,Linux下安装配置SVN独立服务器svnserve

svn服务器有两种运行方式:独立服务器svnserve和借助apache作为apache的一个模块,以webdav/deltav协议通讯。

svn存储版本数据有两种方式:BDB和FSFS。BDB方式在服务器中断时,可能锁住数据。FSFS方式更安全些,兼容性好。

一.安装subversion

# wget http://subversion.tigris.org/downloads/subversion-1.6.13.tar.gz

# wget http://subversion.tigris.org/downloads/subversion-deps-1.6.13.tar.gz

# tar -xzvf subversion-1.6.13.tar.gz -C ../software/

# tar -xzvf subversion-deps-1.6.13.tar.gz -C ../software/

# cd ../software/subversion-1.6.13/

# ./configure --prefix=/usr/local/subversion-1.6.13

# make clean

# make

# make install

# ./svnserve --version

svnserve, version 1.6.13 (r1002816)

compiled Jun 1 2011, 10:19:12

Copyright (C) 2000-2009 CollabNet.

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

This product includes software developed by CollabNet (http://www.Collab.Net/).

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

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

Cyrus SASL authentication is available.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# wget http://subversion.tigris.org/downloads/subversion-1.6.13.tar.gz

# wget http://subversion.tigris.org/downloads/subversion-deps-1.6.13.tar.gz

# tar -xzvf subversion-1.6.13.tar.gz -C ../software/

# tar -xzvf subversion-deps-1.6.13.tar.gz -C ../software/

# cd ../software/subversion-1.6.13/

# ./configure --prefix=/usr/local/subversion-1.6.13

# make clean

# make

# make install

# ./svnserve --version

svnserve,version1.6.13(r1002816)

compiledJun12011,10:19:12

Copyright(C)2000-2009CollabNet.

Subversionisopensourcesoftware,seehttp://subversion.tigris.org/

ThisproductincludessoftwaredevelopedbyCollabNet(http://www.Collab.Net/).

Thefollowingrepositoryback-end(FS)modulesareavailable:

*fs_fs:Moduleforworkingwithaplainfile(FSFS)repository.

CyrusSASLauthenticationisavailable.

输出以上信息说明安装成功。

二.建立库文件

1.创建文件夹

# mkdir -p /www/svn/repository

1

# mkdir -p /www/svn/repository

2.创建版本库并指定数据存储模式为FSFS

# ./svnadmin create --fs-type fsfs /www/svn/repository/

# ls /www/svn/repository/

conf db format hooks locks README.txt

1

2

3

# ./svnadmin create --fs-type fsfs /www/svn/repository/

# ls /www/svn/repository/

confdbformathookslocksREADME.txt

3.创建项目临时目录

# mkdir -p /www/svn/tmp/{trunk,tags,branches}

1

# mkdir -p /www/svn/tmp/{trunk,tags,branches}

4.复制项目文件到trunk目录下

# cp -r nginx /www/svn/tmp/trunk/

1

# cp -r nginx /www/svn/tmp/trunk/

5.导入所需管理的项目到版本库repository中

# ./svn import /www/svn/tmp/ file:///www/svn/repository/ -m "first import"

-m 标识操作的注释

/ww/svn/tmp/trunk/nginx 项目文件的位置

file:///www/svn/repository 创建的软件仓库

Adding /www/svn/tmp/trunk/nginx/client_body_temp

Adding /www/svn/tmp/trunk/nginx/uwsgi_temp

Adding /www/svn/tmp/trunk/nginx/logs

Adding /www/svn/tmp/trunk/nginx/logs/access.log

Adding /www/svn/tmp/trunk/nginx/logs/error.log

Adding /www/svn/tmp/trunk/nginx/html

Adding /www/svn/tmp/trunk/nginx/html/50x.html

Adding /www/svn/tmp/trunk/nginx/html/index.html

Adding /www/svn/tmp/trunk/nginx/fastcgi_temp

Adding /www/svn/tmp/trunk/nginx/conf

Adding /www/svn/tmp/trunk/nginx/conf/uwsgi_params

Adding /www/svn/tmp/trunk/nginx/conf/fastcgi_params

Adding /www/svn/tmp/trunk/nginx/conf/uwsgi_params.default

Adding /www/svn/tmp/trunk/nginx/conf/fastcgi.conf

Adding /www/svn/tmp/trunk/nginx/conf/fastcgi_params.default

Adding /www/svn/tmp/trunk/nginx/conf/fastcgi.conf.default

Adding /www/svn/tmp/trunk/nginx/conf/nginx.conf

Adding /www/svn/tmp/trunk/nginx/conf/scgi_params

Adding /www/svn/tmp/trunk/nginx/conf/win-utf

Adding /www/svn/tmp/trunk/nginx/conf/nginx.conf.default

Adding /www/svn/tmp/trunk/nginx/conf/mime.types

Adding /www/svn/tmp/trunk/nginx/conf/scgi_params.default

Adding /www/svn/tmp/trunk/nginx/conf/mime.types.default

Adding /www/svn/tmp/trunk/nginx/conf/koi-win

Adding /www/svn/tmp/trunk/nginx/conf/koi-utf

Adding /www/svn/tmp/trunk/nginx/proxy_temp

Adding /www/svn/tmp/trunk/nginx/scgi_temp

Adding /www/svn/tmp/trunk/nginx/sbin

Adding (bin) /www/svn/tmp/trunk/nginx/sbin/nginx

Committed revision 1.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

# ./svn import /www/svn/tmp/ file:///www/svn/repository/ -m "first import"

-m标识操作的注释

/ww/svn/tmp/trunk/nginx项目文件的位置

file:///www/svn/repository 创建的软件仓库

Adding/www/svn/tmp/trunk/nginx/client_body_temp

Adding/www/svn/tmp/trunk/nginx/uwsgi_temp

Adding/www/svn/tmp/trunk/nginx/logs

Adding/www/svn/tmp/trunk/nginx/logs/access.log

Adding/www/svn/tmp/trunk/nginx/logs/error.log

Adding/www/svn/tmp/trunk/nginx/html

Adding/www/svn/tmp/trunk/nginx/html/50x.html

Adding/www/svn/tmp/trunk/nginx/html/index.html

Adding/www/svn/tmp/trunk/nginx/fastcgi_temp

Adding/www/svn/tmp/trunk/nginx/conf

Adding/www/svn/tmp/trunk/nginx/conf/uwsgi_params

Adding/www/svn/tmp/trunk/nginx/conf/fastcgi_params

Adding/www/svn/tmp/trunk/nginx/conf/uwsgi_params.default

Adding/www/svn/tmp/trunk/nginx/conf/fastcgi.conf

Adding/www/svn/tmp/trunk/nginx/conf/fastcgi_params.default

Adding/www/svn/tmp/trunk/nginx/conf/fastcgi.conf.default

Adding/www/svn/tmp/trunk/nginx/conf/nginx.conf

Adding/www/svn/tmp/trunk/nginx/conf/scgi_params

Adding/www/svn/tmp/trunk/nginx/conf/win-utf

Adding/www/svn/tmp/trunk/nginx/conf/nginx.conf.default

Adding/www/svn/tmp/trunk/nginx/conf/mime.types

Adding/www/svn/tmp/trunk/nginx/conf/scgi_params.default

Adding/www/svn/tmp/trunk/nginx/conf/mime.types.default

Adding/www/svn/tmp/trunk/nginx/conf/koi-win

Adding/www/svn/tmp/trunk/nginx/conf/koi-utf

Adding/www/svn/tmp/trunk/nginx/proxy_temp

Adding/www/svn/tmp/trunk/nginx/scgi_temp

Adding/www/svn/tmp/trunk/nginx/sbin

Adding(bin)/www/svn/tmp/trunk/nginx/sbin/nginx

Committedrevision1.

6.检查是否导入成功

# ./svn list --verbose file:///www/svn/repository/

1 root Jun 01 10:48 ./

1 root Jun 01 10:48 client_body_temp/

1 root Jun 01 10:48 conf/

1 root Jun 01 10:48 fastcgi_temp/

1 root Jun 01 10:48 html/

1 root Jun 01 10:48 logs/

1 root Jun 01 10:48 proxy_temp/

1 root Jun 01 10:48 sbin/

1 root Jun 01 10:48 scgi_temp/

1 root Jun 01 10:48 uwsgi_temp/

1

2

3

4

5

6

7

8

9

10

11

# ./svn list --verbose file:///www/svn/repository/

1rootJun0110:48./

1rootJun0110:48client_body_temp/

1rootJun0110:48conf/

1rootJun0110:48fastcgi_temp/

1rootJun0110:48html/

1rootJun0110:48logs/

1rootJun0110:48proxy_temp/

1rootJun0110:48sbin/

1rootJun0110:48scgi_temp/

1rootJun0110:48uwsgi_temp/

7.修改版本库文件的权限

# chmod 770 repository

# chmod -R g+w repository

1

2

# chmod 770 repository

# chmod -R g+w repository

三.用户管理

1.修改版本库的配置文件

# vim /www/svn/repository/conf/svnserve.conf

[general]

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

realm = repository

[sasl]

1

2

3

4

5

6

7

8

# vim /www/svn/repository/conf/svnserve.conf

[general]

anon-access=read

auth-access=write

password-db=passwd

authz-db=authz

realm=repository

[sasl]

2.修改允许访问版本库的用户文件

# vim /www/svn/repository/conf/passwd

1

# vim /www/svn/repository/conf/passwd

文件格式如下所示:

[users] //不可省略

username1=password1

username2=password2 //每个用户一行

1

2

3

[users]//不可省略

username1=password1

username2=password2//每个用户一行

新建用户列表

xuhh = xuhh@ttlsa.com

1

xuhh=xuhh@ttlsa.com

3.修改用户访问版本库的权限

# vim /www/svn/repository/conf/authz

1

# vim /www/svn/repository/conf/authz

注意:权限配置文件中出现的用户名必须在passwd文件中有定义过,对权限配置文件authz的修改会立即生效。

文件格式如下所示:

用户组格式:

[groups]

user_group_name=username1,username2 //用户间以逗号分割

1

2

[groups]

user_group_name=username1,username2//用户间以逗号分割

版本库目录格式:

[repository:/project/directory] //版本库:/项目/目录

@user_group_name=permissions //用户组名=权限

username=permissions //用户名=权限

1

2

3

[repository:/project/directory]//版本库:/项目/目录

@user_group_name=permissions//用户组名=权限

username=permissions//用户名=权限

[]可以有多种定义 /表示对全部的版本库设置权限,repos1:/表示对repos1设置权限,repos2:/www表示对repos2中的www项目设置权限,repos2:/www/example.com表示对repos2中的www项目的example.com目录设置权限。

可以用*来表示所有用户。

权限可以设置为w,r,wr和空,空表示没有任何权限。

新建用户访问版本库权限

[aliases]

[groups]

developer = xuhh

[/]

@developer = rw

1

2

3

4

5

[aliases]

[groups]

developer=xuhh

[/]

@developer=rw

四.启动和停止subversion

1.启动svn

# ./svnserve -d --listen-port 9999 -r /www/svn/repository --log-file /usr/local/subversion-1.6.13/logs/svn.log --pid-file /usr/local/subversion-1.6.13/logs/svn.pid

1

# ./svnserve -d --listen-port 9999 -r /www/svn/repository --log-file /usr/local/subversion-1.6.13/logs/svn.log --pid-file /usr/local/subversion-1.6.13/logs/svn.pid

-d 以daemon方式运行

--listen-port 监听端口号

-r 指定目录

--log-file 指定日志文件

--pid-file 指定pid文件

2.停止svn

# kill -9 `cat /usr/local/subversion-1.6.13/logs/svn.pid`

1

# kill -9 `cat /usr/local/subversion-1.6.13/logs/svn.pid`

五.客户端访问

1.Windows下安装TortoiseSVN

2.Linux下

# svn checkout svn://192.168.50.10:9999

1

# svn checkout svn://192.168.50.10:9999

转载请注明出处:http://www.ttlsa.com/html/711.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值