关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »基于 CentOS 7 搭建支持 HTTP 协议的 SVN 服务器

    基于 CentOS 7 搭建支持 HTTP 协议的 SVN 服务器

    2015-05-26 00:00:00 出处:linux.cn
    分享

    前提条件:

    请先关闭防火墙或者selinux,当然你也可以进行相应的配置,让某些端口通过

    我比较暴力,采用关闭处理

    systemctl disable firewalld
    systemctl stop firewalld

    disable是让其不下次开机启动,stop是结束它。

    对于selinux

    改/etc/selinux/config文件的”SELINUX=enforcing”为”SELINUX=disabled”

    然后执行”setenforce 0″不用重启地关闭selinux

    一、安装相应的软件

    #svn服务器
    yum install subversion
    #apache服务器,让我们的svn 服务器支持http协议访问,而不仅是svn://协议
    yum install httpd
    #apache操作svn模块
    yum install mod_dav_svn

    二、相应的配置

    1、创建仓库

    默认安装的svn服务器的根仓库(root repository)为/var/svn,所以我们在这个目录创建我们的仓库

    svnadmin create repo1

    将创建/var/svn/repo1 目录,在repo1目录下有相应的配置文件

    2、仓库配置

    /var/svn/repo1/conf下的三个配置文件的作用为

    svnserve.conf :存放svn服务器的认证授权策略:比如匿名可读,认证的用户可写,以及指定相应的用户信息存储位置(passwd)和认证规则文件的位置(authz)

    passwd:用户信息存储文件,以username=password键值对的方式存储

    authz:认证规则

    注意 键值对的等号(=)前后的空格

    对于svnserve.conf,取消以下行的注释即可

    anon-access = read
    auth-access = write
    password-db = passwd
    authz-db = authz

    对于passwd,添加一个用户

    root = 123456

    对于authz,添加如下信息:

    [repo1:/]
    root = rw
    * = r

    表示root具有读写权限,’*’任何人都能读,假如没有这个配置,那么查看log会报异常。

    3、测试

    启动服务器:

    systemctl start svnserve.service

    使用tortoiseSVN, svn://ip/repo1 ,假如能正常访问,那么配置OK,

    三、Http访问方式的配置

    httpd的默认的配置文件为/etc/httpd/conf/httpd.conf

    1、先备份一下,防止改错:

    cp httpd.conf httpd.conf.bak

     

    2、修改

    找到文件的’LoadModule’
    在该附近加载mod_dav和mod_dav_svn模块的配置:

    LoadModule dav_module modules/mod_dav.so
    LoadModule dav_svn_module modules/mod_dav_svn.so

    在该文件的结尾处添加如下配置

    <Location /svn>
    DAV svn
    SVNParentPath  /var/svn
    # Authentication: Basic
    AuthName "Subversion repository"
    AuthType Basic
    AuthUserFile /etc/httpd/svn-auth.htpasswd
    
    # Authorization: Authenticated users only
    <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
    </LimitExcept>
    </Location>

    “<Location /svn>”中的”/svn”表示我们的svn的访问URL为”http://ip/svn”,

    “DAV svn”表示使用”mod_dav_svn”模块,dav是一种http 1.1扩展协议,mod_dav_svn只是该协议的一种应用。

    “SVNParentPath /var/svn”表示服务”http://ip/svn”请求时,使用”/var/svn”路径下相应的内容。

    AuthName 表示输入用户名和密码时的提示信息

    AuthType 认证类型,这里我们使用基本的认证类型

    AuthUserFile 表示认证文件的位置,我们待会创建它。

    LimitExcept节点指示只对写请求需要用户认证。

    3、创建svn-auth.htpasswd 文件

    htpasswd   -c -m /etc/httpd/svn-auth.htpasswd root

    按提示输入两次密码,我们就创建了一个’root’,

    4、让apache用户对”/var/svn/repo1″目录拥有写权限。

    httpd以apache用户启动的,所以大家要让其拥有对”/var/svn/repo1″的写权限。由于我的环境的”/var/svn/repo1″的拥有者是”root:root”,所以我将apache加入到root组中,让回让root组也拥有权限来解决的。

    #将用户apache加入root组
    usermod -a -G root apache
    #让group对/var/svn/repo1目录也有写权限
    chmod -R g+w  /var/svn/repo1
    #查看apache用户属于的组
    groups apache

    5、测试

    systemctl start httpd.service

    现在就可以通过”http://ip/repo1″来访问我们的svn 服务器了

    提示:

    httpd 的错误日志文件为/var/log/httpd/error_log,假如出现问题,随时查看该文件获得提示。

    参考文献:

    http://svnbook.red-bean.com/en/1.7/svn.serverconfig.httpd.html

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。