美文网首页
centos搭建SVN服务,并且http访问

centos搭建SVN服务,并且http访问

作者: 没有故事的老大爷 | 来源:发表于2018-08-27 11:54 被阅读0次

    官网链接: http://subversion.apache.org/packages.html

    1. 安装

    • 安装
    yum install subversion
    
    • 测试是否安装成功
    svnserve --version
    
    • 查看或更改svn指向目录和端口(可以使用默认配置,无需修改)
    vi /etc/sysconfig/svnserve
    编辑示例:
    OPTIONS="-r /data/svn --listen-port 3661"
    

    2. 建立版本库

    svnadmin create /var/svn/solo
    

    3. svn配置文件

    • svnserve.conf
    vi /var/svn/solo/conf/svnserve.conf 
    
    编辑示例:
    [general]
    anon-access = none      #控制非鉴权用户访问版本库的权限
    auth-access = write      #控制鉴权用户访问版本库的权限
    password-db = passwd     #指定用户名口令文件名
    authz-db = authz      #指定权限配置文件名
    realm = solo        #指定版本库的认证域,即在登录时提示的认证域名称
    
    • passwd
     vi /var/svn/solo/conf/passwd 
    
    编辑示例:
    [users]
    chenchen = chenchen    #用户,密码
    maggie = maggie    #用户,密码
    
    • authz
    vi /var/svn/solo/conf/authz 
    编辑示例:
    [groups]
    g_admin = chenchen
    g_solo = maggie
    
    [solo:/]
    @g_admin = rw
    
    [solo:/solo]
    @g_solo = rw
    

    4. 启停svn

    • 启停svn
    systemctl start svnserve.service
    systemctl stop svnserve.service
    或者 svnserve -d -r /var/svn
    
    • 查看svn状态: 默认是3690端口
    ps aux|grep svnserve
    systemctl status svnserve.service
    
    • 设置开机启动
    systemctl enable svnserve.service
    

    5. 问题1: node remains in conflict

    执行checkout命令下载代码:

    svn checkout svn://xxx.xxx.xxx.xxx/solo/solo /home/web/www/solo --username chenchen
    

    中间卡住了一下, 其实是正常情况但是我却给强行停止了。 然后我再使用svn up更新代码时就出现了node remains in conflict这个错。

    网上搜索了一下应该是因为我强行停止导致文件冲突了, 需要svn revert .还原一下。如果不行就强行删掉这个文件夹 svn remove --force filename, 然后重新创建一个文件夹下载。参考链接: https://blog.csdn.net/u011628250/article/details/50516348

    6. 问题2: svn show log看不到日志,显示的时间是1970年

    解决方法:

    1.编辑svnserve.conf,设置“anon-access=none”
    2.在authz中添加 
    [/]
    * = 
    3,清理svn的cache
    
    

    参考链接1: https://blog.csdn.net/u014756827/article/details/52506590


    http访问

    7. 安装mod_dav_svn

    yum install mod_dav_svn
    

    安装成功后,会有mod_dav_svn.so和mod_authz_svn.so两个文件

    sudo find / -name mod_dav_svn.so
    /usr/lib64/httpd/modules/mod_dav_svn.so
    
    sudo find / -name mod_authz_svn.so
    /usr/lib64/httpd/modules/mod_authz_svn.so
    

    8. 配置http用户和权限

    • 配置用户文件
    touch /var/svn/passwd
    htpasswd /var/svn/passwd chenchen
    
    • 配置权限校验文件
    cp /var/svn/solo/conf/authz /var/svn/authz
    

    9. 配置httpd和subversion关联

    vi /etc/httpd/conf.d/subversion.conf
    内容如下:
    <Location /svn>
        DAV svn
        SVNParentPath /var/svn
    
        AuthType Basic
        AuthName "Authorization SVN"
        AuthzSVNAccessFile /var/svn/authz
        AuthUserFile /var/svn/passwd
        Require valid-user
    </Location>
    

    10. 重启httpd服务

    systemctl restart httpd.service
    

    http://47.95.194.85/svn/solo/ 就可以访问啦、

    小乌龟客户端也可以访问:


    参考链接2: https://blog.csdn.net/bbcrab/article/details/78425887

    作者 @没有故事的老大爷
    我走得很慢,但从不后退。

    相关文章

      网友评论

          本文标题:centos搭建SVN服务,并且http访问

          本文链接:https://www.haomeiwen.com/subject/rlyziftx.html