欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SVN服务搭建

程序员文章站 2022-07-12 18:30:45
...

yum方式搭建:

1,安装SVN服务端

直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装)

sudo apt-get install subversion  

 

2,创建版本库

svnadmin create /home/myrepos    //这里的文件目录自己随便设置  

 

3,配置svnserve

上述版本库/home/myrepos建立后在文件夹下会生成conf文件夹,进入/home/myrepos/conf下面会有下面3个文件

authz passwd svnserve.conf  

 

我们依次修改

3.1,svnserve.conf修改以下几个部分:

anon-access = read  

auth-access = write  

password-db = passwd  

authz-db = authz  

 

3.2,passwd修改为:

[users]  

username = password    //这里的username和password自己设置  

 

3.3,authz最后加上以下两行(这两行解决了 SVN客户端解决authorization failed问题)

[/]  

username  = rw    

 

4,启动svnserve即可:

svnserve -d -r /home/myrepos/

 

5,停止svnserve

killall svnserve

 

最后svn客户端访问svn://IP地址即可

 

 

 

软件编译搭建:

所需软件包 

subversion-1.6.17.tar.gz

subversion-deps-1.6.17.tar.gz

 

创建svnadmin用户和用户组

将两个软件包解压在/home/svnadmin/目录下

./configure --prefix=/home/svnadmin/subversion --without-berkeley-db

make

make install

 

检查是否安装成功 /home/svnadmin/subversion/bin/svnserve --version

 

输入 export PATH=$PATH:/home/svnadmin/subversion/bin

这是全局的,其实最好是专门添加一个svnadmin用户,在~/.bashrc中添加即可

 

mkdir -p /home/svnadmin/svndata/repos1

加上参数P,是如果没有父目录则自动创建

注意: /home/svnadmin/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。

 

输入svnadmin create /home/svnadmin/svndata/repos1

这里使用SVN将repos1建立为仓库,则在repos1文件夹里会生成一系列对于repos1仓库相应的配置文件

 

进入/svndata/repos1/conf,会发现有几个配置文件

所有配置文件必须顶格,否则会报错

svnserve.conf 配置情况

[general]

anon-access = none

auth-access = write

password-db = passwd

authz-db=authz

 

authz 配置情况

[groups]

admin = svnadmin

[repos1:/]

@admin = rw

svnadmin = rw

 

上面的配置权限控制文件的配置格式如下:

[groups]

<用户组名> = <用户1>,<用户2>, ……

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

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

/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/home/svnadmin/svndata。这样,/就是表示对全部版本库设置权限。

repos1:/,表示对版本库1设置权限

repos2:/occi,表示对版本库2中的occi项目设置权限

repos2:/occi/aaa,,表示对版本库2中的occi项目的aaa目录设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

 

passwd配置情况

[users]

svnadmin = 123456

 

用户密码的配置格式:

[users]

<用户1> = <密码1>

<用户2> = <密码2>

注意:这里的配置文件,除了注释外每行都必须顶行,否则又会报错了。

 

启动SVN

svnserve -d -r /home/svnadmin/svndata

svnserve命令 在/home/svnadmin/subversion/bin目录里面

-d表示在后台运行,-r表示……

 

基本测试

1 checkout

svn checkout svn://IP/repos1

2更新

svn up

3提交

svn ci -m 'add file'

4查看信息

svn info

5增/删

svn add file / svn del fiel

 

开启SVN的端口,默认是3690

在测试的时候,在本机可以使用svn,但是到了其他主机(在同一个局域网)就不行了,错误信息提示

:svn: 无法连接主机“192.168.6.74”:

没有到主机的路由,这就是因为防火墙的问题,要保证服务器和客户端都没有屏蔽这个端口这就是因

为防火墙的问题,要保证服务器和客户端都没有屏蔽这个端口

 

SVN客户端连接

URL of repository 填 svn://192.168.1.173/repos1

相关标签: linux svn