2019年5月31日-linux就該這麼學-第12課

第10章 使用Apache 服務部署靜態網站

10.1 網站服務程序
(1) IIS--(Internet Information Services)-運行在windows平臺,爲Windows默認的Web服務程序;
(2) Nginx--系統資源消耗低、併發能力強;
(3) Apache--可運行在Linux系統、Unix系統甚至是Windows系統中,支持基於IP、域名及端口號的虛擬機功能,支持多種認證方式,集成有代理服務器模塊、安全Socket層(SSL),能夠實施監控服務狀態與定製日誌消息,並有着各類豐富的模塊支持。爲Linux7默認的Web服務程序。
部署Apache服務:
(1) 掛載光盤鏡像:mkdir -p /media/cdrom;mount /dev/cdrom /media/cdrom;將掛載信息寫入/etc/fstab啓動配置文件中;
(2) 創新Yum倉庫文件:
vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7
baseurl=file:// /media/cdrom
enabled=1
gpgcheck=0
(3) 手動安裝Apache服務程序:yum install httpd
(4) 啓動httpd程序,並將其加入到開機啓動項中:
systemctl start httpd
systemctl enable httpd
(5) 網站裏面沒有數據的原因:第一網站裏面真的沒有數據,第二權限不足。
10.2 配置服務參數
(1) Linux系統配置文件:
服務目錄: /etc/httpd; 主配置文件:/etc/httpd/conf/httpd.conf:註釋行信息,全局配置,區域配置
網站數據文件:/var/www/html; 訊問日誌:/var/log/httpd/access_log
錯誤日誌:/var/log/httpd/error_log;
(2) 主配置文件參數
服務目錄----------------------------------------ServerBoot
管理員郵箱--------------------------------------ServerAdmin
運行服務的用戶--------------------------------User
運行服務的用戶組-----------------------------Group
網站服務器的域名-----------------------------ServerName
網站數據目錄-----------------------------------DocumentRoot
網站數據目錄權限-----------------------------Directory
監聽的IP地址和端口號-----------------------Listen
默認的索引頁面--------------------------------DirectoryIndex
錯誤日誌文件-----------------------------------ErrorLog
訪問日誌文件-----------------------------------CustomLog
網頁超時時間,默認爲300秒-------------TimeOut
10.3 SELinux安全子系統
(1) 2種限制作用:SELinux域限制:對服務程序的功能進行限制,確保服務程序做不了出格的事;SELinux安全上下文限制:對文件資源的訪問限制,確保文件資源只能被其所屬的服務程序訪問。
(2) SELinux三種配置模式:
enforcing---------強制啓用安全策略模式,將攔截服務的不合法請求;生產環境中應開啓強制模式。
permissive-------遇到服務越權訪問時,只發出警告而不強制攔截;
disabled----------對於越權的行爲不攔截也不警告;
生產環境中開啓強制模式:vim /etc/selinux/config;SELINUX=enforcing
注:SELinux服務的主配置文件中,定義的是SELinux的默認運行狀態,可以將其理解爲系統重啓後的狀態,它不會在更改後立即生效。
(3) 查看和臨時設置SELinux的運行模式:查看:getenforce;設置:seenforce 0/1,(注:此種修改是臨時的,在系統重啓後會失效。)
(4) 查看安全上下文:
ls -Zd /var/www/html
drwxr-xr-x. root root system_u :object_r:httpd_sys_content_t:s0 /var/www/html
SELinux安全上下文由3個信息段組成:system_u----系統進程的身份;object_r---文件目錄的角色;httpd_sys_content_t:---代表網站服務的系統文件。
(5) 修改擬訪問網站目錄的安全上下文
semanage:-l----查詢;-a----用於添加;-m----修改;-d----用於刪除
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
restorecon -Rv /home/wwwroot/----------使修改後的上下文件生效。
10.4 個人用戶主頁功能----讓系統內所有的用戶在自己的家目錄中管理個人的網站。
(1) 開啓用戶主頁功能---默認沒有開啓個人用戶主頁功能。
vim /etc/httpd/conf.d/userdir.conf;在第17行UserDir disabled 前面加上#號,開啓個人用戶主頁功能;第24行去掉#號:UserDir public_html。設置網站數據在用戶家目錄中保存的目錄名稱。
(2) 設置用戶家目錄權限,並在用戶家目錄中建立保存網站數據的目錄及首頁文件。
su - linuxprobe;mkdir public_html;echo "This is linuxprobe's website" > public_html/index.html;chmod -Rf 755 /home/linuxprobe
(3) 重啓httpd服務,網站輸入格式:網址/~用戶名。
(4) 開啓域限制:查詢域安全策略:getsebool -a | grep thhp;setsebool -P httpd_enable_homedirs=on
-P----立即且永久生效。


在網站中添加口令:
(1) 設置口令:htpasswd -c /etc/httpd/passwd linuxprobe--------其中linuxprobe爲驗證要用到的用戶名稱,然後輸入密碼等。
(2) 修改個人主頁配置文件:
vim /etc/httpd/conf.d/userdir.conf
...
31 < Directory "/home/*/public_html >
32 AllowOverride all
33 authuserfile "/etc/httpd/passwd"
34 authname "提示信息"
35 authtype basic
36 require user linuxprobe-----需要驗證的用戶名稱
37 </Directory>
10.5 虛擬主機功能----- 基於用戶請求的不同IP地址、域名或端口號來訪問。
(1) 基於IP地址
第1步:同一網卡上設置3個不同的IP地址 nmtui;
第2步:分別在/home/wwwroot中創建保存不同網站數據的目錄;
第3步:在httpd服務配置文件中約113行處開始,分別追加寫入三個基於IP地址的虛擬主機網站參數,設置完後重啓服務,以使配置生效;vim /etc/httpd/conf/httpd.conf
第4步:設置SELinux上下文:semanage fcontext -a -t httpd_sys_content_t /home/wwwroot---各下面的目錄依次設置。
(2) 基於主機名
第1步:手工定義IP地址與域名之間的對應關係的配置文件,並存並退出後會立即生效。vim /etc/hosts
第2步:分在/home/wwwroot中創建用於保存不同網站數據的三個目錄,並向其中分別寫入網站首頁文件。
第3步:在httpd服務的主配置文件的約113行開始,分別寫入3個基於主機名的虛擬主機網站參數;vim /etc/httpd/conf/httpd.conf
第4步:設置SELinux上下文:semanage fcontext -a -t httpd_sys_content_t /home/wwwroot---各下面的目錄依次設置。
(3) 基於商品號
第1步:分別在/home/wwwroot中創建用於保存不同網站數據的目錄;
第2步:在httpd服務配置文件的第43行和第44行分別添加用於監聽的端口號參數;
第3步:在httpd服務配置文件的約113行處開始,追加寫入基於端口號的虛擬主機網站參數;設置完成後重啓httpd服務,以使參數配置生效;
第4步:設計SELinux上下文;
第5步:在SELinux域中增加端口號;
10.6 Apache 的訪問控制
2019年5月31日-linux就該這麼學-第12課2019年5月31日-linux就該這麼學-第12課2019年5月31日-linux就該這麼學-第12課2019年5月31日-linux就該這麼學-第12課

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