配置过程如下:
步骤一:安装apache,使其支持SSL,并安装php
1.安装配有SSL模块的apache,apache_2.2.8-win32-x86-openssl-0.9.8g
2.配置apache以支持SSL:打开apache的配置文件conf/httpd.conf
1)LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
去掉两行前面的#
2)注意修改httpd-ssl.conf 文件里的两个字段:
SSLCertificateFile "C:/Apache2.2/conf/server.crt"
SSLCertificateKeyFile "C:/Apache2.2/conf/server.key"
为下面你所生成的证书和密钥地址。
61行:
SSLSessionCache "dbm:D:/Program/Apache Software/Apache2.2.17/logs/ssl_scache"
62行:
#SSLSessionCache "shmcb:D:/Program/Apache Software/Apache2.2.17/logs/ssl_scache(512000)"
将61行的SSLSessionCache前#号去掉,将62行的SSLSessionCache前面加上#号,
(否则启动 apache 时就会出错误:Syntax error on line 62 of D:/Program Files/..../conf/httpd- ssl.conf:SSLSessionCache:Invalid argument:size has to be >= 8192 bytes)
步骤二:为网站服务器生成证书及私钥文件
1. 生成服务器的私钥
进入命令行:
D:\local\apache2\bin\openssl genrsa -out server.key 1024
在当前目录下生成了一个server.key生成签署申请
2. 生成签署申请
D:\local\apache2\bin>openssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf
此时生成签署文件server.csr.
步骤三:通过CA为网站服务器签署证书
1.生成CA私钥
D:\local\apache2\bin\openssl genrsa -out ca.key 1024
多出ca.key文件
2.利用CA的私钥产生CA的自签署证书
D:\local\apache2\bin\openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf
此时需要输入一些信息,注意Common Name为服务器域名,如果在本机,为本机IP。
3.CA为网站服务器签署证书
D:\local\apache2\bin\openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
但,此时会报错:
于是在在当前目录创建demoCA,里面创建以下文件,index.txt,serial:serial内容为01,其他为空,以及文件夹 newcert.再执行一遍,即可生成server.crt文件
步骤四:然后将 server.crt,server.key复制到apache的conf文件夹下,重启apache