LAMP基於RPM包搭建

一:簡述

超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。

HTTP是一個客戶端和服務器端請求和應答的標準(TCP)。客戶端是終端用戶,服務器端是網站。通過使用Web瀏覽器、網絡爬蟲或者其它的工具,客戶端發起一個到服務器上指定端口(默認端口爲80)的HTTP請求。(我們稱這個客戶端)叫用戶代理(user agent)。應答的服務器上存儲着(一些)資源,比如HTML文件和圖像。(我們稱)這個應答服務器爲源服務器(origin server)。在用戶代理和源服務器中間可能存在多箇中間層,比如代理,網關,或者隧道(tunnels)。儘管TCP/IP協議是互聯網上最流行的應用,HTTP協議並沒有規定必須使用它和(基於)它支持的層。 事實上,HTTP可以在任何其他互聯網協議上,或者在其他網絡上實現。HTTP只假定(其下層協議提供)可靠的傳輸,任何能夠提供這種保證的協議都可以被其使用。

通常,由HTTP客戶端發起一個請求,建立一個到服務器指定端口(默認是80端口)的TCP連接。HTTP服務器則在那個端口監聽客戶端發送過來的請求。一旦收到請求,服務器(向客戶端)發回一個狀態行,比如"HTTP/1.1 200 OK",和(響應的)消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。

HTTP使用TCP而不是UDP的原因在於(打開)一個網頁必須傳送很多數據,而TCP協議提供傳輸控制,按順序組織數據,和錯誤糾正。

通過HTTP或者HTTPS協議請求的資源由統一資源標示符(Uniform Resource Identifiers)(或者,更準確一些,URLs)來標識。

HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。

HTTP是客戶端瀏覽器或其他程序與Web服務器之間的應用層通信協議。在Internet上的Web服務器上存放的都是超文本信息,客戶機需要通過HTTP協議傳輸所要訪問的超文本信息。HTTP包含命令和傳輸信息,不僅可用於Web訪問,也可以用於其他因特網/內聯網應用系統之間的通信,從而實現各類應用資源超媒體訪問的集成。

我們在瀏覽器的地址欄裏輸入的網站地址叫做URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協議(HTTP),將Web服務器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。


二:實驗簡述

LAMP是web服務的最基礎的組合方式,本系列將介紹一下關於LAMP組合的各種部署方式,包括:

    基於RPM包的實現:

    httpd與php結合的方式爲module,也就是php作爲httpd的模塊方式提供服務

    httpd與php結合的方式爲fastcgi,也就是php工作爲獨立的進程,與httpd之間利用fastcgi協議提供服務

    基於編譯安裝實現:

    httpd與php結合的方式爲module,也就是php作爲httpd的模塊方式提供服務

    httpd與php結合的方式爲fastcgi,也就是php工作爲獨立的進程,與httpd之間利用fastcgi協議提供服務


本篇就展示一下利用rpm包,php與httpd結合的方式爲module方式

    包含了LAMP的安裝

    httpd虛擬主機的配置(基於IP、基於端口、基於主機名)

    httpd基於basic認證

    httpd基於IP的訪問控制

    httpd的status頁面的配置

    httpd的路徑別名的配置


環境說明

    使用centos7系統

    利用yum安裝相關軟件包

    搭建好yum源倉庫和配置好DNS 

    爲了避免在試驗過程中出現其它問題,先把防火牆(iptables)清空,SElinux設置爲disabled


第一部分: RPM包安裝LAMP相關軟件,進行簡單配置

1、安裝http、php、mariadb-server、php-mysql

  httpd作爲web服務器

  mariadb-server作爲數據庫服務器

  php當httpd與module結合時,使用的軟件包(如果利用fastcgi結合,則需要安裝php-fpm)

  php-mysql php連接時mysql數據庫時的擴展模塊

wKioL1gcVxjxB3HOAADsXEVsjYQ220.png

wKiom1gcV-OA4azwAACbtFxrG1U755.png


2、修改httpd的配置文件和mariadb配置文件

  修改httpd的配置文件,讓其能夠正常啓動

[root@CentOS 7 ~]#vim /etc/httpd/conf/httpd.conf

wKioL1gcb_GBKBGAAAA7xRtQCic835.png

  修改mariadb的配置文件,讓其能夠正常啓動

[root@CentOS 7 ~]#vim /etc/my.cnf

wKioL1gccXfhoUh1AABQV8UCXf0857.png

wKiom1gcdEGCOF1WAABMWhhJPKM337.png

3,對mysql進行簡單配置,增強其安全性,創建並授權賬號,供php連接使用

  在第一次啓動數據庫時,建議使用 mysql_secure_installnation(安全配置嚮導)進行安全相關的初始化設定,增強mysql的安全性

1.png

創建某用戶賬號,用於讓php進行連接數據庫使用

wKiom1gdRlTBHLqlAAB0JOUFMXk700.png

提供測試頁,進行測試

wKioL1gdRrOSyLP8AABN5gPsvF4601.png

wKioL1gdRtqhX8vcAAA5otsrOL8347.png

wKiom1gdRtvQ8j3XAABmTRWndVM421.png


二,httpd相關配置顯示

1,配置基於IP的虛擬機主機

  先爲本機添加IP

wKiom1gdUeSAQbLYAACgQL6mFGg280.png

   編輯配置文件

vim /etc/httpd/conf/httpd.conf    (DocumentRoot:網站根目錄)

wKioL1gdUgyzMmrBAAAvj_SSWyQ882.png

wKiom1gdc57QmhSzAACDjUGsoZQ653.png

   爲不同的虛擬主機提供不同的測試頁

   mkdir /testdir/{www1,www2}

wKioL1gddGTRV9o7AAAmOs_rwZA266.png

檢查配置文件的語法是否有誤,無誤就重啓服務,然後進行測試

wKiom1gddGWgbp7WAAAYghIoVCM178.png

wKioL1gddTuyPGAbAAAvKro0TBY159.png

wKioL1gddQvgptrIAAAwbw4GNvw411.png



配置基於PORT的虛擬主機

  修改配置文件

vim /etc/httpd/conf/httpd.conf

添加一項:

Listen 80

Listen 8080

vim /etc/httpd/conf.d/vhost.conf

wKioL1gdhDDBVuV_AACT0_nvFag052.png

在主配置文件裏修改了端口、網頁根路徑時,都要重啓服務

httpd -t

systemctl restart httpd.service

wKiom1gdhDHA9FDnAAAoQsFlykY397.png

wKioL1gdhRyzDCYFAAAuR_C3aG4447.png

wKioL1gdhRzDPO_zAAA5-xCtuvQ237.png


配置基於主機名稱的虛擬主機

  修改httpd配置文件

wKioL1gdidSgy4w2AACUl0v3taI831.png


檢查配置文件語法錯誤,重啓httpd服務

修改測試主機的host文件,讓其對www.a.com和www.b.com都能解析到10.1.50.66主機上,然後進行測試

WindowsDNS文件路徑:C盤/windows/system32/driver/etc/hosts

wKioL1gdisThAnQAAAB0sXQZsOM299.png

wKiom1gdis2QOse9AAAuPVGZOzU916.png

wKioL1gditWzAlAmAAA***w-nx8768.png

4,配置基於basic認證的用戶認證

 修改httpd配置文件

blob.png

創建認證文件

blob.png

提供對應的測試頁面,重載配置文件,進行測試

blob.png

blob.pngblob.png

blob.png

blob.png


5、配置基於IP的訪問控制機制

 修改httpd的配置文件

 vim /etc/httpd/conf.d/vhost.conf

blob.png

檢查配置文件語法,然後重載配置文件,進行測試

blob.pngblob.png


6、基於httpd狀態頁面的配置

  修改heepd配置文件

vim /etc/httpd/conf.d/vhost.conf

blob.png

修改完配置參數,檢查語法是否有語法錯誤,重載配置文件

blob.png

blob.png

7,配置路徑別名

修改httpd配置文件

vim /etc/httpd/conf.d/vhost.conf

blob.png

在/aaa/bbb下提供測試頁面,檢查httpd配置語法,重載文件

blob.pngblob.png

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