CentOS6搭建证书验证的SVN服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS6搭建证书验证的SVN服务器相关的知识,希望对你有一定的参考价值。

本人搭建SVN服务器,通过https协议发布到互联网中的。
我需要的服务有apache(httpd)网站服务器、subversion版本库服务器、ssl证书。

一、通过yum安装环境

  • 安装httpd网站服务器:yum install -y httpd
    安装版本库服务器:yum install -y subversion
  • 安装网站SSL模块到服务器: yum install -y mod_ssl
  • 安装网站SVN模块到服务器:yum install -y mod_dav_svn mod_authz_svn

二、使用SUBVERSION搭建SVN服务器

  • 首先创建在系统中创建一个repos文件夹,用于存放SVN文件;
  • 第二步: 创建版本库模式的文件夹: svnserve create <repos文件夹>/<版本库名>;
  • 第三步: 添加用户到配置目录权限<repos文件夹>/<版本库名>/conf/authz
    [/]
    admin=rw
  • 第三步: 添加用户密码到配置文件<repos文件夹>/<版本库名>/conf/passwd
    admin=123
  • 第四步: 在当前库配置参数<repos文件夹>/<版本库名>/conf/svnserve.conf
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz
    realm = /svn/svnrepos
  • 第五步: 启动svn版本库
    svnserve -d -r <repos文件夹>/<版本库名>

三、搭建apache中的ssl证书

  • 创建存放证书的位置 :mkdir /etc/httpd/ssl/
  • 创建证书文件:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

四、添加SSL到apache服务器中

  • 修改/etc/httpd/conf.d/ssl.conf中的证书参数:
    SSLCertificateFile /etc/httpd/ssl/apache.crt
    SSLCertificateKeyFile /etc/httpd/ssl/apache.key
  • 修改/etc/httpd/conf.d/ssl.conf中的端口参数:
    Listen 19443
    VirtualHost default:19443

五、添加SVN目录到apache服务器中

         LoadModule dav_svn_module     modules/mod_dav_svn.so
         LoadModule authz_svn_module   modules/mod_authz_svn.so

         <Location /repos/svn1>
             DAV svn
             SVNPath <repos文件夹>/<版本库名>
             SVNListParentPath On
             SVNAutoversioning On
             SVNReposName "<版本库名>"
             AuthType Basic
             AuthName "Welcome to <自定义服务器名> repos <版本库名>"
             AuthUserFile<repos文件夹>/<版本库名>/conf/passwdfile
             AuthzSVNAccessFile <repos文件夹>/<版本库名>1/conf/authz
             Require valid-user
         </Location>

六、启动apache服务器 service httpd restart

七、创建svn开机自启动服务文件 /etc/init.d/svn1

         #!/bin/bash
         #chkconfig: - 99 01
         ##
         ##description: this is a svnserve <版本库名> custom script !

         case $1 in
                 start)
                         /usr/bin/svnserve -d -r <repos文件夹>/<版本库名>
                         ;;
                 stop)
                         kill `pidof  /usr/bin/svnserve`
                         ;;
                 restart)
                         kill `pidof  /usr/bin/svnserve`
                         /usr/bin/svnserve -d -r <repos文件夹>/<版本库名>
                         ;;
                 *)
                         echo Usage:`basename $0` start|stop|restart
         esac

八、开机自启动设置

  • 手动添加svn1服务到chkconfig中: chkconfig --add svn1
  • 设置svn1服务开机自启动: chkconfig svn1 on
  • 设置网站服务开机自启动: chkconfig httpd on

测试一下吧!

以上是关于CentOS6搭建证书验证的SVN服务器的主要内容,如果未能解决你的问题,请参考以下文章

Centos6.5 SVN服务器 搭建及配置

Centos6.8下搭建SVN服务器

Centos6.8下搭建SVN服务器

centos6.8使用apache搭建svn服务

XCode5 bot 使用 sourcerepo.com 的 SVN 失败:验证服务器证书时出错

我用WEB界面可以访问SVN服务器,但是显示是证书有问题,但是用客户端就完全访问不了,是啥问题