Centos 7 部署SVN服务器

一、安装SVN

  • 1、安装Subversion
sudo yum -y install subversion
  • 2、验证是否安装成功(查看svn版本号)
svnserve --version

二、创建版本库

  • 1、先建立目录,目录位置可修改
mkdir -p /var/svn
cd /var/svn
  • 2、创建版本库,添加权限
svnadmin create /var/svn/project
chmod -R o+rw /var/svn/project

在这里插入图片描述

三、修改SVN配置文件

  • 1、进入/var/svn/project/conf下找到 svnserve.conf 文件编辑
  • 2、找到以下配置项,将前面的 # 号去掉,然后做相应的配置
# 匿名访问权限配置
anon-access = none  ; 禁止匿名访问
# 授权访问权限配置
auth-access = write  ; 授权用户具有读写权限
# 用户密码文件配置
password-db = passwd ; 用户密码文件路径
# 权限配置文件配置
authz-db = authz  ; 权限文件路径
# 仓库标识配置
realm = /var/svn/project  ; 版本库路径

注意:以上配置项都需要顶格,即前面不能预留空格,否则报错

四、创建用户

  • 1、进入/var/svn/project/conf下找到 passwd 文件编辑
    在这里插入图片描述

五、设置权限

  • 1、进入/var/svn/project/conf下找到 authz 文件编辑
    在这里插入图片描述

六、放行端口

# firewalld放行方法,其他方法自行百度
# ①向防火墙配置文件中添加规则,允许 TCP 协议的流量通过 3690 端口
firewall-cmd --zone=public --permanent --add-port=3690/tcp
# ②重新加载防火墙配置,使更改生效
firewall-cmd --reload
# ③验证端口是否已成功放行
firewall-cmd --zone=public --list-ports

七、运行SVN,并连接

  • 1、启动svn服务
# 如启动失败,请重启服务器,再执行该命令
svnserve -d -r /var/svn
  • 2、Windows客户端连接SVN
    在这里插入图片描述
    在这里插入图片描述

八、设置开机自启

  • 1、脚本添加到systemd服务管理器中(需要先关闭SVN服务,重启服务器即可)
# ①创建一个新的服务单元文件
sudo vi /etc/systemd/system/svnserve.service

# ②在该文件中,插入以下内容:
--------------

[Unit]
Description=SVN Server
After=network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve 
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -d -r /var/svn

[Install]
WantedBy=multi-user.target

--------------
# ③保存并关闭文件,重新加载systemd配置
sudo systemctl daemon-reload

# ④启用服务以在开机时自动运行
sudo systemctl enable svnserve.service

# ⑤启动服务,使其立即生效
sudo systemctl start svnserve.service


# 停止服务
sudo systemctl stop svnserve.service
# 查看服务状态
sudo systemctl status svnserve.service

  • 2、关闭SELINUX(不关闭会导致读取format文件夹报错)
# 永久关闭selinux:
vi /etc/selinux/config
关闭:SELINUX=disabled

# 永久开启selinux:
vi /etc/selinux/config
开启:SELINUX=enforcing

# 查看状态命令:
getenforce

修改后,重启服务器