本测试用的系统为centos7,应为centos7版本防火墙默认使用的firewall,而不是iptables,所以会有些不一样

一.安装svnserve(这里用yum源安装)

yum -y install subversion

#此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

查看svn安装位置命令:rpm -ql subversion

二.创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

创建目录为:/var/svn/svnrepos,这里svn和svnrepos都是新目录,需要加-p,命令如下:

mkdir -p /var/svn/svnrepos

三.创建svn版本库

在第二步建立的路径基础上,创建版本库,命令如下:

svnadmin create /var/svn/svnrepos/xxx  (xxx为你预期的版本库名称,可自定义)

创建成功后,进入xxx目录下

cd /var/svn/svnrepos/xxx

有如下文件:

conf  db  format  hooks  locks  README.txt

subversion目录说明

db目录:就是所有版本控制的数据存放文件。

hooks目录:放置hook脚本文件的目录。

locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

四.添加账号密码和修改配置

进入conf目录(该svn版本库配置文件)cd conf/

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

注意如下细节修改:

1.添加账号和密码,如下红色框为添加内容,zh为账号,123456为密码

Centos 下建立SVN文件中心库

2.给账号添加读写权限,红色框为添加内容,注意有[\],zh为刚才添加的账号,r代表读,w代表写,这里是读和写的权限

Centos 下建立SVN文件中心库

3.这里是修改svn配置文件svnserve.conf,这里我修改了4个地方,注意:去掉注释的行前面不要有空格,不然会报错

Centos 下建立SVN文件中心库

anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件,这我没打开也不影响使用,后续用的时候在打开

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

五.centos版本系统会需要手动允许防火墙端口(其它系统没测试),然后我使用时centos7,默认使用的是firewall,所以这里操作的也是firewall

firewall-cmd --state #显示状态

打开svn端口3690,命令如下

firewall-cmd --zone=public --add-port=80/tcp --permanent(--permanent永久生效,没有此参数重启后失效)

重新载入: firewall-cmd --reload

firewall-cmd --zone=public --list-ports #查看所有打开的端口

具体防火墙操作请看莫小安博客

六.启动svn服务器

启动命令为:svnserve -d -r /var/svn/svnrepos    #-d:守护进程 -r:svn根目录

可查看svn端口是否打开命令如下

ps -ef | grep svn 或者 netstat -tnlp | grep 3690lsof -i:3690

七.客户端连接

可以先在windows 中的dos窗口使用命令:telnet 你的ip 3690,如果出现如下则可连接

Centos 下建立SVN文件中心库

再用svn客户端(小乌龟)测试连接,svn://ip地址/xxx

Centos 下建立SVN文件中心库

参考:岛主博客

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-13
  • 2021-11-30
  • 2021-09-08
  • 2021-10-03
  • 2021-12-25
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
  • 2021-05-20
  • 2021-07-03
  • 2021-12-17
  • 2021-10-09
相关资源
相似解决方案