在CentOS7下搭建LAMP+SSL 的配置

来源:互联网 发布:江苏中国淘宝第一村 编辑:程序博客网 时间:2024/06/05 03:19

在CentOS7下搭建LAMP+SSL 的配置

安装完 LAMP 之后想要配置 HTTPS ,会发现找不到 mod_ssl.so 也找不到 ssl的配置文件。本文根据自己的失败经验就介绍一下其搭建步骤。

1、yum安装

 yum  install  -y      httpd   php    php-mysql  php-gd   php-mbstring   php-xml    mariadb-server  mod_ssl

注意:这边直接使用mod_ssl,若果没有mod_ssl 可以安装编译 openssl,由于yum没有openssld 包需要去网上下载之后才能使用。

因为centos 7已经抛弃了原先的mysql,而选择的是 mariadb-servcer 。

了解centos7安装mysql转到: http://blog.csdn.net/tammy1151/article/details/77461629

2、检查LAMP是否安装成功

1.启动httpd服务

systemctl start htppd.service

2.查看httpd 服务状态

systemctl status httpd.service


3.查看开放端口 ss -tnl ,我们需要的是80端口。


注:如果是阿里云服务器,若端口没有开放,需要去阿里云官网---控制台  找到安全开放端口!!!


4.确认进程的启动

ps -aux
这个一般不会有问题


5.确认默认启动模块prefok是shared状态

httpd -M | grep mpm


6.确认ssl模块是否启用成功,这个很关键!!!,启动成功了,之后才能配置ssl 。shared表示启动成功

httpd -M |grep ssl

7.启动数据库

systemctl start mariadb.service
第一次进入数据库不需要密码,默认用户名root

mysql -u root

设置数据库密码:

set password = password('123456');
exit 或者 quit 退出数据库

下次进入数据库:

mysql -u root -p
回车输入密码

3.测试页面

网站的根目录: /var/www/html

httpd的配置文件:/etc/httpd/conf

测试1:输入ip地址,有Apache的页面出来

测试2:PHP

echo "<?php  phpinfo() ?>" >/var/www/html/phpinfo.php

访问: ip/phpinfo.php


至此LAMP 搭建完成。

4.关于ssl的配置

阿里云的方法:

首先先从阿里云下载好 apache 的证书,解压后包括4个文件:

1. 证书文件214221995500121.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214221995500121.key、证书公钥文件public.pem、证书链文件chain.pem。
按照阿里云的方法,若你也找不到它所说的文件,请调后面本人的目录结构:

( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214221995500121.key;
( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)#Include conf/extra/httpd-ssl.conf
( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
# 添加 SSL 协议支持协议,去掉不安全的协议SSLProtocol all -SSLv2 -SSLv3# 修改加密套件如下SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUMSSLHonorCipherOrder on# 证书公钥配置SSLCertificateFile cert/public.pem# 证书私钥配置SSLCertificateKeyFile cert/214221995500121.key# 证书链配置,如果该属性开头有 '#'字符,请删除掉SSLCertificateChainFile cert/chain.pem

不同目录结构,自己的配置方法

这边我的目录结构没有 extra.

etc--httpd--httpd  -- httpd.conf

                  |-conf.d -- ssl.conf
因为前面我们已经开启了mod_ssl.so,在httpd.conf 最后 也包含了conf.d.*.conf下所有的配置文件,所以这里可以省略上述的第2步。

第三步照旧。

需要注意的是:密钥文件的目录写的是

cert/public.pem
我们把cert 目录放在 httpd下,而不是conf.d下!!!

至此我们的环境就搭建好了




原创粉丝点击