centos+apache安装ssl

默认apache是没有安装SSL模块的,如果网站想以https方式访问,则需要安装并配置ssl模块

第一步:下载ssl证书
不做介绍,下载完成后,证书一般包括3个文件
_public.crt文件是证书文件,
_chain.crt是证书链(中间证书)文件,
.key文件是证书的私钥文件(申请证书时如果没有选择系统创建CSR,则没有该文件)。
新创建一个文件夹'mkdir /etc/httpd/cert',把这些证书放入其中。

第二步:安装mod_ssl.so模块
打开apache的配置文件:/etc/httpd/conf/httpd.conf
搜索‘ssl’,如果没有,就说明没有安装mod_ssl.so模块
现在Apache都自带了这个模块,默认是不安装的。安装方式有静态编译和动态加载。
动态安装我没弄明白,所以采取了重新静态安装的方式

方法1:动态编译:
无需重新编译apache,使用whereis openssl查找openssl路径,直接进入[source]/modules/ssl; 执行

[apache]/bin/apxs -a -i -c -L/usr/lib/openssl/engines/lib -c *.c -lcrypto -lssl -ldl

方法2:静态安装:
即在编译安装apache的时候,在./configure的时候添加--enable--ssl,这样mod_ssl.so模块就加载进了Apache。

方法3:使用yum方式安装mod_ssl.so模块(这个是最简单的,也是最后我用的)

yum -y install mod_ssl

安装完之后/etc/httpd/conf.d目录下会出现一个ssl.conf文件
/etc/httpd/conf.d/ssl.conf编辑此文件,第59-60行释放注释如下:

DocumentRoot "/var/www/html"
ServerName dshvv.com:443

第100行和107行配置如下:

...
SSLCertificateFile /home/cert/_public.crt
...
SSLCertificateKeyFile /home/cert/_dshvv.com.key

然后重启apache就行了

原文地址:https://www.cnblogs.com/dshvv/p/12443811.html