1、網站服務程序html
Web網絡服務是一種被動訪問的服務程序,即只有接收到互聯網中其餘主機發出的請求後纔會響應,最終用於提供服務程序的Web服務器會經過HTTP(超文本傳輸協議)或HTTPS(安全超文本傳輸協議)把請求的內容傳送給用戶linux
目前可以提供Web網絡服務的程序有IIS、Nginx和Apache等vim
IIS:是window中默認的程序瀏覽器
Nginx:2004年俄羅斯研製出Nginx,Nginx程序做爲一款輕量級的網站服務軟件,因其穩定性和豐富的功能而快速佔領服務器市場,但Nginx最被承認的還當是系統資源消耗低且併發能力強安全
Apache:程序做爲老牌的Web服務程序,一方面在Web服務器軟件市場具備至關高的佔有率,另外一方面Apache也是RHEL 7系統中默認的Web服務程序,並且仍是RHCSA和RHCE認證考試的必考內容,服務器
安裝Apache:網絡
一、安裝httpd服務 須要使用到yum,步驟跳過具體在:https://my.oschina.net/u/4159006/blog/3093819中併發
yum install httpd d表明環繞app
二、在瀏覽器中輸入本身的IP地址出現如下畫面。ide
出現這個畫面預示着可能存在兩個問題
(1)這個網站沒有內容,
(2)這個網站沒有權限
那麼下面逐一驗證
echo hahahah >> /var/www/htme/index.html
刷新網站
出現內容了,因此hppt 默認的門戶位置是,/var/www/html/index.html
將hppt默認門戶修改
打開httpd服務程序的主配置文件,將約第119行用於定義網站數據保存路徑的參數DocumentRoot修改成/home/wwwroot,同時還須要將約第124行用於定義目錄權限的參數Directory後面的路徑也修改成/home/wwwroot。配置文件修改完畢後便可保存並退出。
重啓hppt服務 刷新網頁 結果仍是沒有變說明存在了 SElinux
3、SELinux安全子系統
SELinux服務有三種配置模式,具體以下。
enforcing:強制啓用安全策略模式,將攔截服務的不合法請求。
permissive:遇到服務越權訪問時,只發出警告而不強制攔截。
disabled:對於越權的行爲不警告也不攔截。
能夠用setenforce [0|1]命令修改SELinux當前的運行模式(0爲禁用,1爲啓用)。注意,這種修改只是臨時的,在系統重啓後就會失效:
semanage命令
semanage命令用於管理SELinux的策略,格式爲「semanage [選項] [文件]」
查看 /var/www/ 權限
[root@zhang www]# ls -ldZ
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0
因此咱們須要將權限賦予給後來更改的位置
root@zhang zqs]# semanage fcontext -a -t httpd_sys_content_t /home/zqs
[root@zhang zqs]# semanage fcontext -a -t httpd_sys_content_t /home/zqs/*
#讓其當即生效
[root@zhang zqs]# restorecon -Rv /home/zqs/
再刷新網站 就能夠看到又有內容出現了
虛擬網站主機功能
Apache的虛擬主機功能是服務器基於用戶請求的不一樣IP地址、主機域名或端口號,實現提供多個網站同時爲外部提供訪問服務的技術
1.基於IP地址
修改ip地址 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
IPADDR0=192.168.10.10
IPADDR1=192.168.10.20
IPADDR2=192.168.10.30
分別建立三個目錄
[root@zhang ~]# mkdir -p /home/www/10 echo 1010101010 >> /home/www/10 index.html
[root@zhang ~]# mkdir -p /home/www/20 echo 2020202020 >> /home/www/20 index.html
[root@zhang ~]# mkdir -p /home/www/30 echo 3030303030 >> /home/www/30 index.html
編輯http配置文件
vim /etc/httpd/conf/httpd.conf 再第大約113行編輯
113 <VirtualHost 192.168.10.10> 114 DocumentRoot /home/wwwroot/10 115 ServerName www.linuxprobe.com 116 <Directory /home/wwwroot/10 > 117 AllowOverride None 118 Require all granted 119 </Directory> 120 </VirtualHost> #三個都要編輯
重啓httpd服務
systemctl restart httpd
受權以防selinux
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*
當即生效
restorecon -Rv /home/wwwroot
另外兩種基於主機域名、基於端口號的相似 只是稍有不一樣。
Apache的訪問控制
第1步:先在服務器上的網站數據目錄中新建一個子目錄,並在這個子目錄中建立一個包含Successful單詞的首頁文件。
第1步:先在服務器上的網站數據目錄中新建一個子目錄,並在這個子目錄中建立一個包含Successful單詞的首頁文件。
[root@zhang ~]# mkdir /var/www/html/server [root@zhang ~]# echo "666" > /var/www/html/server/index.html
第2步:打開httpd服務的配置文件,在第129行後面添加下述規則來限制源主機的訪問。這段規則的含義是容許使用Firefox瀏覽器的主機訪問服務器上的首頁文件,除此以外的全部請求都將被拒絕。
[root@張 ~]# vim /etc/httpd/conf/httpd.conf 129 <Directory "/var/www/html/server"> 130 SetEnvIf User-Agent "Firefox" ff=1 131 Order allow,deny 132 Allow from env=ff 133 </Directory>
重啓服務
[root@linuxprobe ~]# systemctl restart httpd [root@linuxprobe ~]# firefox
網址輸入:192.168.10.10/server
結果以下