zoukankan      html  css  js  c++  java
  • subversion配置记录

      

    服务器

    CentOS 7

    安装svn

    [root@localhost conf]# yum install -y subversion
    

      

    建立仓库

    [root@localhost conf]# mkdir /svn
    [root@localhost conf]# svnadmin create /svn/repo
    

      

    查看

    [root@localhost svn]# ls /svn
    repo  runservice.sh
    [root@localhost svn]# ls /svn/repo
    conf  conf-20200410-bak.zip  db  format  hooks  locks  README.txt
    [root@localhost svn]# ls /svn/repo/conf
    authz  passwd  svnserve.conf
    [root@localhost svn]#
    

      

    配置

    主要是修改/svn/repo/conf目录下的三个文件

    1、修改svnserve.conf

    只要去掉里面关键5行的注释即可,参见下图。

    2、修改passwd

    在“[users]”下面逐行添加用户名和密码即可。

    [users]
    zhangsan = 123456
    lisi = 123456
    wangwu = 123456
    

      

    3、修改authz

    # 这里表示添加用户组
    [groups]
    admin = zhangsan
    sw_team = lisi,zhangsan
    hw_team = wangwu
    #上面添加了admin,sw_team,hw_team三个组
    
    
    # 这里根据目录来限制用户权限
    # “[/]”表示仓库的根目录
    [/]
    @admin = rw
    * =
    # 上面 “@admin” 表示用户组具有读写权限
    # 上面 “*”表示出去已经列明的用户、组之外的人员不具备任何权限
    
    
    # 这里根据具体的目录进行权限限制
    [/project1/bootload]
    @admin = rw
    wangwu = r
    * =
    # 上面用"@"开头的表示用户,否则表示用户
    

      

    4、启动SVN服务

    [root@localhost conf]# svnserve -d -r /svn/repo
    

      

    5、客户端访问SVN仓库

    如果是管理员用户,按照上面的配置可以直接访问仓库根目录,那么直接访问“svn://192.168.1.114”就可以。

    如果不是管理员,只能按照权限访问,按照上面的配置,比如“wangwu”可以访问“svn://192.168.1.114/project1/bootload”下的内容,但是他无法访问“svn://192.168.1.114/project1”这个目录。

    开机自启动

    如果你试图在“/etc/rc.d/rc.local”中添加脚本进行启动,是无法实现的。我们需要创建 systemd service 来启动服务。

    先查看“/lib/systemd/system/svnserve.service”中的内容:

    [Unit]
    Description=Subversion protocol daemon
    After=syslog.target network.target
    
    [Service]
    Type=forking
    EnvironmentFile=/etc/sysconfig/svnserve
    ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
    
    [Install]
    WantedBy=multi-user.target
    

    里面的“ExecStart”表示启动SVN服务,最后的“$OPTIONS”就是对应的启动参数。

    我们前面手动启动时,输入的是“svnserve -d -r /svn/repo”,对照一看,这个OPTIONS就应该是“-d -r /svn/repo”这些。

    那在哪里添加这个参数?

    看上面一行“EnvironmentFile”定义的地方,我们打开看看

    # OPTIONS is used to pass command-line arguments to svnserve.
    # 
    # Specify the repository location in -r parameter:
    OPTIONS="-r /var/svn"
    

    第一行明确说了是svnserve的参数,那么我们修改成我们自己的仓库地址就行了。

    然后在命令行使能服务

    [root@localhost ~]# systemctl enable svnserve.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.
    [root@localhost ~]# ps aux | grep svn
    root      3929  0.0  0.1 112724   988 pts/0    S+   10:30   0:00 grep --color=auto svn
    [root@localhost ~]# shutdown -r now
    

    重启之后,我们查看一下是不是真的启动了。

    [C:~]$ ssh root@192.168.1.110
    
    
    Connecting to 192.168.1.110:22...
    Connection established.
    To escape to local shell, press 'Ctrl+Alt+]'.
    
    WARNING! The remote SSH server rejected X11 forwarding request.
    Last login: Fri Apr 10 10:17:40 2020 from 192.168.1.95
    [root@localhost ~]# ps aux | grep svn
    root      3635  0.0  0.1 185116  1228 ?        Ss   10:31   0:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -d -r /svn/repo
    root      3900  0.0  0.1 112724   988 pts/0    S+   10:31   0:00 grep --color=auto svn
    [root@localhost ~]#
    

    问题

    昨天在创建一个tag的时候,提示说“Unreadable path encountered; access denied”,网上查找了以下,在https://www.cnblogs.com/you-jia/p/4549350.html中提到说是“在项目的conf/svnserve.conf 中, 设置 anon-access = none 即可. 然后重启Subversion 服务.”

    照着做了,果然可以,特此记录。

    <完>

    如果转载,请注明出处。https://www.cnblogs.com/ssdq/
  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/ssdq/p/12669294.html
Copyright © 2011-2022 走看看