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/
  • 相关阅读:
    读保哥《ASP.NET MVC2开发实战》第三回(Controller1)
    MVC Model之简单数据问题
    读保哥《ASP.NET MVC2开发实战》第三回(Controller2)
    [导入]我的google十年散乱的记忆(转载)
    [导入]从飞信到SNS,中国移动进军互联网之路,悬乎
    [导入]预览google chrome新功能
    [导入]百度曲线杀入视频分享领域
    [导入]TMobile官方正式宣布将在9月23日举行android新闻发布会
    [导入]Google手机水货下个月开卖 零售价格4000元
    [导入]祝大家中秋节快乐
  • 原文地址:https://www.cnblogs.com/ssdq/p/12669294.html
Copyright © 2011-2022 走看看