关于LAMP(Apache/MySQL/PHP)环境下配置HTTPS教程

博客都启用了HTTPS了,在配置中也遇到过大大小小的问题,结合自己的实践,下面把博主自己配置HTTPS中遇到的问题以及如何配置分享分享。

由于博主很懒,所以一般配置环境都是用的一键安装包,方便快捷(真适合我啊)。一开始用的是阿里云的一键web环境安装包,效果不理想,怎么安装数据库都会爆炸,换服务器也爆炸,所以我个人觉得那个一键包有点渣。于是呢,我就上网搜啊搜,看到了老左博客有一个LAMP一键安装包,于是便买了一台服务器用作测试环境,用了十几天,没出现过问题。唯一的问题就是配置HTTPS的时候出了点问题。不过经过无数次的百度跟谷歌,还是把问题都解决了,现在配置起来行云流水。

1、确保SSL模块部署

yum install openssl
yum install mod_ssl

不管是否与我们环境是否部署,我们还是自己重新部署一遍。

2、检查和启动SSL模块

在以上提到安装的LAMP环境,是在/usr/local/apache/conf/目录中的httpd.conf,博主这里用Atom编辑器打开。

检查LoadModule ssl_module modules/mod_ssl.so一行,然后如果看到前面有#,直接把#去掉启动,如果已经去掉就不管。

3、编辑部署SSL

这里打开/usr/local/apache/conf/extra目录中的httpd-ssl.conf,编辑<VirtualHost _default_:443>位置下面的几行

DocumentRoot "/data/www/www.mikublog.com/"   #这里填的是你网站目录
ServerName www.mikublog.com:443    #这里填你的域名
SSLEngine on   #前面如果有#,那就把#号去掉
SSLCertificateFile "/usr/local/apache/conf/www.mikublog.com.crt"   #你crt证书的路径
SSLCertificateKeyFile "/usr/local/apache/conf/www.mikublog.com.key"   #你的私钥证书

这里需要注意的就是需要上传的3个文件路径,我们上传到哪里,然后就URL就用到。

4、重启apache

service httpd restart

5、查看linux当前打开的端口

netstat -tln

duankouno

我们可以看到 服务器的443端口并没有打开,为什么呢,因为没有引用我们所修改的http_ssl.conf文件。

6、引用http_ssl.conf

打开/usr/local/apache/conf目录中的http.conf,找到Include conf/extra/httpd-ssl.conf这一行(一般在第500行),把这行前面的#去掉即可。

我们再重启apache

service httpd restart

查看打开的端口

netstat -tln

duankouyes

现在已经打开了443端口并监听了。我们用https打开网站看看。

提示403 Forbidden,You don’t have permission to access / on thie server.

Forbidden

这里我一开始以为是文件权限问题,于是把文件夹设置成777权限,依旧如此。

既然不是文件权限那就可能是配置的权限了,于是便去研究http.conf,果不其然,配置出了问题。

7、解决配置https后遇到的403 Forbidden

这里打开/usr/local/apache/conf目录中的http.conf,用编辑器Ctrl+F搜索<Directory />找到以下代码:

<Directory />
    AllowOverride none
    Require all denied
</Directory>

修改成

<Directory />
    AllowOverride All
    Allow from all
</Directory>

重启apache

service httpd restart

再打开配置的https站点,就能正常访问了!!!(好激动啊

8、SSL证书部署总结

无论我们是使用付费的还是使用免费SSL证书,其实大概的过程都是差不多的,只要把获取到的证书文件部署到对应环境的对应路径衔接就可以,当然还包括一些细节问题信息量比较乱,这就需要我们善用百度跟谷歌了。毕竟凡事靠自己。

6 条评论

发表评论

*