一、安装Apache和mod_ssl
1.1安装Apache服务
1.1.1查看当前安装的Apache服务
rpm -qa|grep httpd
1.1.2 若需要重新安装,需先卸载(不需要请跳过卸载步骤1.1)
1.1.2.1 停止httpd服务
service httpd stop
1.1.2.2 卸载httpd服务
rpm -e httpd-2.4.6-45.el7.centos.4.x86_64 --nodeps
“httpd-2.4.6-45.el7.centos.4.x86_64”为1.1.1返回结果的最后一个包
1.1.2.3 验证是否卸载成功
rpm -qa|grep httpd
1.1.3 安装Apache
yum install httpd
1.2 安装 mod_ssl
1.1.1查看当前安装的mod_ssl
rpm -qa|grep mod_ssl
1.1.2 若需要重新安装,需先卸载(不需要请跳过卸载步骤)
1.1.2.1 卸载mod_ssl服务
rpm -e mod_ssl-2.4.6-45.el7.centos.4.x86_64 --nodeps
“mod_ssl-2.4.6-45.el7.centos.4.x86_64”为1.1.1返回结果的最后一个包
1.1.2.3 验证是否卸载成功
rpm -qa|grep mod_ssl
1.1.3 安装mod_ssl
yum install mod_ssl
温馨提示:
apache服务启动停止命令:
service httpd start 启动
service httpd restart 重新启动
service httpd stop 停止服务
1.3上传web文件
cd /var/www/html //上传文件的路径
wget http://test.oss-cn-shenzhen.aliyuncs.com/web/index.html //wget跟的网页文件的下载地址。
1.4访问测试
1.4.1 启动web 服务
service httpd start
1.4.2 浏览器输入服务器公网地址访问测试
二、配置一个服务器对应多个站点
2.1 新增站点配置文件目录
cd /etc/httpd
sudo mkdir vhost-conf.d
2.2 我们在 vhost-conf.d 目录下新增我们的虚拟主机配置文件 w1-test-com.conf 和 w2-test-com.conf,以 w1-test-com.conf 为例:
cd /etc/httpd/vhost-conf.d
vim w1-test-com.conf
粘贴内容如下:
<VirtualHost *:80>
ServerName w1.test.com
DocumentRoot /var/www/html/
<Directory " /var/www/html/">
Options FollowSymLinks
AllowOverride All
#Require all denied
Require all granted
</Directory>
</VirtualHost>
说明: 1. ServerName 为网站的正确访问域名
2. DocumentRoot 为网页文件本地路径
3. Directory为网页文件本地路径
其他内容不用更改。
针对 w2-test-com.conf 改变相应的配置,即修改 ServerName 为 w2.test.com,DocumentRoot 和 Directory 修改为/var/www/web/。
2.3在主配置中引入我们的虚拟主机配置
vim /etc/httpd/conf/httpd.conf
# 在主配置文件末尾添加以下内容
Include vhost-conf.d/*.conf
2.4:在对应目录放入项目代码
我们的 w1项目代码放在/var/www/html/,w2 项目代码放在/var/www/web/,w1的目录已经创建,还需要创建w2,那么我们在对应目录下创建对应目录并赋予相应权限:
sudo mkdir -p /var/www/web/
然后在/var/www/web/ 下放入项目代码,这里为了测试就新建 index.html,内容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
</head>
<body>
<h1>Apache-centos-20170717-20170725</h1>
<h1>site-2</h1>
</body>
</html>
赋予相应的权限:
sudo chmod -R 777 /var/www/web/
2.5:修改 /etc/hosts 文件
vim /etc/hosts 文件,开头是:
127.0.0.1 localhost
我们在该行后面添加:
127.0.0.1 w1.test.com
127.0.0.1 w2.test.com
2.6:重启 apache 服务器并测试
重启 apache 服务器使得配置生效:
service httpd restart 重新启动
三、购买阿里云证书
3.1 购买证书
参考链接:https://help.aliyun.com/document_detail/28548.html?spm=5176.doc28542.6.554.ieFKC1的一二点,三四点可以忽略。
注意:
验证方式选择DNS时,需要在DNS添加证书要求的DNS记录。证书颁发下来之后,既可以下载到本地了。
四、配置HTTPS
4.1上传证书到对应的目录
public.pem /etc/pki/tls/certs/
214150120520385.key /etc/pki/tls/private/
chain.pem /etc/pki/tls/certs/
4.2 修改ssl.conf的配置文件
vim /etc/httpd/conf.d/ssl.conf
修改下列参数—引入证书路径:
SSLCertificateFile /etc/pki/tls/certs/public.pem
# 证书私钥配置
SSLCertificateKeyFile /etc/pki/tls/private/214150120520385.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile /etc/pki/tls/certs/chain.pem
修改下列参数—修改web站点文件目录:
DocumentRoot "/var/www/html"
ServerName w1.test.com:443
注意:需要重启阿帕奇服务器
五、验证HTTPS和多站点访问
http://w1.test.com
https://w1.test.com
http://w2.test.com
六、实现强制HTTPS访问
6.1修改虚拟主机配置文件
vim /etc/httpd/vhost-conf.d/w1-test-com.conf
添加如下内容:
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]
注意:需要重启阿帕奇服务器
6.2 验证
使用http访问网站,验证其是否会跳转到https。