在freeBSD下搭建https方式访问svn

来源:互联网 发布:2017中国使用网络人数 编辑:程序博客网 时间:2024/06/05 18:19

  由于svnserver在某些情况下,不能访问,比如:有些公司就把某些端口禁止掉了。所以,需要通过https方式来对svn进行访问。我的环境是:freeBSD + apache + svn

1、安装apache,注意需要安装模块mod_dav.so,mod_dav_svn.so,mod_ssl.so

2、安装svn

3、创建svn的仓库。svncreate命令

4、然后编辑svn仓库下conf/passwd 和 conf/authz

5、启动svnserver

6、搭建ssl。

    1)、安装openssl

    2)、利用openssl工具来生成证书

      生成.key文件 /usr/bin/openssl genrsa -des3 -out test.key 1024

      根据.key生成.csr /usr/bin/openssl req -new -key test.key -out  test.csr 

      如果是商用的话,需要把这两个文件提交给CA,来制作.crt和ca文件。

      如果是自己用的话,就采用一下方式来生成:

      /usr/bin/openssl x509 -in test.csr -out test.crt -req -signkey test.key -days 365

7、创建ssl的用户和密码

     利用apache的htpasswd,创建的用户和密码最好和svn下的conf/passwd一致。

 8、修改httpd.conf配置文件

      去掉Include etc/apache22/extra/httpd-ssl.conf前面的#,

      修改httpd-ssl.conf,SSLCertificateFile和SSLCertificateKeyFile设置为刚才生成好的文件。

      在httpd.conf增加虚拟路径

     <Location /test_svn>

        DAV svn
        SVNPath /usr/local/test_svn
        AuthName "test"
        AuthUserFile /usr/local/test_svn/conf/passwd.htpasswd #刚才通过htpasswd生成的
        Require valid-user
        AuthType Basic
        SSLRequireSSL
        AuthzSVNAccessFile /usr/local/test_svn/conf/authz
        RewriteEngine on
      </Location>

 在整个搭建过程中,需要注意的就是创建证书这个流程,其他都比较简单

原创粉丝点击