Linux下SVN的安装

1.安装

确保linux上没有安装subversion

find / -name subversion

如果没有安装的话是空白的,有安装的话就可以新建版本库了

ubantu下svn查看仓库地址 linux查看svn仓库url_windows

svn使用的端口默认是3690,windows下可以再cmd命令使用tcping.exe命令对服务器的端口查看是否可以访问的到,tcping.exe需要下载,下载地址:https://download.elifulkerson.com//files/tcping/0.39/tcping.exe,需要将此exe文件放到C:\Windows\System32目录下,使用命令

tcping 1.117.23.51 3690

出现以下情况表示端口已经开放

ubantu下svn查看仓库地址 linux查看svn仓库url_ubantu下svn查看仓库地址_02

如果端口没有开放,使用防火墙去打开端口,再次进行验证端口是否已经开放。

使用yum安装命令

yum install subversion

2.创建仓库及配置

2.1创建仓库

在/home目录下创建一个svn的仓库的根目录,在svn的下一层创建一个仓库如repository

mkdir -p /home/svn/repository

创建repository仓库

svnadmin create /home/svn/repository

进入仓库

cd /home/svn/repository
ls

可以看到仓库下有以下内容

ubantu下svn查看仓库地址 linux查看svn仓库url_版本库_03

conf文件是用来存放配置文件的,可以看到此文件夹下有以下文件

ubantu下svn查看仓库地址 linux查看svn仓库url_svn_04

其中:

authz:是权限控制文件

passwd:是账号密码文件

svnserve.conf:是svn服务配置文件

2.2修改配置文件

接下来要修改这三个文件

修改passwd文件,创建两个用户,一个test1,一个test2

vim passwd

ubantu下svn查看仓库地址 linux查看svn仓库url_linux_05

配置authz文件

vim authz

在文本末尾添加以下内容

ubantu下svn查看仓库地址 linux查看svn仓库url_ubantu下svn查看仓库地址_06

以后所有的项目版本库代码都放在这个下面

[/]:代表仓库下所有文件

test1 = rw :test1用户可读可写

test2 = rw :test2只读

*=:其他用户无任何权限

2.3使用分组

使用分组可以更加方便的用户和仓库管理

vim authz
group1 = test1
group2 = test2
[/]
@group1 = rw
@group2 = r
*=

ubantu下svn查看仓库地址 linux查看svn仓库url_版本库_07

以上配置了两个分组,分组1的用户可读可写,分组2的用户只读

格式说明:

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

2.4配置svnserve.conf

vim svnserve.conf

打开一下配置的注释,并填写仓库路径

anon-access = none	#匿名用户可读,如果值为read的话会造成Log Message无法显示,把值设为none可读message
auth-access = write	#授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz	#使用哪个文件作为权限文件
realm = /home/svn	#认证空间名,版本库所在目录

**注意:**最后一行的realm要改成svn目录
打开注释时前面不要留有空格,否则可能会报错

3启动

启动

svnserve -d -r /home/svn

语法:

svnserve -d -r svn仓库目录

查看是否启动起来

lsof -i:3690

出现以下情况表示启动成功

ubantu下svn查看仓库地址 linux查看svn仓库url_ubantu下svn查看仓库地址_08

重启

杀死svnserver

killall svnserve

重新启动

svnserve -d -r /home/svn

查看svn进程

ps -ef|grep svn

使用kill -9 pid杀死进程

4客户端连接

首先要安装TortoiseSVN工具,工具安装好以后右键

TortoiseSVN,输入地址svn://你的IP 即可,不出意外输入用户名和密码就能连接成功了。

默认端口3690,如果修改了端口,要记得加上端口号。

ubantu下svn查看仓库地址 linux查看svn仓库url_版本库_09

ubantu下svn查看仓库地址 linux查看svn仓库url_svn_10

认证时输入设置的用户名和密码即可

ubantu下svn查看仓库地址 linux查看svn仓库url_windows_11

点击确定以后,仓库拉取成功

ubantu下svn查看仓库地址 linux查看svn仓库url_linux_12

5出现问题

问题1:checkout时,提示:URL ‘svn://39.101.220.235/svnrepos’ doesn’t exist

如果svn的路径为:/home/svn/repository

启动时不能使用命令

svnserve -d -r /home/svn/repository

要用以下命令

svnserve -d -r /home/svn