在 CentOS 7 上安装 SquidAnalyzer 的依赖软件包

SquidAnalyzer 是一个基于 Web 的软件,因此我们需要安装一个 Web 服务器来部署和运行 SquidAnalyzer。

使用 yum 命令安装 Apache HTTP Server。

[root@squid-proxy-01 ~]# yum install -y httpd

SquidAnalyzer 还需要安装 perl 编译器。

使用 yum 命令安装 perl 包。

[root@squid-proxy-01 ~]# yum install -y perl perl-devel

我们还需要 git 命令来从 GitHub 克隆 SquidAnalyzer 源。

[root@squid-proxy-01 ~]# yum install -y git
欢迎 on it road

在 CentOS 7 上安装 SquidAnalyzer

使用 git 命令下载 SquidAnalyzer 的源代码。

[root@squid-proxy-01 ~]# cd /var/www
[root@squid-proxy-01 www]# git clone https://github.com/darold/squidanalyzer
Cloning into 'squidanalyzer'...
remote: Enumerating objects: 2064, done.
remote: Total 2064 (delta 0), reused 0 (delta 0), pack-reused 2064
Receiving objects: 100% (2064/2064), 1.44 MiB | 640.00 KiB/s, done.
Resolving deltas: 100% (1309/1309), done.

从源代码编译 SquidAnalyzer。

[root@squid-proxy-01 www]# cd squidanalyzer/
[root@squid-proxy-01 squidanalyzer]# perl Makefile.PL
which: no bzcat in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
Checking if your kit is complete...
Looks good
Writing Makefile for SquidAnalyzer
Done...
Now type 'make && make install'

如下安装 SquidAnalyzer。

[root@squid-proxy-01 squidanalyzer]# make && make install
cp SquidAnalyzer.pm blib/lib/SquidAnalyzer.pm
cp squid-analyzer blib/script/squid-analyzer
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/squid-analyzer
Manifying blib/man3/SquidAnalyzer.3pm
Installing /usr/local/share/perl5/SquidAnalyzer.pm
sh install_all.sh
----------------------------------------------------------------------------
1. Modify your httpd.conf to allow access to HTML output like follow:
        Alias /squidreport /var/www/squidanalyzer
        <Directory /var/www/squidanalyzer>
            Options -Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
        </Directory>
2. If necessary, give additional host access to SquidAnalyzer in httpd.conf.
   Restart and ensure that httpd is running.
3. Browse to http://my.host.dom/squidreport/ to ensure that things are working
   properly.
4. Setup a cronjob to run squid-analyzer daily:
     # SquidAnalyzer log reporting daily
     0 2 * * * /usr/local/bin/squid-analyzer > /dev/null 2>&1
or run it manually. For more information, see /README file.
----------------------------------------------------------------------------
Appending installation info to /usr/lib64/perl5/perllocal.pod

编辑 Apache 配置以添加 SquidAnalyzer 网站。

[root@squid-proxy-01 squidanalyzer]# cd
[root@squid-proxy-01 ~]# vi /etc/httpd/conf.d/squidanalyzer.conf

在配置文件中添加以下指令。

Alias /squidreport /var/www/squidanalyzer
<Directory /var/www/squidanalyzer>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 192.168.1.0/24
</Directory>

启用并启动 httpd.service 。

[root@squid-proxy-01 ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

在 CentOS 7 防火墙中允许 HTTP 服务。

[root@squid-proxy-01 ~]# firewall-cmd --permanent --add-service=http
success
[root@squid-proxy-01 ~]# firewall-cmd --reload
success

默认情况下,根据我们的 Linux 发行版,squidanalyzer.conf 文件中提供的日志文件位置不正确。
因此,我们需要在继续之前纠正它。

[root@squid-proxy-01 ~]# grep LogFile /etc/squidanalyzer/squidanalyzer.conf
LogFile /var/log/squid3/access.log
[root@squid-proxy-01 ~]# sed -i 's/squid3/squid/' /etc/squidanalyzer/squidanalyzer.conf
[root@squid-proxy-01 ~]# grep LogFile /etc/squidanalyzer/squidanalyzer.conf
LogFile /var/log/squid/access.log

为 SquidAnalyzer 配置 Cron 作业以生成分析报告。

[root@squid-proxy-01 ~]# crontab -e

其中添加以下行。

# SquidAnalyzer log reporting daily
0 2 * * * /usr/local/bin/squid-analyzer > /dev/null 2>&1

我们必须显式执行一次 squid-analyzer 命令才能在 /var/www/squidanalyzer 目录中生成报告。

[root@squid-proxy-01 ~]# /usr/local/bin/squid-analyzer

在客户端浏览器中浏览 URL http://squid-proxy-01.onitroad.com/squidreport。

为 SquidAnalyzer 配置 HTTP 基本身份验证

SquidAnalyzer 不提供本地身份验证方法。

由于 SquidAnalyzer 作为 Web 应用程序运行,因此,我们可以利用 HTTP 基本身份验证来限制对 SquidAnalyzer 网站的访问。

使用 yum 命令安装 httpd-tools。

[root@squid-proxy-01 ~]# yum install -y httpd-tools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ges.net.pk
 * extras: mirrors.ges.net.pk
 * updates: mirrors.ges.net.pk
Package httpd-tools-2.4.6-90.el7.centos.x86_64 already installed and latest version
Nothing to do

没事做!因为,我们在 CentOS 7 上安装 Squid 代理服务器时已经安装了 httpd-tools。

为 SquidAnalyzer 创建一个密码文件并其中添加 squidadmin 用户。

[root@squid-proxy-01 ~]# htpasswd -c /etc/squidanalyzer/passwd squidadmin
New password:
Re-type new password:
Adding password for user squidadmin

编辑 Apache 配置以添加 HTTP 基本身份验证。

[root@squid-proxy-01 ~]# vi /etc/httpd/conf.d/squidanalyzer.conf

为 SquidAnalyzer 添加 HTTP 基本身份验证。
最终配置应该是这样的。

Alias /squidreport /var/www/squidanalyzer
<Directory /var/www/squidanalyzer>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 192.168.1.0/24
        AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /etc/squidanalyzer/passwd
        Require valid-user
</Directory>

测试 Apache 配置文件的语法错误。

[root@squid-proxy-01 ~]# httpd -t
Syntax OK

重新启动 Apache 服务以使更改生效。

[root@squid-proxy-01 ~]# systemctl restart httpd.service

在客户端浏览器中浏览 URL http://squid-proxy-01.onitroad.com/squidreport。

现在,它需要用户身份验证才能访问 SquidAnalyzer 网站。

我们已经在 CentOS 7 上成功安装并配置了 SquidAnalyzer 以进行 Squid 日志分析。

在 CentOS 7 上安装 SquidAnalyzer 以进行 Squid 日志分析

SquidAnalyzer 是 Squid 代理服务器的日志分析器。

SquidAnalyzer 通过基于 Web 的界面生成并提供分析报告。

日期:2020-09-17 00:16:36 来源:oir作者:oir