linux學習第十章使用Apache服務部署靜態網站

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

結果以下

相關文章
相關標籤/搜索