我如何手动安装 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
通过源代码安装
首先我们需要先下载webalizer源代码:
获得ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-03-src.tgz
现在让我们解压缩它
tar zxvf webalizer*
确保你已经安装了 gcc 编译器和 Gd 库,你可以使用 yum 安装它
yum 安装 gcc gcc-c++ gd-devel
现在进入 webalizer* 目录,编译并安装它
cd webalizer* ./configure make make install
已安装,您可以立即检查版本
webalizer --version
Webalizer V2.23-03 ********other stuff shows here*****
WEBALIZER 配置(单域)
为 webalizer 配置文件创建一个中心目录
mkdir /etc/webalizer
创建两个 webalizer 配置文件,a.example.conf 来自示例文件,并将其放入 /etc/webalizer 目录。您需要找到 webalizer.conf.sample 文件并将其复制到 /etc/webalizer 目录
cp /usr/local/etc/webalizer.conf.sample /etc/webalizer/a.example.com.conf
修改 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等。
要处理所有虚拟站点,请运行以下命令:
对于 /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 保存!
这对你有帮助吗?如果有帮助,请留下评论、评分并贴上标签 :-)