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

一、安装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
     
    1. [users]

    2. admin1=admin1

    3. dev1=dev1

    4. dev2=dev2

    5. pro1=pro1

    6. pro2=pro2

  7. 设置权限:
    vim authz
     
    1. [groups]

    2. #管理员组

    3. admin = admin1

    4. #开发组

    5. dev = dev1,dev2 #多个用户以逗号分隔

    6. #产品组

    7. pro = pro1,pro2

    8.  
    9. [/]

    10. @admin = rw #admin组拥有根目录的读写权限,其中r表示读权限,w表示写权限

    11. * = #这里的*号表示除admin组的其他人,“=”后为空的话为无任何权限

    12. [/dev]

    13. @dev = rw

    14.  
    15. [/pro]

    16. @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开机自启动

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

    systemctl cat svnserve.service
     
    1. #svnserve.service文件的具体地址

    2. # /usr/lib/systemd/system/svnserve.service

    3. [Unit]

    4. Description=Subversion protocol daemon

    5. After=syslog.target network.target

    6.  
    7. [Service]

    8. Type=forking

    9. EnvironmentFile=/etc/sysconfig/svnserve

    10. #也可以用这种方式,这种方式的话就不需要进行第2步的操作了,但本人没试过

    11. #ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -d -r /server/svn/repo #一定要写svnserve命令的绝对路径

    12.  
    13. #我用的这种方式

    14. ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS

    15.  
    16. [Install]

    17. 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

原文地址:https://blog.csdn.net/NDF923/article/details/74171867?fps=1&locationNum=9

 

猜你喜欢

转载自blog.csdn.net/chengpeng1996/article/details/81235764