《centos7 部署Apache服務(wù)器》要點(diǎn):
本文介紹了centos7 部署Apache服務(wù)器,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
維易PHP培訓(xùn)學(xué)院每天發(fā)布《centos7 部署Apache服務(wù)器》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
Apache程序是目前擁有很高市場(chǎng)占有率的Web服務(wù)程序之一,其跨平臺(tái)和平安性廣泛被認(rèn)可且擁有快速、可靠、簡(jiǎn)單的API擴(kuò)展. 它的名字取自美國(guó)印第安人土著語(yǔ),寓意著擁有高超的作戰(zhàn)策略和無(wú)窮的耐性,在紅帽RHEL5、6、7系統(tǒng)中一直作為著默認(rèn)的Web服務(wù)程序而使用,并且也一直是紅帽RHCSA和紅帽RHCE的考試重點(diǎn)內(nèi)容.Apache服務(wù)程序可以運(yùn)行在Linux系統(tǒng)、Unix系統(tǒng)甚至是Windows系統(tǒng)中,支持基于IP、域名及端口號(hào)的虛擬主機(jī)功能、支持多種HTTP認(rèn)證方式、集成有代理服務(wù)器模塊、平安Socket層(SSL)、能夠?qū)崟r(shí)監(jiān)視服務(wù)狀態(tài)與定制日志消息,并有著各類豐富的模塊支持.
第一步:安裝Apache服務(wù)法式(apache服務(wù)的軟件包名稱叫做httpd)
yum install httpd -y
第二步: 將Apache服務(wù)添加到 開機(jī)自啟中
第三步:打開firefox瀏覽器 測(cè)試 127.0.0.1
這樣 我們的apache服務(wù)就安裝好了 !
小編下面給年夜家 講解一下 一些配置文件 .以及apach 的應(yīng)用服務(wù)
剛學(xué)會(huì)的安裝和運(yùn)行只是學(xué)習(xí)httpd服務(wù)程序成功路上的一小步罷了,對(duì)于Linux系統(tǒng)中服務(wù)的配置就是在修改其配置文件,因此還需要知道這些配置文件分別干什么用的,以及存放到了什么位置:
服務(wù)目錄 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
網(wǎng)站數(shù)據(jù)目錄 | /var/www/html |
拜訪日志 | /var/log/httpd/access_log |
錯(cuò)誤日志 | /var/log/httpd/error_log |
我們?cè)賮?lái)看下主配置文件: vim /etc/httpd/conf/httpd.conf
是不是下了 一跳,一共有353行 .但其實(shí) 沒(méi)有關(guān)系的,這些配置文件中 大部門都是 注釋信息,剩下的 就只有全局配置信息,區(qū)域配置信息.
在httpd服務(wù)程序主配置文件中最為常用的參數(shù)包含有:
ServerRoot | 服務(wù)目錄 |
ServerAdmin | 管理員郵箱 |
User | 運(yùn)行服務(wù)的用戶 |
Group | 運(yùn)行服務(wù)的用戶組 |
ServerName | 網(wǎng)站服務(wù)器的域名 |
DocumentRoot | 網(wǎng)站數(shù)據(jù)目錄 |
Listen | 監(jiān)聽的IP地址與端口號(hào) |
DirectoryIndex | 默認(rèn)的索引頁(yè)頁(yè)面 |
ErrorLog | 錯(cuò)誤日志文件 |
CustomLog | 拜訪日志文件 |
Timeout | 網(wǎng)頁(yè)超時(shí)時(shí)間,默認(rèn)為300秒. |
Include | 需要加載的其他文件 |
從上面表格中可以得知DocumentRoot正是用于定義網(wǎng)站數(shù)據(jù)保存路徑的參數(shù),其參數(shù)的默認(rèn)值是把網(wǎng)站數(shù)據(jù)存放到了/var/www/html目錄中的,而網(wǎng)站首頁(yè)的名稱應(yīng)該叫做index.html,因此可以手動(dòng)的向這個(gè)目錄中寫入一個(gè)文件來(lái)替換掉httpd服務(wù)程序的默認(rèn)網(wǎng)頁(yè),這種操作是立即生效的
echo "hello everyone my name is feixiangkeji" > /var/www/html/index.html
緊接著 我們 打開firefox 瀏覽器 查看一下:
測(cè)試勝利!然后 我們 來(lái)修改 網(wǎng)站數(shù)據(jù)的主目錄.剛開始 我們默認(rèn)的網(wǎng)站主目錄是/var/www/html
我們把它改變?yōu)?/home/wwwroot/中 .同樣我們也要在/home/wwwroot/中 創(chuàng)立首頁(yè)文件
mkdir /home/wwwroot
echo "this is feixiangkeji" > /home/wwwroot/index.html
目錄,首頁(yè)文件都創(chuàng)立好了 ,我們是不是要修改 網(wǎng)站的配置文件啊
vim /etc/httpd/conf/httpd.conf
找到大約在119行附近的DocumentRoot參數(shù)以及大約在123行附近的,修改跋文得保存:
systemctl restart httpd
重新啟動(dòng)httpd服務(wù)法式后便可驗(yàn)證效果啦!!!但我們發(fā)現(xiàn) 還是剛開始測(cè)試頁(yè)面 !!而剛新建的首頁(yè)文件并不顯示出來(lái)?????
httpd服務(wù)程序的功能就是讓用戶能夠拜訪到網(wǎng)站內(nèi)容,因此讓SELinux對(duì)網(wǎng)頁(yè)拜訪功能肯定是默認(rèn)允許的,但剛剛把保存網(wǎng)站數(shù)據(jù)的默認(rèn)路徑修改為了/home/wwwroot目錄,這似乎就產(chǎn)生問(wèn)題了,也就是說(shuō)現(xiàn)在httpd提供的網(wǎng)站服務(wù)卻要去獲取普通用戶家目錄中的數(shù)據(jù)了,這個(gè)行為觸犯SELinux服務(wù)的監(jiān)管項(xiàng)目.既然已經(jīng)找出問(wèn)題所在了
下面 小編就來(lái) 先關(guān)閉SElinux :
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
但這種修改只是臨時(shí)的,重啟后就會(huì)失效!!!!!!
我們?cè)俅伟菰L網(wǎng)站
果不其然 ,便是SElinux 搞的鬼
[root@localhost ~]# ls -Zd /var/www/html
[root@localhost ~]# ls -Zd /home/wwwroot
在文件上面設(shè)置的SELinux平安上下文是由用戶段、角色段以及類型段等等多個(gè)信息項(xiàng)目共同組成的,用戶段中system_u代表系統(tǒng)進(jìn)程身份,角色段object_r代表文件目錄角色,類型段httpd_sys_content_t代表是網(wǎng)站服務(wù)系統(tǒng)文件.由于SELinux服務(wù)實(shí)在過(guò)于復(fù)雜,因此現(xiàn)在您只需要簡(jiǎn)單熟悉SELinux服務(wù)的作用就可以,現(xiàn)在這種情況的解決辦法就是把當(dāng)前網(wǎng)站目錄/home/wwwroot的SELinux平安上下文修改為跟原始網(wǎng)站目錄的一樣就可以啦~
semanage命令用于查詢與修改SELinux的平安上下文,格式為:“semanage [選項(xiàng)] [文件]”.
-l參數(shù)用于查詢、-a參數(shù)用于添加、-m參數(shù)用于修改、-d參數(shù)用于刪除等等
[root@localhost ~]# setenforce 1 把SElinux 改為強(qiáng)制
然后我們能力修改SElinux 的 上下文
-Z 查看文件上下文信息,也便是文件的SELinux信息,可以膚淺地理解為各個(gè)用戶對(duì)該文件或文件夾的權(quán)限(只有開啟Selinux才有效)
-d 只列出目錄,不包含內(nèi)容,不引用符號(hào)鏈接
因此ls -Zd的意思便是查看該路徑下文件夾的selinux屬性.
如果系統(tǒng)里沒(méi)有 semanage 命令
我們可以 yum provides /usr/sbin/semanage 查看 semanage對(duì)應(yīng)的 軟件包
然后 小編就 yum install policycoreutils-python
這樣 semanage 命令就可以用了
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
不過(guò)僅僅是這樣設(shè)置完還不能讓網(wǎng)站立即恢復(fù)訪問(wèn),還需要使用restorecon命令來(lái)讓剛剛設(shè)置的SELinux平安上下文立即生效,可以加上-Rv參數(shù)指定進(jìn)行對(duì)目錄的遞歸操作以及顯示SELinux平安上下文的修改過(guò)程:
[root@localhost ~]# restorecon -Rv /home/wwwroot/
刷新一下
這樣 我們網(wǎng)站初期 一些基礎(chǔ)的東西 就先說(shuō)到這 ,請(qǐng)關(guān)注我接下來(lái)頒發(fā)的 Apache 個(gè)人網(wǎng)站主頁(yè),
虛擬網(wǎng)站主機(jī)功能,基于IP地址的,基于端口的,和基于域名拜訪的三種模式.
謝謝年夜家 歡迎年夜家在下面留言區(qū)評(píng)論!!
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13029.html