扫一扫
关注微信公众号

实战:建立windows下版本控制服务器4
2007-10-08   网络

二、使用SSL安全连接

  Apache服务器缺省并不支持SSL,但是你可以从其他地方下载安装。

  1. 首先,你需要一些文件来开启SSL,你可以在http://hunter.campbus.com/找到这些包,只需要解压缩这些文件,然后将mod_ssl.so拷贝到Apache的modules目录,将文件openssl.exe拷贝到bin目录,将文件conf/ssl.conf拷贝到Apache的conf目录。

  2. 使用文本编辑器打开Apache的conf目录的ssl.conf.

  3. 注释掉(使用#)下面几行:

DocumentRoot "c:/apache/htdocs"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog logs/error_log
TransferLog logs/access_log

  4. 此行

SSLCertificateFile conf/ssl.crt/server.crt
改为
SSLCertificateFile conf/ssl/my-server.cert
此行
SSLCertificateKeyFile conf/ssl.key/server.key
改为
SSLCertificateKeyFile conf/ssl/my-server.key
此行
SSLMutex file:logs/ssl_mutex
改为
SSLMutex default 

  5. 删除下面两行:

<IfDefine SSL>
</IfDefine>

  6. 打开Apache配置文件(httpd.conf),并且去掉此行的注释

#LoadModule ssl_module modules/mod_ssl.so

  7. Openssl需要一个配置文件,你可以从http://tud.at/programm/openssl.cnf下载一个正在使用的,请注意:*.cnf类型的文件尽管是普通的文本文件,Windows对这种文件会特别处理!

  8. 然后你需要创建一个SSL证书,为此打开一个命令行窗口,进入apache目录(例如C:program filesapache groupapache2),然后输入下面的命令:

binopenssl req -config binopenssl.cnf -new -out my-server.csr

  你会被讯问密语,请不要使用简单的单词,而是使用整段话,例如一段诗,越长越好。你也需要输入server的URL,其他所有问题都是可选的,但是我们建议你最好输入这些信息。

  通常会自动产生privkey.pem文件,但是如果没有,请输入下面的命令生成它:

binopenssl genrsa -out privkey.pem 2048

  然后输入这个命令

binopenssl rsa -in privkey.pem -out my-server.key

  并且输入(在同一行)

binopenssl x509 -in my-server.csr -out my-server.cert
-req -signkey my-server.key -days 4000

  这样会创建一个在4000天里过期的证书,最后输入:

binopenssl x509 -in my-server.cert -out my-server.der.crt -outform DER

  这些命令在Apache目录(my-server.der.crt、my-server.csr、my-server.key、。rnd、 privkey.pem、my-server.cert)里创建了一些文件,拷贝这些文件到目录conf/ssl(例如C:program filesapache groupapache2confssl)-如果这个目录不存在,你需要首先创建一个。

  9. 重启apache服务

  10. 将你的浏览器指向https://servername/svn/project ……

  11 关闭不安全连接方法

  你设置了SSL让你的版本库更安全,你一定希望关闭普通的非ssl访问,为此,你需要在Subversion的<Location> 增加指示:SSLRequireSSL.一个<Location>实例就像这个样子:

<Location /svn>
DAV svn
SVNParentPath D:SVN
SSLRequireSSL
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>

  总结:

  到此为止在版本控制工具Subversion在Windows Server 2003下的安装基本介绍完了,如果您希望获得更好的安全性能可以考虑使用使用Windows域认证。

热词搜索:

上一篇:实战:建立windows下版本控制服务器3
下一篇:Windows下用sftp巧妙打造安全传输1

分享到: 收藏