Subversion CentOS 7.2 安装 Subversion+Apache 服务器

laofo · 发布于 2017年8月13日 · 最后由 147687390 回复于 2018年5月09日 · 49 次阅读
4

2.2.1.1. yum 安装 httpd, subversion, mod_dav_svn 模块

yum install -y httpd subversion mod_dav_svn

安装成功后可以通过如下命令查看版本,或者找到模块位置. httpd 是2.4.6; svn 版本是1.7.14

httpd -version
svnserve --version
find / -name mod_dav_svn.so
find / -name mod_authz_svn.so

2.2.1.2. 创建 svn 仓库

mkdir /var/www/svn
svnadmin create /var/www/svn/hello-world
chown -R apache:apache /var/www/svn/hello-world/   #将svn库的用户组改为 apache

2.2.1.3. 创建 svn 的用户文件 passwd 和权限文件 auth

  • 创建 passwd 文件,用来存储svn 的账户和密码

    $ sudo touch /var/www/svn/passwd  #创建用户文件
    $ sudo htpasswd /var/www/svn/passwd admin  #创建用户admin
    $ sudo htpasswd /var/www/svn/passwd guest  #创建用户guest
    
  • 创建权限文件authz, 这个文件说明了谁有什么权限,可以访问哪些目录

    cp /var/www/svn/hello-world/conf/authz /var/www/svn/authz
    cat /var/www/svn/authz 
    [/]
    admin = rw
    guest = r
    

2.2.1.4. 配置httpd. 从而可以http 访问 svn 目录

  • 修改httpd的配置文件

    touch /etc/httpd/conf.d/subversion.conf
    cat /etc/httpd/conf.d/subversion.conf 
    <Location /svn>
    DAV svn
    #指定svn 库位置
    SVNParentPath /var/www/svn 
    
    AuthType Basic
    AuthName "Authorization SVN"
    #权限文件
    AuthzSVNAccessFile /var/www/svn/authz
    #用户文件
    AuthUserFile /var/www/svn/passwd
    Require valid-user
    </Location>
    

2.2.1.5. 启动 httpd

  • 启动httpd服务 $ sudo systemctl start httpd.service

客户端使用 http://IP/svn/hello-world 就可以访问刚才建立的svn仓库了。 如果返回403错误,可能是防火墙问题。增加防火墙规则:

  • $ sudo firewall-cmd --permanent --add-service=http
  • $ sudo firewall-cmd --permanent --add-service=https
  • $ sudo firewall-cmd --reload

待改进

  • centos 6.x 安装 svn
  • 集成web 管理界面
  • mysql 管理用户

更多内容请查看 http://scmroad.com/wiki/svn/

共收到 1 条回复
96
147687390 · #1 · 2018年5月09日

学习了~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册