毫无疑问, 编译安装apache使其支持openssl是很重要的,只有这样才可以实现https,下面我们一步一步的来。
OpenSSL:SSL的开源实现
libcrypto:通用加密库,提供了各种加密函数
libssl:TLS/SSL协议的实现,基于会话的、实现了身份认证、数据机密性和会话完整性的TLS/SSL库
为了简单,这我都是用的yum安装的,但是还是告诉大家怎么编译安装。。。。
1,编译安装openssl
[root@test4 ~]# tar zxvf openssl-1.0.1c.tar.gz
[root@test4 ~]# cd openssl-1.0.1c
[root@test4 openssl-1.0.1c]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl zlib-dynamic shared threads
[root@test4 openssl-1.0.1c]# make
[root@test4 openssl-1.0.1c]# make test
[root@test4 openssl-1.0.1c]# make install
--openssldir=OPENSSLDIR
安装目录,默认是 /usr/local/ssl 。
--prefix=PREFIX
设置 lib include bin 目录的前缀,默认为 OPENSSLDIR 目录。
--install_prefix=DESTDIR
设置安装时以此目录作为"根"目录,通常用于打包,默认为空。
zlib
zlib-dynamic
no-zlib
使用静态的zlib 压缩库、使用动态的zlib 压缩库、不使用zlib 压缩功
能。
threads
no-threads
是否编译支持多线程的库。默认支持。
shared
no-shared
是否生成动态连接库。
asm
no-asm
是否在编译过程中使用汇编代码加快编译过程。
enable-sse2
no-sse2
启用/禁用SSE2 指令集加速。如果你的CPU 支持SSE2 指令集,就可以打
开,否则就要关闭。
gmp
no-gmp
启用/禁用GMP 库
rfc3779
no-rfc3779
启用/禁用实现X509v3 证书的IP 地址扩展
krb5
no-krb5
启用/禁用 Kerberos 5 支持
ssl
no-ssl
ssl2
ssl3
no-ssl2
no-ssl3
tls
no-tls
启用/禁用 SSL(包含了SSL2/SSL3) TLS 协议支持。
dso
no-dso
启用/禁用调用其它动态链接库的功能。[提示]no-dso 仅在no-shared
的前提下可用。
[提示]为了安装Apache 的mod_ssl 成功,SSLv2/SSLv3/TLS 都必须开启。
2,编译安装apache支持openssl
( 大家记住这里要安装mod_ssl包 )
[root@test4 ~]# tar xzvf httpd-2.2.11.tar.gz
[root@test4 ~]# cd httpd-2.2.11
[root@test4 httpd-2.2.11]# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --with-ssl=/usr/local/openssl/
[root@test4 httpd-2.2.11]# make && make install
3,yum安装OpenSSL httpd mod_ssl 自签名配置https
[root@test4 ~]# yum install -y openssl
[root@test4 ~]# yum install -y httpd mod_ssl
[root@test4 ~]#echo 00 > /etc/pki/CA/serial
[root@test4 ~]# touch /etc/pki/CA/index.txt
[root@test4 ~]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 2048 )
[root@test4 ~]# openssl req -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -x509 -days 365
[root@test4 ~]# openssl genrsa 1024 > /etc/httpd/ssl/mail.key
[root@test4 ~]# openssl req -new -key /etc/httpd/ssl/mail.key -out /etc/httpd/ssl/mail.csr
[root@test4 ~]# openssl ca -in /etc/httpd/ssl/mail.csr -out /etc/httpd/ssl/mail.crt
上面是自签名的过程,大家可以看看我的文章数字证书(2),我就不多啰嗦了
https的ssl监控的443端口
[root@test4 ssl]# netstat -antup|grep 443
tcp 0 0 :::443 :::* LISTEN 3843/httpd
vim /etc/httpd/conf.d/ssl.conf
然后在114和121行更改下内容:
114 SSLCertificateFile /etc/httpd/ssl/mail.crt
121 SSLCertificateKeyFile /etc/httpd/ssl/mail.key
4,测试
https://localhost
最后就是倒入ca中心的公钥/etc/pki/CA/cacert.pem,这样就可以了!!!1
附件:http://down.51cto.com/data/2362954