如何在Fedora 28上安装AWStats

AWStats是用于分析Web流量的有用工具。可以通过浏览器访问其HTML界面,使您可以轻松了解谁在浏览您的网站。本教程将引导您完成在Fedora 28上为Nginx Web服务器安装,配置和保护AWStats的过程。

如果尚未安装Nginx,请立即进行安装:

sudo dnf install nginx
sudo systemctl enable --now nginx

安装AWStats和工具

首先,您需要安装一些东西。幸运的是,这非常容易,因为您需要的所有软件都在Fedora的存储库中:

sudo dnf install awstats httpd-tools php-fpm

httpd-tools是一个包含一些我们需要的工具的软件包htpasswd。它是为与Apache一起使用而设计的,但是大多数工具也可以与Nginx一起使用。另一个工具php-fpm允许我们运行Nginx的PHP脚本。

我们需要php-fpm通过systemctl以下方式启用:

sudo systemctl enable --now php-fpm

为您的站点配置AWStats

在使用它之前,我们需要配置AWStats。复制模型配置文件以为您的站点创建新配置:

sudo cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.<yoursitename>.conf

现在编辑该文件:

sudoedit /etc/awstats/awstats.<yoursitename>.conf

向下滚动到显示的行LogFile="/var/log/httpd/access_log"。因为我们使用的是Nginx而不是Apache,所以我们需要更改它。将其更改为LogFile="/var/log/nginx/access.log"

接下来,一直向下滚动到显示的行DirIcons="/awstatsicons"。如果找不到它,请键入/DirIcons,然后按ENTER跳到它。将此行更改为DirIcons="../icon"

最后,AWStats需要知道它正在分析哪个网站。这样,它可以报告事物,例如哪些用户来自外部站点。这两个相关的配置选项是SiteDomainHostAliasesSiteDomain只会是网站的域名;并且HostAliases将是可能使用的任何其他域名的列表(例如,如果您的站点是www.example.comexample.com则如果它是同一站点,则可以放在此处)。

所有配置选项都记录在配置文件中。如果您想确切地了解某个选项的作用,或者想查看AWStats必须提供的所有选项,只需阅读该文件中的注释即可。

设置权限

强烈建议不要以root用户身份运行AWStats。我们将nginx在Nginx安装期间已设置的用户下运行AWStats 。

为此,我们需要成为nginxAWStats存储数据库(/var/lib/awstats)的目录的所有者:

sudo chown -R nginx /var/lib/awstats

首次运行AWStats

在后续步骤中,我们将设置AWStats在服务器日志轮换时运行。但是,这是第一次,最好是手动运行它。使用以下命令执行此操作:

sudo -u nginx /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>

注意: -u nginx部分sudo指示以nginx用户而不是以root 身份运行命令。

输出将类似于以下内容:

Create/Update database for config "/etc/awstats/awstats.<yoursitename>.conf" by AWStats version 7.7 (build 20180105)
From data in log file "/var/log/nginx/access.log"...
Phase 1: First bypass old records, searching new record...
Direct access after last parsed record (after line 0)
Jumped lines in file: 0
 Found 0 already parsed records.
Parsed lines in file: 0
 Found 0 dropped records,
 Found 0 comments,
 Found 0 blank records,
 Found 0 corrupted records,
 Found 0 old records,
 Found 0 new qualified records.

配置Nginx以在线查看AWStats

接下来,我们将配置Nginx,以便我们可以从网站本身而不是通过命令行界面查看网站统计信息。编辑您的主要Nginx配置文件:

sudoedit /etc/nginx/nginx.conf

在这里,我们将添加一个文件夹来包含网站的AWStats部分。在本教程中,我们将其称为webstats,但是您可以随意调用它。

找到配置文件中显示为的部分server。后行include /etc/nginx/default.d/*.conf;。添加一个新部分:

location /webstats/ {
    alias /usr/share/awstats/wwwroot/;

    location ~ /cgi-bin/(.+\.pl) {
        include fastcgi.conf;
        fastcgi_pass php-fpm;
        fastcgi_split_path_info ^/webstats/(.+\.pl)(.*)$;
        fastcgi_param SCRIPT_FILENAME /usr/share/awstats/tools/nginx/awstats-fcgi.php;
        fastcgi_param X_SCRIPT_FILENAME /usr/share/awstats/wwwroot/$fastcgi_script_name;
        fastcgi_param X_SCRIPT_NAME $fastcgi_script_name;
    }
}

本节告诉Nginx,当我们webstats在浏览器中转到目录时,它应该为AWStats的Web根服务,如果我们在cgi-bin目录中请求脚本,则应运行它。

编辑配置文件后,我们需要重新启动Nginx:

sudo systemctl restart nginx

现在打开浏览器并转到<your website>/webstats/cgi-bin/awstats.pl?config=<yoursitename>。这是您网站的AWStats主页。看起来会像这样:

如何在Fedora 28上安装AWStats

确保页面正确加载,并且您可以在右上角看到AWStats徽标。如果未加载页面或徽标丢失,则可能在上一步中配置错误-请返回并确保所有路径均正确。

保护AWStats

无法保护您的统计信息页面可能导致不良情况,例如引荐来源垃圾邮件。另外,您不希望将详细的分析数据公开给整个Internet。

我们将使用Nginx在统计页面上输入密码。/etc/nginx/nginx.conf再次打开,回到您添加的部分,并在下添加以下行location /webstats/ {

auth_basic "Username and password required to access AWStats";
auth_basic_user_file /etc/nginx/.htpasswd;

现在我们需要创建该.htpasswd文件。退出配置文件并运行以下命令:

sudo htpasswd -c /etc/nginx/.htpasswd <username>

您的用户名几乎可以是任何东西,但不能包含空格,并且应该是唯一的,不要像adminor 那样容易猜测webmaster。运行命令时,将提示您输入密码。输入安全密码,然后确认。

重新加载Nginx:

sudo systemctl restart nginx

尝试再次访问AWStats。这次,系统将要求您输入用户名和密码。输入它们,您将像以前一样被发送到AWStats主页。

每天运行AWStats以及轮换日志时

最后,我们需要更新统计信息。我们将cron为此使用。���是一个任务调度程序实用程序,它已预先安装在Fedora(和大多数其他Linux发行版)上。我们将在每天的午夜运行AWStats。编辑/etc/crontab并在底部添加以下行:

0 0 * * * nginx /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>

为了避免丢失数据,我们还希望AWStats在日志轮换时运行。为此,请编辑/etc/logrotate.d/nginx。在该postrotate部分上方,添加以下内容:

prerotate
    /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>
endscript

现在已经完成所有AWStats的设置并可以使用了。



Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息