默认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就行了