centos 7中httpd-2.4相關文件
- 配置文件
主配置文件:/etc/httpd/conf/httpd.conf
子配置文件:/etc/httpd/conf.d/*.conf
模塊相關的配置文件:/etc/httpd/conf.modules.d/*.conf
-
日誌文件
訪問日誌:/var/log/httpd/access_log
錯誤日誌:/var/log/httpd/error_log - 站點文檔
/var/www/html - 模塊文件路徑
/usr/lib64/httpd/modules - 服務控制
systemctl enable|disable httpd.service
systemctl {start|stop|restart|status} httpd.service
httpd-2.4配置應用
- 切換使用MPM
編輯配置文件/etc/httpd/conf.modules.d/00-mpm.conf,啓用要啓用的MPM相
關的LoadModule指令即可 - 基於IP的訪問控制
允許所有的主機訪問:Require all granted 拒絕所有的主機訪問:Require all deny 授權指定IP訪問:Require ip IPADDR 拒絕指定用戶的訪問:Require not ip IPADDR 授權指定的主機訪問:Require host HOSTNAME 拒絕指定的主機訪問:Require not host HOSTNAME
訪問白名單:
<RequireAny> Require ip IPADDR </RequireAny>
訪問黑名單
<RequireAll> Require all granted Require not ip 192.168.153.7 </RequireAll>
- 基於用戶的訪問控制
1.定義安全域<Directory " "> Options None AllowOverride None AuthType Basic AuthName "String“ AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE" Require user username1 username2 ... </Directory>
2.生成賬號和密碼存儲(文本文件)
使用專用命令完成此類文件的創建及用戶管理
htpasswd [options] /PATH/TO/HTTPD_PASSWD_FILE username
-c:自動創建此處指定的文件,因此,僅應該在此文件不存在時使用;
-m:md5格式加密
-s: sha格式加密
-D:刪除指定用戶
httpd-2.4 虛擬主機的三種實現方案
- 基於端口的虛擬主機
- 基於IP的虛擬主機
- 基於FQDN的虛擬主機
注: 基於FQDN的虛擬主機,需要利用DNS或host文件解析域名
httpd-2.4應用舉例
建立httpd服務,要求:
(1)
提供一個基於名稱的虛擬主機:www1.stuX.com,
頁面文件目錄爲/web/vhosts/www1;
錯誤日誌爲/var/log/httpd/www1/error_log,
訪問日誌爲/var/log/httpd/www1/access_log;
(2) 通過www1.stuX.com/server-status輸出其狀態信息,且要求只允許提供賬號的用戶訪問;
(3) www1不允許192.168.100.135/24網絡中的主機訪問;
創建要求所需目錄
mkdir -pv /web/vhosts/www1 創建頁面文件目錄
mkdir /var/log/httpd/www1 創建日誌文件目錄
編輯配置文件
生成用戶賬號和密碼存儲
語法檢測,若無問題,則啓動服務
測試結果
通過指定用戶查看狀態信息
測試只有IP192.168.100.135的主機不能訪問
其他主機訪問:
192.168.100.135訪問:
查看日誌:
access_log
error_log