登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云之南

风声,雨声,读书声,声声入耳;家事,国事,天下事,事事关心

 
 
 

日志

 
 
关于我

专业背景:计算机科学 研究方向与兴趣: JavaEE-Web软件开发, 生物信息学, 数据挖掘与机器学习, 智能信息系统 目前工作: 基因组, 转录组, NGS高通量数据分析, 生物数据挖掘, 植物系统发育和比较进化基因组学

Windows 下安装Apache2.0.59 SSL  

2007-05-14 21:12:55|  分类: java-j2ee |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

预先工作 -需要下载的文件:

安装需要东西,下面是我们要用到的,先下载下来:

1.     apache_2.0.59-win32-x86-no_ssl.msi

2.     Apache_2.0.59-Openssl_0.9.8b-Win32.zip  

3.     openssl.cnf

安装:

1.直接安装apache_2.0.59-win32-x86-no_ssl.msi,用官方的这份安装文件的话,可以用 monitor 帮你装成 Windows 服务,这样就能设定开机时自动启动 web服务器了。安装时会要你填入相关的讯息,建议SeverName用IP 地址。同时也留意一下你把 apache 装在哪个目录下(比方说 C:Apache2,安装文件会生成Apache2文件夹,假如你安装在C:下)。

2.如果你的 apache 服务已经启动(可以看右下角的工具列图示),请先将它 stop,然后找个地方解开 2 ,我们需要把解开后的 bin 目录下的Apache.exe、ssleay32.dll、libeay32.dll及openssl.exe放到你 apache 安装目录下的 bin 目录里,替换掉原本的apache.exe。解压出来然后再将 2 解开后的 conf 目录下的 ssl.conf 也复制一份到你自己 apache 目录(如 C:Apache2)下的 conf 目录里。

3.还有 modules 目录下的 mod_ssl.so 也要放到 apache 目录下的 modules 目录里。在Httpd.conf文件中找到#LoadModule ssl_module modules/mod_ssl.so,把前面的#号删除。

配置ssl.conf文件:

1.在ssl.conf 里找到下列这段叙述,然后把它改成你的设定:(用文本编辑器,如记事本打开)

# General setup for the virtual host

DocumentRoot "你的网页根目录,可以找 httpd.conf文件下的 DocumentRoot"

ServerName 你的 domain name或者直接用 IP地址:443

ServerAdmin 你的 Email地址,我就随便填的,只是自己用

ErrorLog logs/error_log

TransferLog logs/access_log

2.

ssl.conf

文件里是不是有这几行:

SSLCertificateFile conf/ssl.crt/server.crt

SSLCertificateKeyFile conf/ssl.key/server.key

SSLCertificateChainFile conf/ssl.crt/ca.crt

3.我自己是把 ssl.conf 里的 <ifdefine SSL> 及 </ifdefine> 注解掉,这就要看你要不要再去 httpd.conf 里 define SSL了,嫌麻烦就注解掉。

 

生成证书文件:

我们要产生用SSL连接(HTTPS)时所需要加密的 key 及身份验证用的CA。

切换至 Apache2 的 bin 目录下,把openssl.cnf 置其中。把openssl.cnf文件拖到文本编辑器中打开,修改[ CA_default ]内的字段如下。

dir = ssl

certs = $dir\certs

crl_dir = $dir\crl

database = $dir\index.txt

new_certs_dir = $dir

certificate = $dir\cacert.pem

serial = $dir\serial

crl = $dir\crl.pem

private_key = $dir\privkey.pem

RANDFILE = $dir\privkey.rnd

还有别忘了把这个文件的 x509extensions 这一行在开头加上 # 把它注解掉。那篇Guide就是这错了,害我生成Server public key失败...

然后在Apache2 的bin目录下建立一个 ssl 资料夹,在里面新增两个文件:index.txt 及 serial,index.txt 让它保留空白即可,然后 serial 文件输入 01 。

 

然後在命令行模式下(「开始」->「运行」输入cmd,然后用 cd 指令切到Apache2的bin)依次输入下列命令:

1.生成 CA private key,它会要求你输入密码,记住了,以后还要用到。

openssl genrsa -des3 -out ssl/ca.key 1024

2.生成 CA require cert,按照它的说明填入对应资料

openssl req -config openssl.cnf -new -key ssl/ca.key -out ssl/ca.csr

3.生成 CA public cert.

openssl x509 -days 3650 -req -signkey ssl/ca.key -in ssl/ca.csr -out ssl/ca.crt

4.生成 Server private key

openssl genrsa -out ssl/server.key 1024

5.生成 Server require cert,这里跟上面填入相同的资料

openssl req -config openssl.cnf -new -key ssl/server.key -out ssl/server.csr

6.生成 Server public key

openssl ca -config openssl.cnf -days 3650 -cert ssl/ca.crt -keyfile ssl/ca.key -in ssl/server.csr -out ssl/server.crt

注意:在上边两步填写资料时,Common Name (eg, your websites domain name) []要填的和httpd.conf中的一样,否则会出错,在Apache的错误日志中发现错误为“ 证书和服务器名称不匹配”(SA server certificate CommonName (CN) `127.0.0.1' does NOT match server name!?)。如果ServerName设为127.0.0.1:80的话,Common Name (eg, your websites domain name) []好像填localhost和127.0.0.1都可以。

 

如果沒有错误提示的话,那在你的ssl 文件夹下应该至少会有ca.crt、server.crt 及 server.key這三个文件(确认它们不是0 byte)。

然后把在Apache 安装目录的conf文件夹下建立ssl.crt和ssl.key文件夹。把 ca.crt 及 server.crt 放到ssl.crt目录下,而 server.key 放到ssl.key目录下。

 

如果你很顺利到这里,那就可以重新启动 apache 的服务,然后试试看能不能用 https://127.0.0.1 连接到你的网页吧!

  评论这张
 
阅读(1787)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018