一、环境前置检查

  1. 确认 Apache 已安装并运行
# 验证 Apache 状态
/usr/local/httpd/bin/apachectl status
# 确认 Apache 运行用户(后续权限配置用)
/usr/local/httpd/bin/apachectl -S | grep User

输出示例:User: name="daemon" id=2 → 记好用户 daemon

  1. 安装 Perl 依赖(AWStats 是 Perl 脚本)
# CentOS/RHEL
yum install -y perl perl-CGI
# Ubuntu/Debian
apt-get install -y perl libcgi-pm-perl

二、下载并安装 AWStats

1. 下载安装包

# 进入下载目录
cd /usr/local/src
# 下载 AWStats 7.9 安装包
wget https://sourceforge.net/projects/awstats/files/awstats/7.9/awstats-7.9.tar.gz

2. 解压并安装

# 解压
tar zxvf awstats-7.9.tar.gz
# 移动到 /usr/local 目录(生成带版本号的目录)
mv awstats-7.9 /usr/local/
# 创建软链接(避免后续路径混淆)
ln -s /usr/local/awstats-7.9 /usr/local/awstats

3. 初始化配置(生成站点配置文件)

# 进入工具目录
cd /usr/local/awstats/tools
# 执行配置脚本(按提示操作)
./awstats_configure.pl

在Config file path时
输入httpd.conf配置文件的路径
/usr/local/httpd/conf/httpd.conf

在Do you want me ...
file 选择y

在Your web site...
填写自定义网站名称 demo

后面的按Enter键接受默认设置
脚本交互提示及回答:
提示信息输入内容说明
Enter full config file path of your Web server/usr/local/httpd/conf/httpd.conf你的 Apache 主配置文件路径
Do you want to modify your httpd.confn手动配置 Apache 更灵活,选 n
Enter your web site virtual hostnamedemo自定义站点标识(后续 URL 用)
验证配置文件

脚本执行完成后,会在 /etc/awstats 生成配置文件:

ls /etc/awstats | grep demo
# 预期输出:awstats.demo.conf

三、修改 AWStats 站点配置文件

编辑 /etc/awstats/awstats.demo.conf,修改以下关键配置项(适配你的 Apache 日志路径):

# 1. 站点标识(与配置文件名一致)
SiteDomain="demo"
# 2. Apache 访问日志路径(手动编译 Apache 的默认路径)
LogFile="/usr/local/httpd/logs/access_log"
# 3. 日志格式(默认 1 对应 Apache 组合日志格式)
LogFormat=1
# 4. 允许加载图表(默认开启,确保统计界面有图像)
AllowToUpdateStatsFromBrowser=0

四、配置 Apache 支持 AWStats(核心:解决 CGI 解析)

编辑 Apache 主配置文件 /usr/local/httpd/conf/httpd.conf,在文件末尾添加以下配置:

# 1. 映射 URL 路径 /awstats 到 AWStats 实际目录
Alias /awstats "/usr/local/awstats/wwwroot"

# 2. 配置目录权限,允许 CGI 脚本执行
<Directory "/usr/local/awstats/wwwroot">
    Options +ExecCGI
    AddHandler cgi-script .pl
    AllowOverride All
    Require all granted
</Directory>
# 3. 确保 mod_cgi 模块已启用(去掉前面的 # 注释)
LoadModule cgi_module modules/mod_cgi.so

4.
<Directory "/usr/local/awstats-7.9/wwwroot">
    Options None
    AllowOverride None
#    Order allow,deny  注释
#    Allow from all    注释
     Require all granted  添加
</Directory>

保存退出

验证 Apache 配置语法

/usr/local/httpd/bin/apachectl configtest
# 输出 Syntax OK 表示配置无误
后重启服务
/usr/local/httpd/bin/apachectl  restart

五、修复 AWStats 权限(解决用户不匹配问题)

将 AWStats 所有文件的所有者改为 Apache 运行用户 daemon

# 递归修改权限
chown -R daemon:daemon /usr/local/awstats-7.9/
# 赋予脚本执行权限
chmod -R 755 /usr/local/awstats-7.9/

六、修改站点统计配置文件

 vim /etc/awstats/awstats.demo.conf
 添加:
LogFile="/usr/local/httpd/logs/access_log"
DirDate="/var/lib/awstats"
保存退出
mkdir /var/lib/awstats

七、更新日志数据(生成统计数据)

手动执行日志更新脚本,首次运行需生成统计数据:

# 进入 tools 目录
cd /usr/local/awstats/tools
# 执行更新(指定 awstats.pl 路径)
./awstats_updateall.pl now -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl

执行成功输出示例:

Updating AWStats config for "demo"
AWStats update for config "/etc/awstats/awstats.demo.conf"
With data in log file "/usr/local/httpd/logs/access_log"...
Done.

八、配置定时任务(自动更新统计数据)

避免手动执行更新,配置 crontab 每小时更新一次:

# 编辑定时任务
crontab -e

添加以下内容(屏蔽输出,避免垃圾邮件):

# 每小时第10分钟执行更新
10 * * * * /usr/local/awstats-7.9/tools/awstats_updateall.pl now -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl > /dev/null 2>&1

验证定时任务:

crontab -l

九、访问 AWStats 统计界面

  1. 访问 URLconfig 参数对应站点标识 demo
http://你的服务器IP/awstats/awstats.pl?config=demo
  1. 成功标志:页面显示访问量、IP 分布、页面热度等统计图表,无脚本源代码输出。

十、添加超链接

cd /usr/local/httpd/htdocs

使用vi编辑器创建跳转页面文件(文件名可自定义,如awstats_link.html):

vi awstats_link.html

将以下完整代码粘贴到编辑器中,注意替换href中的地址为你的实际AWStats访问地址

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <!-- 页面编码配置,避免中文乱码 -->
    <meta charset="UTF-8">
    <!-- 页面标题,显示在浏览器标签栏 -->
    <title>AWStats 日志分析入口</title>
    <!-- 可选:简单样式优化,让页面更美观 -->
    <style>
        body {
            margin: 50px auto;
            width: 80%;
            text-align: center;
            font-family: Arial, "微软雅黑";
        }
        .jump-link {
            display: inline-block;
            margin-top: 20px;
            padding: 15px 30px;
            background-color: #007bff;
            color: #fff;
            text-decoration: none;
            border-radius: 5px;
            font-size: 18px;
        }
        .jump-link:hover {
            background-color: #0056b3;
        }
    </style>
</head>
<body>
    <h1>AWStats 网站日志分析系统</h1>
    <p>点击下方按钮进入日志统计界面</p>
    <!-- 核心超链接:替换url为你的实际AWStats访问地址 -->
    <a href="http://192.168.147.137/awstats/awstats.pl?config=demo" target="_blank" class="jump-link">
        进入日志分析
    </a>
    <p style="margin-top: 30px; color: #666;">
        提示:点击后将在新窗口打开日志分析界面
    </p>
</body>
</html>

代码关键说明

  1. href="http://192.168.147.137/awstats/awstats.pl?config=demo"
    • 替换192.168.147.137为你的服务器实际IP/域名;
    • 替换config=demo为你的AWStats站点标识(如config=www.demo.com)。
  2. target="_blank":点击链接后在新浏览器窗口打开,保留当前入口页面。
  3. 内置简单样式:按钮样式更醒目,提升使用体验(可根据需求删除<style>标签恢复默认样式)。

确保Apache能读取该HTML文件,设置正确的用户和权限:

# 递归设置Web根目录文件所属用户(Apache运行用户daemon)
chown -R daemon:daemon /usr/local/httpd/htdocs
# 递归赋予可读可执行权限
chmod -R 755 /usr/local/httpd/htdocs

在浏览器中输入以下地址,即可看到超链接页面,点击按钮即可跳转:

http://你的服务器IP/awstats_link.html

示例:http://192.168.147.137/awstats_link.html

更多推荐