首先說到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,如需轉載請自行聯系原作者