1. 程式人生 > >centOS下,yum安裝Apache過程

centOS下,yum安裝Apache過程

第一步:安裝Apache服務程式(apache服務的軟體包名稱叫做httpd)

yum install httpd -y

 

第二步: 將Apache服務新增到 開機自啟中

 

第三步:開啟firefox瀏覽器 測試 127.0.0.1

 

 

這樣 我們的apache服務就安裝好了 !

小編下面給大家 講解一下 一些配置檔案 。以及apach 的應用服務

剛學會的安裝和執行只是學習httpd服務程式成功路上的一小步而已,對於Linux系統中服務的配置就是在修改其配置檔案,因此還需要知道這些配置檔案分別幹什麼用的,以及存放到了什麼位置:

 

 

服務目錄 /etc/httpd
主配置檔案 /etc/httpd/conf/httpd.conf
網站資料目錄 /var/www/html
訪問日誌 /var/log/httpd/access_log
錯誤日誌 /var/log/httpd/error_log

 

 

我們再來看下主配置檔案: vim /etc/httpd/conf/httpd.conf

centos7 部署Apache伺服器

是不是下了 一跳,一共有353行 。但其實 沒有關係的,這些配置檔案中 大部分都是 註釋資訊,剩下的 就只有全域性配置資訊,區域配置資訊。

 

在httpd服務程式主配置檔案中最為常用的引數包括有:

ServerRoot 服務目錄
ServerAdmin 管理員郵箱
User 執行服務的使用者
Group 執行服務的使用者組
ServerName 網站伺服器的域名
DocumentRoot 網站資料目錄
Listen 監聽的IP地址與埠號
DirectoryIndex 預設的索引頁頁面
ErrorLog 錯誤日誌檔案
CustomLog 訪問日誌檔案
Timeout 網頁超時時間,預設為300秒.
Include 需要載入的其他檔案

從上面表格中可以得知DocumentRoot正是用於定義網站資料儲存路徑的引數,其引數的預設值是把網站資料存放到了/var/www/html目錄中的,而網站首頁的名稱應該叫做index.html,因此可以手動的向這個目錄中寫入一個檔案來替換掉httpd服務程式的預設網頁,這種操作是立即生效的

echo "hello everyone my name is feixiangkeji" > /var/www/html/index.html

緊接著 我們 開啟firefox 瀏覽器 檢視一下:

centos7 部署Apache伺服器

測試成功!然後 我們 來修改 網站資料的主目錄。剛開始 我們預設的網站主目錄是/var/www/html

我們把它改變為 /home/wwwroot/中 。同樣我們也要在/home/wwwroot/中 建立首頁檔案

mkdir /home/wwwroot

echo "this is feixiangkeji" > /home/wwwroot/index.html

centos7 部署Apache伺服器

目錄,首頁檔案都建立好了 ,我們是不是要修改 網站的配置檔案啊

vim /etc/httpd/conf/httpd.conf

找到大約在119行附近的DocumentRoot引數以及大約在123行附近的,修改後記得儲存:

centos7 部署Apache伺服器

systemctl restart httpd

重新啟動httpd服務程式後便可驗證效果啦!!!但我們發現 還是剛開始測試頁面 !!而剛新建的首頁檔案並不顯示出來?????

httpd服務程式的功能就是讓使用者能夠訪問到網站內容,因此讓SELinux對網頁訪問功能肯定是預設允許的,但剛剛把儲存網站資料的預設路徑修改為了/home/wwwroot目錄,這似乎就產生問題了,也就是說現在httpd提供的網站服務卻要去獲取普通使用者家目錄中的資料了,這個行為觸犯SELinux服務的監管專案。既然已經找出問題所在了

下面 小編就來 先關閉SElinux :

[[email protected] ~]# setenforce 0

[[email protected] ~]# getenforce

Permissive

centos7 部署Apache伺服器

但這種修改只是臨時的,重啟後就會失效!!!!!!

我們再次訪問網站

centos7 部署Apache伺服器

果不其然 ,就是SElinux 搞的鬼

[[email protected] ~]# ls -Zd /var/www/html

[[email protected] ~]# ls -Zd /home/wwwroot

centos7 部署Apache伺服器

在檔案上面設定的SELinux安全上下文是由使用者段、角色段以及型別段等等多個資訊專案共同組成的,使用者段中system_u代表系統程序身份,角色段object_r代表檔案目錄角色,型別段httpd_sys_content_t代表是網站服務系統檔案。由於SELinux服務實在過於複雜,因此現在您只需要簡單熟悉SELinux服務的作用就可以,現在這種情況的解決辦法就是把當前網站目錄/home/wwwroot的SELinux安全上下文修改為跟原始網站目錄的一樣就可以啦~

semanage命令用於查詢與修改SELinux的安全上下文,格式為:“semanage [選項] [檔案]”。

-l引數用於查詢、-a引數用於新增、-m引數用於修改、-d引數用於刪除等等

[[email protected] ~]# setenforce 1 把SElinux 改為強制

然後我們才能修改SElinux 的 上下文

-Z 檢視檔案上下文資訊,也就是檔案的SELinux資訊,可以膚淺地理解為各個使用者對該檔案或資料夾的許可權(只有開啟Selinux才有效)

-d 只列出目錄,不包括內容,不引用符號連結

因此ls -Zd的意思就是檢視該路徑下資料夾的selinux屬性。

如果系統裡沒有 semanage 命令

centos7 部署Apache伺服器

我們可以 yum provides /usr/sbin/semanage 檢視 semanage對應的 軟體包

centos7 部署Apache伺服器

然後 小編就 yum install policycoreutils-python

這樣 semanage 命令就可以用了

[[email protected] ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot

[[email protected] ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

centos7 部署Apache伺服器

不過僅僅是這樣設定完還不能讓網站立即恢復訪問,還需要使用restorecon命令來讓剛剛設定的SELinux安全上下文立即生效,可以加上-Rv引數指定進行對目錄的遞迴操作以及顯示SELinux安全上下文的修改過程:

[[email protected] ~]# restorecon -Rv /home/wwwroot/

centos7 部署Apache伺服器

重新整理一下

centos7 部署Apache伺服器

這樣 我們網站初期 一些基礎的東西 就先說到這 ,請關注我接下來發表的 Apache 個人網站主頁,

虛擬網站主機功能,基於IP地址的,基於埠的,和基於域名訪問的三種模式。

--------------------- 作者:shj_php 來源:CSDN 原文:https://blog.csdn.net/shj_php/article/details/79495861?utm_source=copy 版權宣告:本文為博主原創文章,轉載請附上博文連結!