基於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