راهنمای کامل مدیریت Website Statistics در DirectAdmin: فعال‌سازی AWStats، سفارشی‌سازی Webalizer، آمار کشورها، بازسازی گزارش‌های قدیمی و رفع مشکلات CageFS

این مقاله یک راهنمای جامع برای مدیریت و سفارشی‌سازی سیستم آمار وب‌سایت‌ها در DirectAdmin است. شامل فعال‌سازی AWStats، سفارشی‌سازی Webalizer، فعال‌سازی آمار کشورها، بازسازی گزارش‌های ماه‌های گذشته، و رفع مشکلات AWStats در محیط CageFS.

Website Statistics in DirectAdminEnabling AWStats

~4 min read • Updated Mar 1, 2026

1. فعال‌سازی AWStats در DirectAdmin


DirectAdmin به‌صورت پیش‌فرض از Webalizer استفاده می‌کند، اما می‌توان آن را به AWStats تغییر داد. این تغییر سراسری است و برای همه دامنه‌ها اعمال می‌شود.

1.1 نصب و فعال‌سازی AWStats


da build set awstats yes
da build awstats

این دستورات موارد زیر را انجام می‌دهند:

  • نصب AWStats
  • افزودن awstats=1 به directadmin.conf
  • غیرفعال کردن Webalizer (قابل فعال‌سازی مجدد)

1.2 مسیر ذخیره آمار

  • فایل‌های HTML آمار: /home/user/domains/domain.com/awstats
  • فایل‌های داده: /home/user/domains/domain.com/awstats/.data

مزیت: هنگام انتقال اکانت، آمار نیز منتقل می‌شود.

1.3 امنیت AWStats

برخلاف برخی پلاگین‌ها که از chmod 777 استفاده می‌کنند، DirectAdmin فایل‌ها را با مالکیت root و سطح دسترسی امن ایجاد می‌کند.

1.4 غیرفعال‌سازی AWStats برای یک کاربر

در فایل user.conf:

awstats=0
---

2. سفارشی‌سازی خروجی Webalizer


DirectAdmin به‌صورت پیش‌فرض از تنظیمات داخلی Webalizer استفاده می‌کند. برای سفارشی‌سازی، باید فایل پیکربندی اختصاصی ایجاد کنید.

2.1 ایجاد فایل پیکربندی سفارشی

/usr/local/directadmin/data/templates/custom/webalizer.conf

مثال: فعال‌سازی Reverse DNS Lookup


DNSCache /var/lib/webalizer/|DOMAIN|.dns_cache.db
DNSChildren 10

2.2 تنظیم سطح دسترسی


chown root:root /var/lib/webalizer
chmod 1777 /var/lib/webalizer

2.3 اجرای دستی Webalizer

بدون فایل سفارشی:


webalizer -p -n [DOMAIN] -o /home/[USER]/domains/[DOMAIN]/stats \
/var/log/httpd/domains/[DOMAIN].log

با فایل سفارشی:


webalizer -c /usr/local/directadmin/data/templates/custom/webalizer.conf \
-p -n [DOMAIN] -o /home/[USER]/domains/[DOMAIN]/stats \
/var/log/httpd/domains/[DOMAIN].log

روش توصیه‌شده:


echo "action=tally&value=[USER]&type=user" >> /usr/local/directadmin/data/task.queue
---

3. فعال‌سازی آمار کشورها در AWStats


روش سریع (DNSLookup)

در فایل:

/home/username/domains/domain.com/awstats/.data/awstats.domain.com.conf

تنظیم کنید:

DNSLookup=1

نکته: این روش کند است و نیاز به PTR دارد.

روش حرفه‌ای (GeoIP Plugin)

مراحل کلی:

  1. نصب GeoIP
  2. نصب Perl Module
  3. ویرایش فایل کانفیگ AWStats

نمونه تنظیم:


LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat"

برای دامنه‌های جدید، فایل مدل:

/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf
---

4. بازسازی گزارش‌های AWStats برای ماه‌های گذشته


اگر داده‌های ماه‌های گذشته در مسیر .data موجود باشد، می‌توانید HTMLهای قدیمی را بازسازی کنید.

4.1 ایجاد اسکریپت old_awstats.sh


#!/bin/sh
if [ "$#" -eq 0 ]; then
         echo "Usage:";
         echo "    $0  ";
         exit 1;
fi

month=$1
short_year=$2
full_year=20${short_year}

for u in `ls /usr/local/directadmin/data/users`; do
{
         for d in `cat /usr/local/directadmin/data/users/$u/domains.list`; do
         {
                   echo "";
                   echo "$u: $d: $month $full_year";
                   DATA=/home/$u/domains/$d/awstats/.data/awstats${month}${full_year}.${d}.txt
                   if [ ! -s $DATA ]; then
                             echo "Cannot find $DATA for $month $full_year. Skipping.";
                             continue;
                   fi

                   /usr/bin/perl /usr/local/awstats/tools/awstats_buildstaticpages.pl \
                       -config=$d -configdir=/home/$u/domains/$d/awstats/.data -update \
                       -diricons=icon -awstatsprog=/usr/local/awstats/cgi-bin/awstats.pl \
                       -dir=/home/$u/domains/$d/awstats -builddate=${short_year}${month} \
                       -year=$full_year -month=$month

                   echo "";
         }
         done;
}
done;
exit 0;

قابل اجرا:

chmod 755 old_awstats.sh

مثال اجرا:

./old_awstats.sh 04 20
---

5. رفع مشکل AWStats در CageFS (خطای Can't open perl script)


اگر AWStats در CageFS کار نمی‌کند، معمولاً فایل‌های AWStats داخل skeleton کپی نشده‌اند.

5.1 ویرایش فایل پیکربندی CageFS

فایل:

/etc/cagefs/conf.d/directadmin.cfg

افزودن مسیرها:


paths=/usr/local/awstats/, /usr/local/awstats-7.7/, /usr/local/awstats, /usr/local/php...

5.2 بروزرسانی CageFS

/usr/sbin/cagefsctl --force-update

بررسی:

ls -la /usr/share/cagefs-skeleton/usr/local

Written & researched by Dr. Shahin Siami