1. 程式人生 > >基於Redhat7系統的apache服務

基於Redhat7系統的apache服務

apache

簡介

Apache音譯為阿帕奇,是北美印第安人的一個部落,叫阿帕奇族,在美國的西南部。也是一個基金會的名稱、一種武裝直升機等等。
Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放原始碼的網頁伺服器,可以在大多數計算機作業系統中執行,由於其多平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴充套件,將Perl/Python等直譯器編譯到伺服器中。
Apache HTTP伺服器是一個模組化的伺服器,源於NCSAhttpd伺服器,經過多次修改,成為世界使用排名第一的Web伺服器軟體。
它可以執行在幾乎所有廣泛使用的計算機平臺上。
預設埠號:80

安裝

1:安裝httpd
yum install httpd -y
在這裡插入圖片描述
2:開啟服務,關閉火牆
在這裡插入圖片描述
3:預設釋出目錄: /var/www/html
4:預設釋出檔案: index.html
在這裡插入圖片描述
5:在瀏覽器中輸入本機IP/index.html可以看到預設釋出檔案內容
在這裡插入圖片描述
5:配置檔案: /etc/httpd/conf/httpd.conf
在這裡插入圖片描述

修改預設釋出目錄與檔案

1:修改預設釋出目錄:
將預設釋出目錄改為/westos/html
編輯配置檔案 vim /etc/httpd/conf/httpd.conf

註釋119,在120行寫入DocumentRoot "/westos/html"
121行: <Directory "/westos">
        require all granted
    < /Directory>

在這裡插入圖片描述
2:修改預設釋出檔案
將預設釋出檔案改為test.html
編輯配置檔案:
123行: DiectoryIndex test.html
在這裡插入圖片描述
3:mkdir -p /westos/html
4:重啟httpd服務
5:編輯/westos/html/test.html
寫入一些內容,然後在瀏覽器中輸入本機IP
在這裡插入圖片描述
在這裡插入圖片描述
6:還原httpd預設釋出目錄和檔案:
將上面註釋的部分取消註釋,新增的部分加上註釋
在這裡插入圖片描述
7:最後重啟服務即可

設定指定ip訪問預設釋出目錄和檔案

1:cd /var/www/html mkdir westos
2:vim westos/index.html
寫入一些內容後儲存退出
在這裡插入圖片描述
3:vim /etc/httpd/conf/httpd.conf
寫入:

<Directory "/var/www/html/westos">
    Order Deny,Allow          ########順序執行,先執行Deny後執行Allow
    Allow from 172.25.66.250
    Deny from All        #####先禁止所有ip訪問,在允許172.25.66.250訪問,相當於白名單,後執行的可覆蓋先執行的
< /Directory>

在這裡插入圖片描述
用172.25.66.250使用者的瀏覽器訪問172.25.66.167
在這裡插入圖片描述

設定指定使用者訪問預設釋出目錄和檔案

1:cd /etc/httpd
htpasswd -cm apacheuser admin ## c–>create 建立,檔案已經存在不用加 c
htpasswd命令是Apache的Web伺服器內建工具,用於建立和更新儲存使用者名稱、域和使用者基本認證的密碼檔案。

-c:建立一個加密檔案;
-n:不更新加密檔案,只將加密後的使用者名稱密碼顯示在螢幕上;
-m:預設採用MD5演算法對密碼進行加密;
-d:採用CRYPT演算法對密碼進行加密;
-p:不對密碼進行進行加密,即明文密碼;
-s:採用SHA演算法對密碼進行加密;
-b:在命令列中一併輸入使用者名稱和密碼而不是根據提示輸入密碼;
-D:刪除指定的使用者。

在這裡插入圖片描述
2:vim /etc/httpd/conf/httpd.conf
註釋掉以前寫的後寫入

<Directory "/var/www/html/westos">
    AuthUserFile /etc/httpd/apacheuser
    AuthName "Please input user and password !!"
    AuthType basic
    Require user admin   #####允許admin使用者訪問
     或者寫 Require valid-user    ####允許所有使用者訪問
< /Rirectory>

在這裡插入圖片描述
重啟服務後測試:
在這裡插入圖片描述
在這裡插入圖片描述

apache的虛擬主機

在一個Apache伺服器上可以配置多個虛擬主機,實現一個伺服器提供多站點服務,其實就是訪問同一個伺服器上的不同目錄。Apache虛擬主機配置有3中方法:基於IP配置、基於域名配置和基於埠配置
1:在要使用的瀏覽器的主機中 172.25.66.250,做域名解析
vim /etc/hosts
172.25.66.11 www.westos.com news.westos.com music.westos.com
在這裡插入圖片描述
2:在有apache的主機中
cd /etc/httpd/conf.d
(1)vim default.conf

< VirtualHost _default_:80>
    DocumentRoot /var/www/html
    Customlog "logs/default.log" combined   ###logs=/etc/httpd
< /VirtualHost>

在這裡插入圖片描述
(2)mkdir /var/www/virtual/westos.com/news -p
mkdir /var/www/virtual/westos.com/music -p
vim /var/www/virtual/westos.com/news/index.html
寫入:
< h1>“news.page”< /h1>
vim /var/www/virtual/westos.com/music/index.html
寫入:
< h1>“music.page”< /h1>
在這裡插入圖片描述
(3):cd /etc/httpd/conf.d
vim news.conf

<VirtualHost *:80>
    ServerName news.westos.com
    DocumentRoot "/var/www/virtual/westos.com/news/"
    Customlog "logs/news.log" combined   ###logs=/etc/httpd
< /VirtualHost>
<Directory "/var/ww/virtual/westos.com/news/">
    Require all granted
< /Directory>

在這裡插入圖片描述
(4)vim music.conf

<VirtualHost *:80>
    ServerName music.westos.com
    DocumentRoot "/var/www/virtual/westos.com/music/"
    Customlog "logs/music.log" combined   ###logs=/etc/httpd
< /VirtualHost>
<Directory "/var/ww/virtual/westos.com/music/">
    Require all granted
< /Directory>

在這裡插入圖片描述
systemctl restart httpd
3:到瀏覽器(172.25.66.250)中分別輸入 www.westos.com news.westos.com music.westos.com
www.westos.com
在這裡插入圖片描述
news.westos.com
在這裡插入圖片描述
music.westos.com
在這裡插入圖片描述

HTTPS

簡介

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。 它是一個URI scheme(抽象識別符號體系),句法類同http:體系。用於安全的HTTP資料傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同於HTTP的預設埠及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司(Netscape)進行,並內置於其瀏覽器Netscape Navigator中,提供了身份驗證與加密通訊方法。現在它被廣泛用於全球資訊網上安全敏感的通訊,例如交易支付方面。
預設埠號:443

相關操作

1:下載modssl
一種以openssl 的工具箱為基礎 專門為apache webserver 提供密碼保護,ssl(安全套階層)和 tls(傳輸套件層安全)的 協議
yum install mod_ssl -y
在這裡插入圖片描述
2:systemctl restart httpd
3:下載crypto-utils ##密碼隨機生成器,用於獲得金鑰
yum install crypto-utils -y
在這裡插入圖片描述
4:製作數字證書
genkey www.westos.com
進入後第一步選擇NEXT進入下一步,然後選擇加密程度,金鑰程度越高,消耗時間越長,這裡我們選擇512就可以,然後進入第一個載入介面,這個可以自動載入完成,完成後會進入下面這樣的讀條介面,需要我們手動敲擊鍵盤完成載入
在這裡插入圖片描述
載入完成後會彈出下面的提示框,這一步選擇NO後回車
在這裡插入圖片描述
到下一步直接回車輸入相關資訊結束即可獲得鑰匙和鎖
在這裡插入圖片描述
點選Next退出介面
在這裡插入圖片描述
上面紅框中標記的就是獲得的金鑰和鎖的路徑
5:vim /etc/httpd/conf.d/ssl.conf
分別在101和109行寫入鎖和鑰匙的絕對路徑
在這裡插入圖片描述
6:systemctl restart httpd
7:到瀏覽器訪問https://www.westos.com會看到如下介面
在這裡插入圖片描述
點選Advanced
在這裡插入圖片描述
然後點選上圖紅框
在這裡插入圖片描述
最後點選上圖中紅框內容即可完成驗證
在這裡插入圖片描述

預設https

預設https即為在瀏覽器中只輸入域名,自動解析到https
1:mkdir /var/www/virtual/westos.com/login/
vim /var/www/virtual/westos.html/login/index.html
寫入:login.page
在這裡插入圖片描述
2:vim /etc/httpd/conf.d/login.conf

<VirtualHost *:443>
        ServerName login.westos.com
        DocumentRoot "/var/www/virtual/westos.com/login/"
        Customlog "logs/login.log" combined
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
        SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Directory "/var/www/virtual/westos.com/login/">
        Require all granted
</Directory>
<VirtualHost *:80>
        ServerName login.westos.com
        RewriteEngine on
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>

在這裡插入圖片描述
8:systemctl restart httpd
9:瀏覽器中 www.westos.com
在這裡插入圖片描述