webalizer 安装

webalizer 安装

我如何手动安装 webalizer?如果有任何链接提供将其部署到多个域的详细信息。任何帮助都将不胜感激。

答案1

Webalizer 是什么:(对于那些想知道的人来说)

Webalizer 是一款快速、自由的用 C 语言编写的 Web 服务器日志文件分析程序,可生成 HTML 格式的非常详细且易于配置的使用情况报告。编写该程序是为了解决当前可用的分析软件包的几个问题。

Webalizer 功能:

  • 它用 C 语言编写,速度极快,可移植性极高。在 200 MHz Pentium 机器上,一秒钟可以处理超过 10,000 条记录,处理 40 兆字节的文件大约需要 15 秒(超过 150,000 条记录)。
  • 支持标准通用日志文件格式服务器日志。此外,还支持多种组合日志文件格式,允许生成引用站点和浏览器类型的统计信息。现在还原生支持 wu-ftpd xferlog FTP 和 squid 日志格式。
  • 生成的报告可以通过命令行或使用一个或多个配置文件进行配置。有关配置选项的详细信息,请参阅随所有发行版提供的 README 文件。
  • 支持多种语言。目前支持加泰罗尼亚语、中文(繁体和简体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、加利西亚语、德语、希腊语、匈牙利语、冰岛语、印尼语、意大利语、日语、韩语、拉脱维亚语、马来语、挪威语、波兰语、葡萄牙语(葡萄牙和巴西)、罗马尼亚语、俄语、塞尔维亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、瑞典语、土耳其语和乌克兰语。
  • 支持无限制的日志文件大小和部分日志,允许根据需要频繁轮换日志,并且无需在系统上保留大量的月度文件。
  • 根据 GNU 通用公共许可证分发,提供完整的源代码以及一些较受欢迎平台的二进制分发版

Webalizer 安装:

有几种方法可以安装 Webalizer - 例如 apt-get、yum,当然还有从源代码安装。

通过 apt-get 或 yum 安装就像运行命令一样简单

yum -y 安装 webalizer 或者apt-get 安装 webalizer -y

通过源代码安装

  1. 首先我们需要先下载webalizer源代码:

    获得ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-03-src.tgz

  2. 现在让我们解压缩它

    tar zxvf webalizer*

  3. 确保你已经安装了 gcc 编译器和 Gd 库,你可以使用 yum 安装它

    yum 安装 gcc gcc-c++ gd-devel

  4. 现在进入 webalizer* 目录,编译并安装它

    cd webalizer* ./configure make make install

已安装,您可以立即检查版本

webalizer --version
Webalizer V2.23-03 ********other stuff shows here***** 

WEBALIZER 配置(单域)

  1. 为 webalizer 配置文件创建一个中心目录

    mkdir /etc/webalizer

  2. 创建两个 webalizer 配置文件,a.example.conf 来自示例文件,并将其放入 /etc/webalizer 目录。您需要找到 webalizer.conf.sample 文件并将其复制到 /etc/webalizer 目录

    cp /usr/local/etc/webalizer.conf.sample /etc/webalizer/a.example.com.conf

  3. 修改 webalizer 配置文件的 LogFile、OutputDir 和 HostName。例如,fora.example.com.conf

    /etc/webalizer/a.example.com.conf

并改变内容

LogFile /var/log/httpd/access_log
into
LogFile /var/log/httpd/access_log_1  # it depend on your httpd access_log you can search it on /var/log/httpd/ directory 
OutputDir /var/www/usage/a
into
OutputDir  /home/praetorian-id.org/public_html/webalizer  # it depend on your apache virtual directory that you set on httpd.conf (/etc/httpd/conf/httpd.conf)
HostName       localhost
into
HostName       yourhostname.org  # it depend on your web hostname

注意:您可能想要指定特定于域的其他设置,例如HideReferrer,HideSite等。

  1. 要处理所有虚拟站点,请运行以下命令:

    对于 /etc/webalizer/*.conf 中的 i;执行 webalizer -c $i;完成

现在您可以在您的网站上看到 webalizer 文件,例如:

http://domainname.org/webalizer/usage_20100811.html

如何在多个虚拟域上设置 Webalizer:

上面的教程是关于为单个域设置 webalizer,如果您需要为多个域创建 webalizer,该怎么办?您需要确保已在 httpd.conf 上的每个虚拟域设置上创建自定义日志,它通常位于 /usr/local/apache/conf/httpd.conf ,以下是示例:

<VirtualHost 34.14.212.39>
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot "/home/domains/test.com/htdocs"
    CustomLog "/home/domains/test.com/logs/access_log" common
</VirtualHost>

如上所示,我们已在 /home/domains/test.com/logs/access_log 设置了自定义日志,请确保已创建 /home/domains/test.com/logs 目录,并为域用户设置了权限

-rw-r--r-- 1 个域用户 677485 12 月 1 日 14:45 access_log 然后在 /etc/webalizer/ 上的 webalizer conf 上设置日志路径

# vi /etc/webalizer/test.conf

日志文件 /home/domains/test.com/logs/access_log 然后根据您拥有的每个虚拟域进行设置:)

最后,如果您使用 rpm,请重新启动 httpd

# service httpd restart

您应该看到 /home/domains/test.com/logs/access_log 上的 access_logs 的大小增加,如果没有检查 /etc/webalizer/test.com.conf 上的权限和 webalizer 配置

不要忘记添加 cron,以便 webalizer 可以自动更新

crontab -e

添加

1 * * * * /root/dowebalizer >>/dev/null 2>&1

我将设置 crontab 每隔 1 小时执行一次 /root/dowebalizer 上的 shell 脚本

现在在 /root/dowebalizer 上创建 shell 脚本

vi /root/dowebalizer

输入以下内容:

#!/usr/bin/perl
use strict;

my @files = </etc/webalizer/*.conf>;

foreach my $file (@files) {
        chomp($file);
        system("/usr/local/bin/webalizer -c $file");
}

按下 Esc 键并用 w 保存!

这对你有帮助吗?如果有帮助,请留下评论、评分并贴上标签 :-)

相关内容