天天看点

Centos7下Apache详细安装配置及证书申请SSL配置介绍

首先说到Centos大家都已经非常熟悉了,所以我们也就不多介绍关于Centos具体发展了,我们首先知道在Centos7之前版本命令和ReadHat的命令完全一样的,可Centos从6.0版本升级到Centos7版本之后,命令及功能上有了很大的变化,最明显的差别就是从安装的操作界面及操作命令上已经有很大变化了,更不用说功能上的变化了,比如centos6.x版本的iptalbes到centos7的firewall的变化,当然,变化了很多,我也就不多说了,今天呢,主要给大家介绍一下再Centos7下Apache的安装配置及启用SSL的功能及证书申请介绍,在此环境中我们用的是windows系统上安装的CA服务器,具体步骤在博客中的其他文章中有介绍,今天的文章内容具体见下:

对于Centos7的安装过程我们就跳过了,在之前的文档中有介绍,我们安装后,通过xshell或者crt工具连接到centos7的相关操作控制台上:

修改计算机名:

1

<code>Hostnamectl </code><code>set</code><code>-</code><code>hostname</code> <code>apache.iternalsoft.com</code>

禁止防火墙开机启动

<code>Systemctl disable firewalld.service</code>

临时关闭防火墙

2

<code>Systemctl stop firewalld.service </code>

<code>启用防火墙开机启动</code>

<code>Systemctl </code><code>enable</code> <code>firewalld.service </code><code>#启用防火墙开机启动</code>

关闭selinux Vim /etc/selinux/config Set enforce 1

定义好配置后,我们就可以开始安装apache了,首先通过以下命令查看系统是否已经安装了httpd的相关服务:

<code>Rpm -qa |</code><code>grep</code> <code>httpd</code>

<a href="http://s3.51cto.com/wyfs02/M01/6F/67/wKioL1WbdC-wP5p8AABoZL2AiKE762.jpg" target="_blank"></a>

<code>Yum </code><code>install</code> <code>-y httpd</code>

开始安装httpd服务及安装完成

<a href="http://s3.51cto.com/wyfs02/M02/6F/67/wKioL1WbdC_AWw-gAAEBR3HgnXU006.jpg" target="_blank"></a>

<code>Yum </code><code>install</code> <code>-y net-tools</code>

该命令为 netstat –anlpt插件,在centos7下不安装该功能是无法使用netstat的功能使用,如果要使用该命令需要安装该工具

<a href="http://s3.51cto.com/wyfs02/M00/6F/67/wKioL1WbdDDjiRnsAAD27p6XjwY276.jpg" target="_blank"></a>

<code>Netstat -anlpt</code>

发现没有80端口

<a href="http://s3.51cto.com/wyfs02/M01/6F/67/wKioL1WbdDCgGiR9AACxtf-4AWY344.jpg" target="_blank"></a>

<code>Systemctl start httpd</code>

启动apache服务

<a href="http://s3.51cto.com/wyfs02/M00/6F/6A/wKiom1WbcmKRixPSAACkn32d2F0125.jpg" target="_blank"></a>

通过浏览器访问一下

<a href="http://s3.51cto.com/wyfs02/M02/6F/6A/wKiom1WbcmLypDU9AAFTvS879Pg978.jpg" target="_blank"></a>

默认的访问页面在该目录

<code>/etc/httpd/conf</code><code>.d</code><code>/welcome</code><code>.conf</code>

文件

<a href="http://s3.51cto.com/wyfs02/M00/6F/6A/wKiom1WbcmPikv6NAAGd22hVN7I314.jpg" target="_blank"></a>

为了更好的显示,我们修改默认的index.html文件

<code>Cd </code><code>/var/www/html</code>

该路径默认没有Index.html文件,所以我们要新建一个

Vim index.html 新建一个index.html文件及编辑显示内容

<a href="http://s3.51cto.com/wyfs02/M01/6F/6A/wKiom1WbcmOBo-RPAAD5LKAC_Go144.jpg" target="_blank"></a>

然后重启apache服务:

<code> </code><code>systemctl restart httpd</code>

<a href="http://s3.51cto.com/wyfs02/M02/6F/6A/wKiom1WbcmPQPUDuAACGNRjuUSE042.jpg" target="_blank"></a>

接下来我们要为apache启用ssl,首先我们需要为Apache安装mod_ssl模块提供TLS/SSL功能:

https是通过mod_ssl实现的,因此检查并安装mod_ssl:

<code>[root@Centos ~]</code><code># ls /etc/httpd/modules/ | grep "mod_ssl"   #默认没有安装mod_ssl</code>

<a href="http://s3.51cto.com/wyfs02/M00/6F/6A/wKiom1WbcmPB7hu-AABf56cX4ws508.jpg" target="_blank"></a>

<code>[root@Centos ~]</code><code># yum list all mod_ssl   #查看mod_ssl的安装包信息</code>

<a href="http://s3.51cto.com/wyfs02/M01/6F/6A/wKiom1WbcmOjQfYwAAB3NuzaieA213.jpg" target="_blank"></a>

<code>yum </code><code>install</code> <code>-y mod_ssl  </code><code>#安装mod_ssl</code>

<a href="http://s3.51cto.com/wyfs02/M02/6F/67/wKioL1WbdDHTw5MvAACYRwOzz_c148.jpg" target="_blank"></a>

安装完成

<a href="http://s3.51cto.com/wyfs02/M00/6F/67/wKioL1WbdDGys4ViAADhuUyQM2A657.jpg" target="_blank"></a>

检查mod_ssl是安装结果

<code>rpm -qc mod_ssl</code>

<code>/etc/httpd/conf</code><code>.d</code><code>/ssl</code><code>.conf      </code><code>#mod_ssl的配置文件存放位置</code>

<a href="http://s3.51cto.com/wyfs02/M01/6F/67/wKioL1WbdDKR_Tl2AABXIgilwmE534.jpg" target="_blank"></a>

安装完ssl模块后,我就可以申请证书了

3

<code>Cd </code><code>/etc/pki/tls</code>

<code>Openssl genrsa -out server.key 1024</code>

<code>Server.key 是私钥</code>

<a href="http://s3.51cto.com/wyfs02/M01/6F/6A/wKiom1WbcmTguDx3AAEyn0R-dgs565.jpg" target="_blank"></a>

用私钥serverkey 文件生成证书请求文件csr

<code>Openssl req -new -key server.key -out server.csr</code>

<code>Server.csr 是证书请求文件</code>

<a href="http://s3.51cto.com/wyfs02/M02/6F/6A/wKiom1WbcmSQOHLJAAGxX084XK8099.jpg" target="_blank"></a>

ls查看

<a href="http://s3.51cto.com/wyfs02/M02/6F/6A/wKiom1WbcmTRwQ1zAABW1Dg20N8796.jpg" target="_blank"></a>

接下来我们通过server.csr去内部的CA上申请证书

<a href="http://s3.51cto.com/wyfs02/M00/6F/6A/wKiom1WbcmfCUA00AAIHIdNHX6Y358.jpg" target="_blank"></a>

我们通过申请证书来下一步完成证书的申请

<a href="http://s3.51cto.com/wyfs02/M01/6F/6A/wKiom1Wbcmezon5eAAIYh_z3-xE184.jpg" target="_blank"></a>

证书申请完成

<a href="http://s3.51cto.com/wyfs02/M02/6F/67/wKioL1WbdDXDJQzmAACI2m_zL3U823.jpg" target="_blank"></a>

接下来我们需要把该证书拷贝到linux对应的目录进行修改

<a href="http://s3.51cto.com/wyfs02/M00/6F/67/wKioL1WbdDag9MAwAAC7yD9wdc0299.jpg" target="_blank"></a>

我们在cd /etc/httpd/conf/ 进入到httpd的安装目录下

<a href="http://s3.51cto.com/wyfs02/M00/6F/6A/wKiom1WbcmvzBjdAAABmSxPGLSw695.jpg" target="_blank"></a>

然后mkdir ssl 创建证书目录

<a href="http://s3.51cto.com/wyfs02/M01/6F/6A/wKiom1WbcmvR8yqZAABAKiXV7CI844.jpg" target="_blank"></a>

然后

<code>cp</code> <code>/etc/pki/tls/certnew</code><code>.cer server.key</code>

拷贝到 /etc/httpd/conf/ssl/ 目录下

<a href="http://s3.51cto.com/wyfs02/M02/6F/6A/wKiom1WbcmuiKSV6AABiIoBsReM275.jpg" target="_blank"></a>

为了显示更好,我们***文件命名

<code>cp</code> <code>certnew.cer web.pem</code>

然后把certnew.cer删除即可。

<a href="http://s3.51cto.com/wyfs02/M00/6F/6A/wKiom1Wbcmux2ziGAACPkztitkY266.jpg" target="_blank"></a>

接下来我们修改httpd的SSL配置

<code>cd</code> <code>/etc/httpd/conf</code><code>.d </code><code>#进入HTTPD的SSL配置目录</code>

<a href="http://s3.51cto.com/wyfs02/M01/6F/6A/wKiom1WbcmvC2NH2AACI3ypKOoc183.jpg" target="_blank"></a>

<code>vim ssl.conf </code><code>#编辑SSL配置文件</code>

取消以下注释:

<code>DocumentRoot </code><code>"/var/www/html/"</code>

<code>ServerName apache.iternalsoft.com:443</code>

<a href="http://s3.51cto.com/wyfs02/M02/6F/6A/wKiom1WbcmvChn50AAIy8txx1PU594.jpg" target="_blank"></a>

***文件及key文件的路径,根据自己的真实环境来定义

<code>SSLCertficateFile </code><code>/etc/httpd/conf/ssl/web</code><code>.pem</code>

<code>SSLCertficateKeyFile / etc</code><code>/httpd/conf/ssl/server</code><code>.key</code>

<a href="http://s3.51cto.com/wyfs02/M00/6F/6A/wKiom1WbcmvAICzNAAGoUnmWFVg909.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/6F/6A/wKiom1WbcmzixsnpAABOatDzPIc003.jpg" target="_blank"></a>

我们配置完成后,我们通过ssl访问完成

<a href="http://s3.51cto.com/wyfs02/M02/6F/6A/wKiom1WbcmzgvtzZAADjuN7w4nc994.jpg" target="_blank"></a>

接着我们说一下centos7下的module模块的存放路径,其实centos7和centos6之前的版本有很大差别,不管从命令上还是部分文件格式上都有差别,比如module_ssl在centos6之前都是在httpd.conf文件内,而对于centos7来说就在独立的目录下:cd /etc/httpd/conf.modules.d下了

<a href="http://s3.51cto.com/wyfs02/M00/6F/67/wKioL1WbdDrBJS4-AACh_Xta1os402.jpg" target="_blank"></a>

<code>cd</code> <code>/etc/httpd/conf</code><code>.modules.d</code>

<a href="http://s3.51cto.com/wyfs02/M01/6F/67/wKioL1WbdDqyPL1AAACe_Re1Y2o502.jpg" target="_blank"></a>

我们通过

<code>vim 00-ssl.conf</code>

来编辑该模块;mod_ssl的模块信息

<a href="http://s3.51cto.com/wyfs02/M02/6F/67/wKioL1WbdDqyQCRmAAB24yIUxS0665.jpg" target="_blank"></a>

我们再看看

<code>cd</code> <code>/etc/httpd/modules/</code>

下的信息呢

<a href="http://s3.51cto.com/wyfs02/M00/6F/67/wKioL1WbdDrxcW7NAALuVKKeqgQ216.jpg" target="_blank"></a>

本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1671672,如需转载请自行联系原作者