Centos7安装、配置SVN服务,并设置开机自启动

最近小组工作需要,要搭建一个SVN服务器,服务器版本为Centos7,具体步骤如下:

一、安装SVN

  1. 检查是否已经安装:
    svn --version

  2. 安装:
    yum install subversion

  3. 创建SVN版本目录:
    mkdir -p /server/svn/repo

  4. 创建版本库:
    svnadmin create /server/svn/repo

  5. 进入conf目录(该svn版本库配置文件):
    cd /server/svn/repo/conf/

    authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf SVN服务配置文件
  6. 设置帐号密码:
    vim passwd 

    在[users]块中添加用户和密码,格式:帐号=密码,如harry = harryssecret
    [users]
    admin1=admin1
    dev1=dev1
    dev2=dev2
    pro1=pro1
    pro2=pro2

  7. 设置权限:
    vim authz
    [groups]
    #管理员组
    admin = admin1
    #开发组
    dev = dev1,dev2  #多个用户以逗号分隔
    #产品组
    pro = pro1,pro2
    
    [/]
    @admin = rw  #admin组拥有根目录的读写权限,其中r表示读权限,w表示写权限
    * =          #这里的*号表示除admin组的其他人,“=”后为空的话为无任何权限
    [/dev]
    @dev = rw
    
    [/pro]   
    @pro = rw

    解释一下,[groups]下,设置权限分组,这里有三个组,分别是admin 、dev、pro,admin组有admin1一个人,dev组有dev1、dev2两个人,pro组下有pro1、pro2两个人,[/]表示文件库的根目录,相应的[/dev]和[/pro]分别表示根目录下有dev和pro两个子目录
  8. 修改svnserve.conf文件
    vim svnserve.conf

    打开下面的几个注释:

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

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

    password-db = /server/svn/repo/conf/passwd #使用哪个文件作为账号文件

    authz-db = /server/svn/repo/conf/authz #使用哪个文件作为权限文件

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

  9. 启动svn版本库
    svnserve -d -r /server/svn/repo/

    -d 表示svnserve.exe 将会作为一个服务程序运行在后台,-r表示把/server/svn/repo目录作为根目录
  10. 查看启动情况:

    二、设置SVN开机自启动

    1subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。

    systemctl cat svnserve.service
    #svnserve.service文件的具体地址
    # /usr/lib/systemd/system/svnserve.service
    [Unit]
    Description=Subversion protocol daemon
    After=syslog.target network.target
    
    [Service]
    Type=forking
    EnvironmentFile=/etc/sysconfig/svnserve
    #也可以用这种方式,这种方式的话就不需要进行第2步的操作了,但本人没试过
    #ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid  -d -r /server/svn/repo  #一定要写svnserve命令的绝对路径
    
    #我用的这种方式
    ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
    
    [Install]
    WantedBy=multi-user.target


    2、我们修改/etc/sysconfig/svnserver
    vim /etc/sysconfig/svnserve

    将默认目录指定到/server/svn/repo
    OPTIONS="-r /server/svn/repo"

    3、说明:
    [Unit]:服务的说明
    Description:描述服务After:描述服务类别
    [Service]服务运行参数的设置
    Type=forking是后台运行的形式
    ExecStart为服务的具体运行命令
    ExecReload为重启命令
    ExecStop为停止命令
    PrivateTmp=True表示给服务分配独立的临时空间注意:
    [Service]的启动、重启、停止命令全部要求使用绝对路径
    4、服务命令:
    启动svnserve服务
    systemctl start svnserve.service

    设置开机自启动
    systemctl enable svnserve.service

    停止开机自启动
    systemctl disable svnserve.service

    查看服务当前状态
    systemctl status svnserve.service

    重新启动服务
    systemctl restart svnserve.service

    查看所有已启动的服务
    systemctl list-units --type=service

    题外话:今天偶然发现两年前写的第一篇博客竟然有两千多的访问量,煞是惊喜,于是便有了写这篇文章的动力,以后有好的东西,会尽量坚持分享,毕竟做笔记很简单,但是抱着负责任的心态写一篇博客不容易!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码道功成

过程不易,恳请支持一下!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值