Java, Python, Jython and .NET.

IBM iCATE, SUN SCJP. A staff in Microsoft China R&D Group... Isn't it funny? Enjoy life...
随笔 - 23, 文章 - 0, 评论 - 171, 引用 - 2
数据加载中……

Subversion配置安装教程(三)

    今天来讲讲Subversion的SSL连接。如果没有SSL相关的基础知识,请先自行参阅相关资料。

  1. 首先去http://hunter.campbus.com/ 下载包含openssl模块的apache包,将解压出来的mod_ssl.so 拷贝到Apache的安装路径下的modules目录下,openssl.exe拷贝到bin目录下,conf/ssl.conf拷贝到conf目录下。
  2. 打开拷贝过来ssl.conf,将一下几行加上#注释掉                                                                            DocumentRoot "c:/apache/htdocs"
    ServerName www.example.com:443
    ServerAdmin you@example.com
    ErrorLog logs/error_log
    TransferLog logs/access_log
  3. 把SSLCertificateFile conf/ssl.crt/server.crt改成SSLCertificateFile conf/ssl/my-server.cert
  4. 把SSLCertificateKeyFile conf/ssl.key/server.key改成SSLCertificateKeyFile conf/ssl/my-server.key
  5. 把SSLMutex  file:logs/ssl_mutex改成SSLMutex  default
  6. 删除或者注释这两行<IfDefine SSL>和</IfDefine>
  7. 打开Apache的配置文件http.conf,把其中的#LoadModule ssl_module modules/mod_ssl.so这一行的注释去掉
  8. 下载http://tud.at/programm/openssl.cnf 并保存到bin/openssl.cnf。注意windows会把这个文件显示成一个拨号文件,实际上这是个文本文件,你可以用任何一个文本编辑器打开浏览一下这个文件的内容。实际上这个文件是用来生成证书和公钥的预配置文件。
  9. 在命令行下进入$\program files\apache group\apache2,输入命令:
    bin\openssl req -config bin\openssl.cnf -new -out my-server.csr   
    回答相关问题即可生成一个CSR,也就是一个待签名的证书。本质上说,CSR 就是一个在您的服务器上生成的证书,当您向第三方证书颁发机构申请证书时,它用来验证有关您的服务器的计算机特定信息。实际上,CSR 就是一条用公钥/私钥对加密的文本消息。如图:
     
    然后输入命令:

    bin\openssl rsa -in privkey.pem -out my-server.key
    执行成功会生成私匙,如图:

     接着输入bin\openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000
     这样会生成一个在4000天后过期的用刚刚生成的私匙签名过的x509证书。
     最后输入bin\openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
     这一步是生成了DER格式的证书,对于那些不能识别PEM格式证书的程序,可以使用这种证书。如图:
     
    最后把在$\Apache Group\Apache2目录下生成的my-server.der.crt, my-server.csr, my-server.key, .rnd, privkey.pem, my-server.cert6个文件复制到conf/ssl下,如果ssl这个目录不存在,请先新建这个目录。Ok,大功告成,请在浏览器地址栏输入
https://youserver/svn/TestRepository/,看到了什么?呵呵,是不是比较有成就感呢?看看我自己生成的证书:

然后是证书的详细信息:
 
    注意:以上3和4步骤可以不更改,改不改完全都是个人喜好,如果不改,那么在第9个步骤里面相关的命令需要做相应的修改。另外,设置了SSL加密连接以后,通过
https://youserver/svn 不会再显示所有的repository列表了,而是显示没有权限访问。而通过http://youserver/svn访问就可以。我怀疑是昨天写的那个php脚本有些问题,没有使用相关的SSL协议访问相关路径,如果有时间我会考虑使用python再次实现。不知道我想的对不对,哪位大侠指教一下?

    注意:IIS和Apache的SSL连接会有冲突,具体表现在它们都会尝试使用443作为https协议的端口,我在MS的网站上找到了一篇KB文章,说是改注册表可以关闭ssl服务,我试了一下,似乎不行,在IIS的控制面板里面更改SSL端口选项是灰色不可选,哪位有好的办法?

posted on 2005-02-10 18:58 doudou 阅读(8503) 评论(32)  编辑 收藏 网摘 所属分类: 原创(开源技术和.Net)

评论

#1楼   回复  引用  查看    

写的很好,真的,不过不怕你笑话,在学校,3个人团队开发能够用上VSS已经很不错了,现在我们还是手工拷代码同步!
2005-02-12 01:29 | 丁丁      

#2楼[楼主]   回复  引用  查看    

多谢捧场,呵呵。。。这个基本上照着TortoiseSVN的帮助文档翻译的,然后加上了一些我的经验写成的。大家一起进步吧。个人认为,scm还是和前期的架构分析有很大的关系的,如果架构设计的好,层次清晰,那么对于大家共有的项目来说应该是基于二进制的组件共享,而对于每个小的模块的代码就由相关人员维护,这样在效率和安全上才会有一个平衡,不能是全部基于代码的共享。
2005-02-12 10:31 | doudou      

#3楼   回复  引用  查看    

看任务栏,你装的东西还真多哈,机器性能应该不错:)
2005-02-12 21:39 | 小新0574      

#4楼[楼主]   回复  引用  查看    

呵呵。。。具体的配置:
Mitac 8060B(Intel P-M 1.5GHz, 15.2 Wide 16:9 TFT, Apacer 256M DDR266 + Nanya 512M DDR266, Hitachi 5K80 40GB, Nvidia GeForce FX5200 GO 64M, Athreos AR5001X+ a/b/g wireless NIC, Alpha AFW-R851+ wirelss router, MS wireless optical mouse 2.0, Asus wireless headphone)
2005-02-12 22:55 | doudou      

#5楼   回复  引用  查看    

谢谢了,Subversion+Apache的配置在TortoiseSVN的文档中说的很详细,但是我一直没有搞明白单独的Subversion Server如何配置?在TortoiseSVN的文档中只讲了如何运行该服务,而对于这种情况下如何配置则只字未提。

因为服务器上已经在使用IIS运行ASP.Net程序,不想再为了Subversion单独安装一个Apache。
2005-02-13 23:00 | NetCobra      

#6楼[楼主]   回复  引用  查看    

对不起这两天没有怎么上线,关于Subversion的独立安装我还的确没有尝试过,但是按照TortoiseSVN文档中说的,基于Apache的安装比独立安装优势大很多,我在前面的文章中也提过,所以我没怎么关注过。Apache的进程占用的内存也不是很大啊,才9M多点,我的机器上还有Tomcat和Zope呢。呵呵
2005-02-18 20:21 | doudou      

#7楼   回复  引用  查看    

配置成功!谢谢doudou的帮助!
2005-02-19 14:59 | dudu      

#8楼   回复  引用  查看    

我测试的计算机上Apache与iis没有发生冲突, 当然iis没有使用SSL, Apache的SSL可以正常使用。
2005-02-19 15:04 | dudu      

#9楼   回复  引用    

能不能把你上面配置用到的软件发我一份,3q
cunheise@hotmail.com
http://hunter.campbus.com/ 这个网站不知道怎么上不去
2005-03-30 22:47 | lurker

#10楼   回复  引用    

服务器配置搞定,谢谢doudou的文章
2005-04-11 14:21 | cjwboy

#11楼   回复  引用    

doudou,加我吧,我要问你一些关于subversion的事情,谢谢!
wenming_hu2002@hotmail.com
2005-04-18 21:14 | wen

#12楼   回复  引用    

我按照你的方法在配置到第9个步骤的时候弹出一个错误提示框,提示的内容是:无法定位序数3288于动态链接库LIBEAY32.dll上
是不是我还需要安装一些其他的东西?
2005-04-23 16:52 | 刘鹏

#13楼   回复  引用    

我按照你的方法在配置到第9个步骤的时候弹出一个错误提示框,提示的内容是:无法定位序数3288于动态链接库LIBEAY32.dll上

我也碰到这个问题,是怎么回事呢?
2005-04-29 16:56 | lxz

#14楼   回复  引用    

郁闷,在fedora3上面配置好subversion,导入小的工程正常,每当导入源代码文件超过10k的工程,中途总是会失败,提示"Cannot connect to the server!"
2005-05-03 20:09 | wenminghu

#15楼   回复  引用    

大家遇到过类似的问题么?怎么解决的呢?
2005-05-03 20:09 | wenminghu

#16楼   回复  引用    

谢谢楼主,还是看中午配的比较快,看英文配置他妈的慢死了.
2005-05-24 10:50 | coolper

#17楼   回复  引用    

heh 我的配置成功了可以用,可是过了两天来怎么就不行了。更加奇怪。报的错误是:[Tue Jan 14 05:19:15 2003] [warn] RSA server certificate CommonName (CN) `coretek' does NOT match server name!?
[Tue Jan 14 05:19:15 2003] [warn] RSA server certificate CommonName (CN) `coretek' does NOT match server name!?
2005-06-23 17:20 | 矿泉水

#18楼   回复  引用    

找了好多文档,这个是写的最详细最好的。谢谢楼主
2006-03-29 21:15 | haha1903[未注册用户]

#19楼   回复  引用    

我也出现一个问题即找不到ordinal反映无法定位序数275于动态链接库SSLEAY32.dll问题,这是啥回事呢?晕乎乎的——帮忙解答一下,谢。
2006-04-04 10:11 | smallfish[未注册用户]

#20楼   回复  引用  查看    

我先试的是 Svnserve。只要运行svnserve --listen-port=8080 --root=e:\svn, 客户端用svn:servername:8080/projectname 就可以连上。后来照楼主的试Apache,没有成功,原因是我用的是Apache2.2.改用Apache2.0后成功。借宝地问一下有没有人配过email 通知?
2006-07-07 14:18 | Bo Chen Lin      

#21楼   回复  引用    

谢谢楼主。
我遇到一个问题,按照楼主写的配置完后,就无法启动apache了,说是无法load mod_ssl.so?请问是什么原因呢?
2006-07-24 11:35 | dding[未注册用户]

#22楼   回复  引用    

嘿嘿 不如我4年前的机器 1.5G kingston DDR400&TI4200 不过没你液晶好啊 哈哈 见笑
2006-08-03 11:10 | masonWW[未注册用户]

#23楼   回复  引用    

请问有在windows下面配置过subversion的e-mail notification功能吗?很急也,望能回复啊!万分感谢。
2006-08-11 15:37 | stern[未注册用户]

#24楼[楼主]   回复  引用  查看    

@stern
svn自己的我没用过,以前用cvs的时候用过cvsntmail,建议你用google搜索一下。还有,或许现在CC .net现在已经支持e-mail notification了
2006-08-11 23:18 | doudou      

#25楼[楼主]   回复  引用  查看    

@masonWW
我的是laptop
2006-08-11 23:21 | doudou      

#26楼[楼主]   回复  引用  查看    

@矿泉水
你在真实的生产服务器环境中生成证书不要和你机器名字邦定,毕竟真正的证书需要专门的第三方的CA发布。BTW,coretek?呵呵,科银的?
2006-08-11 23:27 | doudou      

#27楼[楼主]   回复  引用  查看    

@lxz
看起来你们安装的OpenSSL的版本有问题,请按照文中提到的版本号去安装。另外,这里有更新的安装包:http://www.slproweb.com/products/Win32OpenSSL.html">http://www.slproweb.com/products/Win32OpenSSL.html
2006-08-11 23:34 | doudou      

#28楼   回复  引用    

请问我按照你的配置进行到bin\openssl req -config bin\openssl.cnf -new -out my-server.csr
时为何总是提示:
bin\openssl 不是内部或外部命令,总是执行不了呢?

这个地方还有什么特殊设置么?需要更改环境变量什么的么?
我随后安装了Win32 OpenSSL v0.9.8e,当然,不太熟悉,仅仅一路Next
2007-04-18 13:55 | zl[未注册用户]

#29楼   回复  引用  查看    

OpenSSL.exe运行需要ssleay32.dll和libeay32.dll,因此无法运行的话,请检查这2个DLL
2007-04-20 13:44 | Icebird      

#30楼   回复  引用    

谢谢分享,我弄了两天都没有弄好,照着你的步骤一下子就好啦,真是多谢阿,可能开始装的2.2.6与subversion1.4.5不兼容吧?还不知道是不是这个原因呢,现在也不用管拉,呵呵,再次感谢!
2007-12-27 15:50 | tianym[未注册用户]

#31楼   回复  引用    

搂主,你好、这个服务器配置好了,该怎么用呀?
2008-05-13 16:07 | zhjh[未注册用户]

#32楼   回复  引用  查看    

配好了,可是怎么发挥作用呢,能否分享一下如何发挥他的作用呀
2009-06-29 23:24 | hdl253      



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 103717




相关文章:

相关链接: