Как установить AWStats на Fedora 28

AWStats - полезный инструмент для анализа веб-трафика. К его HTML-интерфейсу можно получить доступ через браузер, что позволяет легко понять, кто просматривает ваш сайт. Из этого туториала вы узнаете, как установить, настроить и защитить AWStats для веб-сервера Nginx в Fedora 28.

Если вы еще не установили 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позволяет нам запускать PHP-скрипты из Nginx.

Нам нужно включить 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 необходимо знать, какой веб-сайт он анализирует. Таким образом, он может сообщать о том, какие пользователи приходят с внешних сайтов. Два соответствующих варианта конфигурации здесь SiteDomainи HostAliases. SiteDomainбудет просто доменным именем сайта; и HostAliasesбудет список любых других доменных имен, которые могут быть использованы (например, если ваш сайт www.example.com, вы можете поместить example.comздесь, если это тот же сайт).

Все параметры конфигурации описаны в файле конфигурации. Если вы хотите точно знать, что делает опция, или если вы хотите увидеть все опции, которые предлагает AWStats, просто прочитайте комментарии в этом файле.

Настройка разрешений

Настоятельно рекомендуется не запускать AWStats от имени пользователя root. Мы запустим AWStats под nginxпользователем, который уже был установлен во время установки Nginx.

Для этого нам нужно сделать nginxвладельца каталога, в котором AWStats хранит свою базу данных ( /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, а если мы запрашиваем скрипт в cgi-binкаталоге, он должен его запускать.

После редактирования файла конфигурации нам нужно перезапустить Nginx:

sudo systemctl restart nginx

Теперь откройте ваш браузер и перейдите к <your website>/webstats/cgi-bin/awstats.pl?config=<yoursitename>. Это домашняя страница AWStats для вашего сайта. Это будет выглядеть примерно так:

Как установить AWStats на Fedora 28

Убедитесь, что страница загружается правильно, и вы видите логотип AWStats в правом верхнем углу. Если страница не загружается или отсутствует логотип, возможно, на предыдущем шаге что-то неправильно настроено - вернитесь назад и убедитесь, что все пути указаны правильно.

Обеспечение безопасности AWStats

Неспособность защитить вашу страницу статистики может привести к плохим вещам, таким как спам реферера . Кроме того, вы не хотите, чтобы ваши подробные аналитические данные были доступны всему Интернету.

Мы будем использовать 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>

Ваше имя пользователя может быть в основном любым, но оно не должно содержать пробелов и должно быть уникальным, а не что-то, что легко угадать, как adminили 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

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше