httpd2.4 编译安装请参考:http://adelazhu.blog.51cto.com/9455045/1682264

其中httpd2.4预编译时已安装了--enable-ssl模块,所以不需要像httpd2.2 单独安装mod_ssl。

. /configure  --prefix= /usr/local/httpd24  --sysconfdir= /etc/httpd24  -- enable -so -- enable -ssl -- enable -cgi -- enable -rewrite --with-zlib --with-pcre --with-apr= /usr/local/apr  --with-apr-util= /usr/local/apr-util/  -- enable -modules=most -- enable -mpms-shared=all --with-mpm=prefork

配置过程

(a) 建立私有CA
 在CA服务器上配置

[root@www tmp]# cd /etc/pki/CA
[root@www CA]# (umask 077; openssl genrsa -out private/cakey.pem  2048)
[root@www CA]# openssl req -new -x509 -key private/cakey.pem  -out cacert.pem -days 3650
[root@www CA]# echo 01 > serial
[root@www CA]# touch index.txt

(b) 为服务器生成证书
 在httpd服务器上配置

[root@adelababy httpd24]# cd /etc/httpd24/
[root@adelababy httpd24]# mkdir certs/
[root@adelababy httpd24]# cd certs/
[root@www certs]# (umask 077; openssl genrsa -out httpd.key 2048)
[root@www certs]# openssl  req  -new -key httpd.key  -out httpd.csr  -days 350

 将生成的httpd.csr发送给ca服务器

[root@www certs]# scp httpd.csr root@192.168.56.168:/tmp

 在CA服务器上配置

[root@www certs]# cd /tmp/
[root@www tmp]# openssl  ca  -in  httpd.csr  -out  httpd.crt  -days  360
将生成的  httpd.crt 发回httpd服务器
scp httpd.crt root@192.168.56.169:/etc/httpd24/certs/
(c) 配置httpd使用数字证书

         注意:ssl会话只能基于IP创建,这意味着如果服务器仅有一个IP,那么仅为一个虚拟主机提供https服务;

修改httpd.conf文件

vim  /etc/httpd24/httpd.conf
删除这两行前的#
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

修改ssl配置文件/etc/httpd24/extra/httpd-ssl.conf,修改下面四行。

DocumentRoot "/web/vhosts/www2"
ServerName www2.stux.com:443
SSLEngine on
SSLCertificateFile "/etc/httpd24/certs/httpd.crt"
SSLCertificateKeyFile "/etc/httpd24/certs/httpd.key"
重启httpd服务
[root@adelababy httpd24]# service httpd24 restart


Done!