[Linux CentOS] 虛擬機中www服務器搭建(Apache HTTP)

實驗目標:

  • 搭建基於域名和基於IP的虛擬主機
  • 搭建個人網站和實現訪問控制

1.基本瞭解

WWW的核心是HTTP協議,由於HTTP協議是明文的數據傳輸,所以有了基於SSL加密協議的HTTP協議,即HTTPS協議。在Linux中有httpd守護進程來進行相應的服務。可以用httpd進程來監聽80端口(http通信)443端口(https通信)

2.主要配置文件的瞭解

Apache HTTP的主要配置文件==/etc/httpd/conf/httpd.conf==。
http.conf主要分爲三部分:全局環境、主服務器配置、和虛擬主機

全局環境:配置整個服務器的相關指令,指令格式爲:指令 參數值。

指令 含義 默認參數
ServerTokens 配置http服務器返回給客戶端的響應頭中是否包含服務器操作系統版本 OS:基本操作系統信息
ServerRoot 服務器的頂級目錄所在 /etc/httpd:其他相關配置文件存放在該目錄的二級目錄下
PidFile 記錄hhtpd進程PID文件 /run/httpd.id:該目錄需結合頂級目錄參考
Timeout 自動斷開連接的最大時限 60:單位是秒
KeepALive 是否建立持續連接 off:不建立持續連接
Listen 監聽的服務器端口 80
User apache&Group apache 多處理模塊啓動的服務子進程的所屬用戶及所屬組羣

主服務器配置:主要了解目錄訪問權限

<Directory 目錄路徑> 訪問控制指令 </ Directory>

對於目錄的訪控指令主要講:
AllowOverride:用於設定是否允許覆蓋當前的訪問權限設置

虛擬主機:使得一臺實際的Apache服務器可以提供多個不同的主機,每臺主機好像獨立存在的。
基於IP地址的虛擬主機:不同的IP地址來訪問不同的虛擬主機。配置時主要利用網卡的不同接口,即設置IP別名,利用DNS服務器進行解析後連接不同的虛擬主機。
== 基於名稱的虛擬主機==:不同的虛擬主機使用同一個IP地址。配置時主要是利用http.conf文件中的 < VirtualHost >來進行不同的虛擬主機辨別。
個人網站:Linux系統中的用戶可以設置客人網站,並且可以控制允許訪問權限。要開通個人網站,首先要對==/etc/httpd/userdir.conf==文件中的指令進行修改,一般默認情況是禁止開通個人網站。

3.配置步驟

準備工作:防火牆和SELinux對hhtp進行開放(自行解決)
①基於名稱的虛擬主機的配置
-自定義兩臺虛擬主機(多個名稱對應一個IP地址)

student.example.com 192.168.2.105
office.example.com 192.168.2.105

-配置named.conf,定義正向解析區文件和反向解析區文件(此處也可以不用重新定義)
named.conf
-在正向解析區文件和反向解析區文件中都添加相應的資源記錄(注意細節,比如說’.’)
在這裏插入圖片描述
在這裏插入圖片描述
-重啓named服務,用dig命令檢測是否配置成功(出現標紅那段的就是配置成功了,當然也可以用nslookup來解析,只要證明配置沒毛病就行,注意!!這裏踩雷一次,DNS真的是每次都要仔細去看看/etc/resolv.conf文件有沒有修改爲自己的DNS服務器做首選,就是要把自己Linux虛擬機IP加在第一行了
在這裏插入圖片描述
-配置網站首頁
在這裏插入圖片描述
-修改httpd.conf,添加如下虛擬主機配置(剛開始因爲把student的路徑寫成了/var/www/office,後來登錄的時候一直訪問的時office的主頁,所以要細心)
在這裏插入圖片描述
== 注意:在新版本的Apache中是不需要添加 NameVirtualHost (如下),不然在啓動httpd時會報: NameVirtualHost has no effect and will be removed …直接去掉就可以了==
在這裏插入圖片描述 -重啓httpd服務後,在瀏覽器中分別使用域名訪問兩個虛擬主機(成功)
在這裏插入圖片描述
在這裏插入圖片描述
== ②基於IP的虛擬主機==
-又自定義兩個虛擬主機(不同主機不同IP)

student.example.com 192.168.2.106
office.example.com 192.168.2.107

-用ifconfig和route命令爲網卡ens33增加兩個接口,ifconfig後顯示出來ens33多了兩個子設備(不叫ens33,叫eth0也行,默認網卡名稱而已)
在這裏插入圖片描述
在這裏插入圖片描述-熟悉的DNS配置再來一遍
在這裏插入圖片描述
在這裏插入圖片描述
-熟悉的httpd.conf虛擬主機配置再來一遍(接上個實驗改下IP就可以了)
在這裏插入圖片描述
-IP登錄
在這裏插入圖片描述
在這裏插入圖片描述③個人網站及訪問控制
-修改httpd.conf文件(對/home下的所有用戶允許訪問覆蓋)
在這裏插入圖片描述
-修改userdir.conf文件當然,不同的版本userdir所在不同,有些可以直接在httpd.conf文件中找到mod_userdir模塊,但是如果httpd.conf文件中不存在該模塊,那麼就應該存在一個獨立的userdir的配置文件,此次實驗我開始對httpd.conf簡單的手動添加mod_userdir模塊,併成功開通個人網站功能,而是在對userdir.conf文件進行修改後,個人網站才得以開通
在這裏插入圖片描述-設置Apache服務器的身份驗證賬號test1、test2
在這裏插入圖片描述
-切換至cy用戶、準備訪問目錄
在這裏插入圖片描述
-創建.htaccess文件,允許test1、test2訪問
在這裏插入圖片描述
-使用瀏覽器:http://localhost/~cy 登錄用戶個人網站,可以使用test1和test2賬號進行登錄
在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章