Apache—配置和应用(连接保持;访问控制;授权登录;日志分析与分割)

一、Apache连接保持

需主配置文件开启连接保持,默认关闭

[root@server1 ~]# vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf    #删除#注释,开启连接保持

1.1 Apache连接保持相关参数

vi /usr/local/httpd/conf/extra/httpd-default.conf #连接保持配置路径
KeepAlive
◆ 是否打开连接保持,Off关闭,On打开,默认开启
KeepAlive Timeout #默认5秒保持时间,超过5秒断开
◆ 一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
MaxKeepAliveRequests #默认数量是100
◆ 一次长连接能够传输的最大请求数量

1.2 连接保持项目实操

[root@server1 ~]# vi /usr/local/httpd/conf/extra/httpd-default.conf      #查看连接保持相关参数
[root@server1 ~]# vi /usr/local/httpd/conf/httpd.conf              #编译配置文件,开启会话保持
Include conf/extra/httpd-default.conf    #删除#注释,开启连接保持
[root@server1 ~]# systemctl stop httpd   #关闭
[root@server1 ~]# systemctl start httpd   #相当于重启
[root@server1 ~]# systemctl status httpd    #查看服务状态,服务已开启

在这里插入图片描述

[root@server1 ~]# netstat -anpt | grep httpd    #查看端口是否开启

在这里插入图片描述

[root@server1 ~]# curl http://localhost      #查看是否有默认网页

在这里插入图片描述

打开网页进行抓包验证
在这里插入图片描述
在这里插入图片描述

二、Apache访问控制

2.1 作用

控制对网站资源的访问
为特定的网站目录添加访问授权

2.2 常用访问控制方式

客户机地址限制
用户授权限制

2.3 配置访问控制

Require all granted: 允许所有主机访问
Require all denied: 拒绝所有主机访问
Require local: 仅允许本地主机访问
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问
Require [not] ip <IP地址或网段列表>:允许或拒绝指定IP地址网络访问

2.4 查看访问日志,错误日志

[root@server1 ~]# cd /usr/local/httpd/logs     #进入日志列表             
[root@server1 logs]# ls -lh    #access_log:访问日志;error_log:错误日志

在这里插入图片描述

[root@server1 logs]# tail -5 access_log       //查看访问日志文件最后5行,可看到谁访问了我

在这里插入图片描述

2.5 禁止访问控制项目实操

方法一:

[root@server1 ~]# vi /etc/httpd.conf       #编辑配置文件,前面安装Apache链接到/etc目录下的
添加:#需在<Directory "/usr/local/httpd / htdocs"></Directory>之间,主页内添加,添加到别处不生效
Order deny,allow         #顺序先禁止再允许
Deny from 20.0.0.1/32    #禁止某一个网段或ip访问站点下的主页   

在这里插入图片描述

[root@server1 ~]# systemctl restart httpd   #重启服务
[root@server1 ~]# netstat -anpt | grep httpd    #查看端口是否开启

在这里插入图片描述

访问一下,无法访问
在这里插入图片描述

[root@server1 ~]# cd /usr/local/httpd/logs     #进入日志列表
[root@server1 logs]# tail -5 error_log               #查看错误日志,显示被拒绝

在这里插入图片描述

方法二:

[root@server1 ~]# vi /etc/httpd.conf       #编辑配置文件,前面安装Apache链接到/etc目录下的
删除:
Order deny,allow         #顺序先禁止再允许
Deny from 20.0.0.1/32    #禁止某一个网段或ip访问站点下
添加:#需在<Directory "/usr/local/httpd / htdocs"></Directory>之间,主页内添加,添加到别处不生效
<RequireAll>
    Require all granted
    Require not ip 20.0.0.1/32    #拒绝ip访问
</RequireAll>

在这里插入图片描述

[root@server1 ~]# systemctl restart httpd  #重启服务

访问一下,无法访问
在这里插入图片描述

[root@server1 ~]# cd /usr/local/httpd/logs     #进入日志列表
[root@server1 logs]# tail -5 error_log               #查看错误日志,显示被拒绝

在这里插入图片描述

2.6 用户授权限制登录项目实操

[root@server1 ~]# vi /etc/httpd.conf            #更改ServerName

在这里插入图片描述

[root@server1 ~]# htpasswd -c /usr/local/httpd/conf/.awspwd wkw  #创建数据库文件
New password:        #输入密码
Re-type new password:     #确认密码
Adding password for user wkw   #wkw用户已添加
[root@server1 ~]# cat /usr/local/httpd/conf/.awspwd    #查看文件
wkw:$apr1$JYx5Cdb4$riP3Lhf.fmKaKUU7ygC8W1
[root@server1 ~]# vi /etc/httpd.conf
添加配置文件,并注释#Require all granted
Order allow,deny    #顺序先允许再禁止 
Allow from all     #允许所有
AuthName "www.aa.com"     #授权访问名称
AuthType Basic     #认证类型
AuthUserFile /usr/local/httpd/conf/.awspwd    #认证文件路径
require valid-user
#别忘添加注释       #Require all granted

在这里插入图片描述

[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# httpd -t     #验证语法
Syntax OK
[root@server1 ~]# vi /etc/hosts

在这里插入图片描述

#需要授权访问 ,前面设置的用户名wkw密码
在这里插入图片描述

登陆后可正常访问
在这里插入图片描述

三、日志分割

随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
日志文件占用磁盘空间很大
查看相关信息不方便
对日志文件进行分割
Apache自带rotatelogs分割工具实现
第三方工具cronolog分割

3.1 rotatelogs日志分割项目实操

[root@server1 ~]# vi /etc/httpd.conf       #修改
ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400" 
#错误日志每86400秒就是一天分割一次,文件夹带时间

在这里插入图片描述

[root@server1 ~]# httpd -t
Syntax OK
[root@server1 ~]# cd /usr/local/httpd/logs
[root@server1 logs]# ls -lh     //看下设置的日志是否成功
-rw-r--r-- 1 root root   698 1126 15:16 access_log
-rw-r--r-- 1 root root 1.3K 1126 15:13 error_log
-rw-r--r-- 1 root root  290 1126 15:13 error_log_2020-11-26
-rw-r--r-- 1 root root      7 1126 15:13 httpd.pid
[root@server1 logs]# cd
[root@server1 ~]# vi /etc/httpd.conf    #修改  

在这里插入图片描述

[root@server1 ~]# cd /usr/local/httpd/logs
[root@server1 logs]# ls -lh
-rw-r--r-- 1 root root  698 1126 15:16 access_log
-rw-r--r-- 1 root root  864 1126 15:47 access_log_2020-11-26
-rw-r--r-- 1 root root 1.3K 1126 15:13 error_log
-rw-r--r-- 1 root root  705 1126 15:32 error_log_2020-11-26
-rw-r--r-- 1 root root    7 1126 15:32 httpd.pid

3.2 cronolog日志分割项目实操

导入依赖包:cronolog-1.6.2.tar

[root@server2 ~]# tar -zxvf cronolog-1.6.2.tar.gz    #解包
[root@server2 ~]# cd cronolog-1.6.2/       #进入主目录
[root@server2 cronolog-1.6.2]# ./configure     #配置
[root@server2 cronolog-1.6.2]# make && make install     #编译并安装
[root@server2 cronolog-1.6.2]# cd
[root@server2 ~]# which cronolog        #显示当前绝对路径    
/usr/local/sbin/cronolog
[root@server2 ~]# vi /etc/httpd.conf   #修改

在这里插入图片描述
在这里插入图片描述

[root@server2 ~]# cd /usr/local/httpd/logs
[root@server2 logs]# ls -lh
-rw-r--r-- 1 root root   870 1126 17:03 access_log
-rw-r--r-- 1 root root   585 1126 17:16 access.log_2020-11-26
-rw-r--r-- 1 root root  1.3K 1126 17:03 error_log
-rw-r--r-- 1 root root   705 1126 17:09 error.log_2020-11-26
-rw-r--r-- 1 root root7   7  1126 17:09 httpd.pid
查看分割效果
[root@server2 logs]# cat error.log_2020-11-26

3.3 AWstats日志分析项目实操

[root@server1 ~]# apachectl -D DUMP_MODULES | grep cgi     #检查cgi模块有没有开启
[root@server1 ~]# cd  /usr/local/httpd/modules/       #没有,进入模块路径下
[root@server1 modules]# ls /usr/local/httpd/modules/ | grep cgi    #查看cgi模块

在这里插入图片描述

[root@server1 modules]# vi /etc/httpd.conf              #进去开启cgid和cgi两个模块,删除注释#

在这里插入图片描述

[root@server1 modules]# cd
#导入依赖包:awstats-7.6.tar
[root@server1 ~]# tar -zxvf awstats-7.6.tar.gz       #解包
[root@server1 ~]# mv awstats-7.6 /usr/local/awstats    #移到/usr/local/生成awstats文件
[root@server1 ~]# vi /etc/hosts             #本地建映射记录

在这里插入图片描述

[root@server1 ~]# vi /etc/httpd.conf

在这里插入图片描述

[root@server1 local]# cd /usr/local/
[root@server1 local]# ls -lh    查看awstats工具

在这里插入图片描述

[root@server1 local]# chown -R root.root awstats           //更改属主和属组
[root@server1 local]# cd awstats/   #进入工具目录
[root@server1 awstats]# ls -lh     #查看tools工具

在这里插入图片描述

[root@server1 awstats]# cd tools   #进入工具目录
[root@server1 tools]# ./awstats_configure.pl             #进入配置文件
#输入apache配置文件路径
/usr/local/httpd/conf/httpd.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#生成awstats的访问路径 localhost/awstats/awstats.pl?config=www.aa.com

[root@server1 tools]# vi /etc/awstats/awstats.www.aa.com.conf         //修改程序的主配置文件

在这里插入图片描述

[root@server1 tools]# cd
[root@server1 ~]# mkdir /var/lib/awstats
[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# cd -
[root@server1 tools]# ./awstats_updateall.pl now    #抓取

在这里插入图片描述

[root@server1 tools]# systemctl stop firewalld
[root@server1 tools]# setenforce 0
[root@server1 tools]# cd
[root@server1 ~]# vi /etc/httpd.conf    

#添加:Require all granted
在这里插入图片描述

[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd

在这里插入图片描述

访问主页后重新刷新

[root@server1 ~]# cd -
[root@server1 local]# cd /usr/local/awstats/tools
[root@server1 tools]# ./awstats_updateall.pl now

在这里插入图片描述
在这里插入图片描述
#网页单独分离

[root@server1 tools]# cd /usr/local/httpd/htdocs
[root@server1 htdocs]# vi xin.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://20.0.0.11/awstats/awstats.pl?config=www.aa.com">
</head>
<body></body>
</html>

在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页