SVN服务搭建

阅读更多

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

  • subversion-deps-1.6.17.tar.gz (4.4 MB)
  • 下载次数: 0
  • subversion-1.6.17.tar.gz (7.2 MB)
  • 下载次数: 0

你可能感兴趣的:(linux,svn)