Apach的配置和日誌

ㅤChen發表於2020-11-27

Apache 連線保持

Apache連結保持相關引數

keepAlive
是否開啟連線保持,OFF關閉,ON開啟
KeepAlive Timeout
一次連線多次請求之間的而最大間隔時間,兩次請求超過該時間連線斷開
MaxKeep

Fiddler

配置訪問控制

Require all granted :允許所有主機訪問
Require all denied : 拒絕所有主機訪問
Require local :僅允許本地主機訪問
Require [not] host <主機名或域名列表> :允許或拒絕指定主機或域名訪問
Require [not] ip <IP 地址或網段列表> :允許或拒絕指定IP 地址網路訪問

vi /usr/local/httpd/conf/httpd.conf //對htdpcs目錄設定控制,直接新增兩行

<Directory “/usr/local/httpd/htdocs”>
Order deny,allow
Deny from 192.168.32.1/32


<Directory “/usr/local/httpd/htdocs”> //省略部分內容

Require all granted
Require not ip 192.168.21.1/32

Apache訪問控制

作用
控制對網站資源的訪問
為特定的網站目錄新增訪問授權
常用訪問控制方式
客戶機地址限制
使用者授許可權制

建立使用者認證資料庫

cd /usr/local/httpd/conf/
ls /usr/local/httpd/bin
htpasswd -c /usr/local/httpd/con/.awsp.

專案

允許授權使用者登入

vi /etc/httpd.conf

ServerName www.chen.com:80

在這裡插入圖片描述

建立資料庫檔案

htpasswd -c /usr/local/httpd/conf/.awspwd tom
-C :新建使用,再次建使用者則不需要
/usr/local/httpd/conf/ .awspwd:新建密碼檔案
tom:  需要認證的使用者名稱

在這裡插入圖片描述
配置編輯檔案

vi /etc/httpd.conf
systemctl start httpd
Order allow,deny 順序先允許,後拒絕
Allow from all 允許所有
AuthName “www.aa.com” 認證域名
AuthType Basic 認證型別基本
AuthUserFile /usr/local/httpd/conf/.awspwd 認證檔案路徑
Require valid-user 允許授權使用者登入
#Require all granted

在這裡插入圖片描述

在這裡插入圖片描述

vi /etc/hosts

在這裡插入圖片描述

在瀏覽器上

在這裡插入圖片描述

在這裡插入圖片描述

Apache日誌管理

日誌分割

隨著網站的訪問量增加,預設情況下Apache的單個日誌檔案也會越來越大

日誌檔案佔用磁碟空間很大
檢視相關資訊不方便

對日誌檔案進行分割

Apache自帶rotatelogs分割工具實現
第三方工具cronolog分割

專案小試

日誌分割

方法一 Apache自帶rotatelogs分割工具實現

編輯配置檔案
vi /etc/httpd.conf
systemctl start httpd
systemctl status httpd

訪問日誌設定

ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400"

-l:表示使用本地時間
/error_log:日誌名稱
%Y-%m-%d:年-月-日
86400:表示日誌分隔的間隔是1天,單位是秒

在這裡插入圖片描述

錯誤日誌設定

CustomLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" common

在這裡插入圖片描述
在這裡插入圖片描述

在瀏覽器上http://192.168.100.111

在這裡插入圖片描述

檢視日誌檔案

cd /usr/local/httpd/logs/
ls -lh

在這裡插入圖片描述

方法二 第三方工具cronolog分割

解壓縮安裝包

tar zxvf cronolog-1.6.2.tar.gz

在這裡插入圖片描述

在這裡插入圖片描述
配置檔案

cd cronolog-1.6.2/
./configure
make && make install

檢視軟體路徑

which cronolog
/usr/local/sbin/cronolog

在這裡插入圖片描述

vi /etc/httpd.conf 
ErrorLog "|/usr/local/sbin/cronolog logs/error.log_%Y-%m-%d"
CustomLog "|/usr/local/sbin/cronolog logs/access.log_%Y-%m-%d" common

在這裡插入圖片描述

systemctl start httpd
httpd -t 檢視語法
systemctl stop firewalld 關閉防火牆
setenforce 0 關閉核心防護
cd /usr/local/httpd/logs/ 檢視日誌檔案
ls -lh

在這裡插入圖片描述

使用AWstats日誌分析軟體

vi /etc/httpd.conf 
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common

在這裡插入圖片描述

 systemctl start httpd
httpd -t
systemctl status httpd

在這裡插入圖片描述

在瀏覽器上
http://192.168.100.111

在這裡插入圖片描述

檢視日誌檔案

cd /usr/local/httpd/logs/
ls -lh

在這裡插入圖片描述

專案流程:

cd
apachectl -D DUMP_MODULES | grep cgi
cd /usr/local/httpd/modules/
ls -lh

在這裡插入圖片描述
配置檔案,開啟cgi模組

vi /etc/httpd.conf 

開啟
LoadModule cgid_module modules/mod_cgid.so
LoadModule cgi_module modules/mod_cgi.so

在這裡插入圖片描述

解壓縮檔案

tar zxvf awstats-7.6.tar.gz

在這裡插入圖片描述
在這裡插入圖片描述

AWstats可以同時分析多個站點的資料
mv awstats-7.6 /usr/local/awstats
vi /etc/hosts

在這裡插入圖片描述

vi /etc/httpd.conf

ServerName www.aa.com:80

在這裡插入圖片描述

cd /usr/local/
ls -lh

在這裡插入圖片描述

chown -R root.root awstats/
cd awstats/
ls -lh

在這裡插入圖片描述

cd tools/ 進入工具目錄
./awstats_configure.pl 找到配置指令碼

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

編輯AWstats的配置檔案

vi /etc/awstats/awstats.www.aa.com.conf

LogFile="/usr/local/httpd/logs/access_log"
DirData="/var/lib/awstats"

在這裡插入圖片描述
在這裡插入圖片描述

cd
mkdir /var/lib/awstats 建立目錄
cd /var/lib/awstats

在這裡插入圖片描述

cd /usr/local/httpd/logs/
ls -lh
rm -rf access.log*
rm -rf error.log*

cd /usr/local/awstats/tools/
ls -lh

在這裡插入圖片描述
./awstats_updateall.pl now 重新更新日誌,手動採集日誌

在這裡插入圖片描述

vi /etc/httpd.conf 

新增
Require all granted

在這裡插入圖片描述

 systemctl  stop httpd
 systemctl start  httpd

在這裡插入圖片描述
進入瀏覽器訪問:http://localhost/awstats/awstats.pl?config=www.chen.com

在這裡插入圖片描述
在這裡插入圖片描述

通過以下配置頁面自動跳轉優化統計頁面訪問
即開啟一個網頁直接可以跳轉到分析日誌路徑網頁

cd /usr/local/httpd/htdocs/

在這裡插入圖片描述

vi 1.html

<html>
<head>
<meta http-equiv=refresh content="0;url=http://192.168.100.111/awstats/awstats.pl?config=www.chen.com">
</head>
<body></body>
</html>

在這裡插入圖片描述

在這裡插入圖片描述

AWStats日誌分析系統介紹

	Perl語言開發的一款開源日誌分析系統
	可用來分析Apache,Samba,Vsftpd,IIS等伺服器的訪問日誌
	結合crond等計劃任務服務,可對日誌內容定期進行分析

相關文章