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