И так, поехали!
Первым делом активируем awstats в конфигурационный файле ispCP выполнив следующие команды:
hosting:~# cat /etc/ispcp/ispcp.conf
# could be 'dynamic' = 0 or 'static' = 1
AWSTATS_MODE = 0
AWSTATS_CACHE_DIR = /var/cache/awstats
AWSTATS_CONFIG_DIR = /etc/awstats
AWSTATS_ENGINE_DIR = /usr/lib/cgi-bin
AWSTATS_WEB_DIR = /usr/share/awstats
AWSTATS_ROOT_DIR = /var/www/ispcp/engine/awstats
AWSTATS_GROUP_AUTH = statistics
Разкоментируем в cron'e вторую строку в секции AWStats:
hosting:~# nano /etc/cron.d/ispcp
# AWStats
# 15 */6 * * * root /var/www/ispcp/engine/awstats/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl >/dev/null 2>&1
# AWStats
15 */6 * * * root /var/www/ispcp/engine/awstats/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl >/dev/null 2>&1
Перезагрузим апач и увидем что из этого получиться:
hosting:~# /etc/init.d/apache2 restart
Restarting web server: apache2Syntax error on line 196 of /etc/apache2/sites-enabled/ispcp.conf:
Invalid command 'ProxyRequests', perhaps misspelled or defined by a module not included in the server configuration
failed!
Ошибка из-за отсутствующего модуля. Открыв /etc/apache2/sites-enabled/ispcp.conf на 196 строке увидим секцию Proxy и отсутствующий модуль. Дабы исправить ошибку установим необходимые модули libapache2-mod-proxy-html:
hosting:~# apt-get install libapache2-mod-proxy-html
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
libapache2-mod-proxy-html
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 25,4kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 143kB.
Получено:1 http://ftp.ua.debian.org lenny/main libapache2-mod-proxy-html 3.0.0-1 [25,4kB]
Получено 25,4kБ за 0s (28,2kБ/c)
Выбор ранее не выбранного пакета libapache2-mod-proxy-html.
(Чтение базы данных... на данный момент установлено 30498 файлов и каталогов.)
Распаковывается пакет libapache2-mod-proxy-html (из файла .../libapache2-mod-proxy-html_3.0.0-1_i386.deb)...
Настраивается пакет libapache2-mod-proxy-html (3.0.0-1) ...
Your apache2 configuration is broken, so we're not restarting it for you.
Добавим модули в апач и перезапустим его:
hosting:~# a2enmod proxy
Enabling module proxy.
Run '/etc/init.d/apache2 restart' to activate new configuration!
hosting:~# a2enmod proxy_http
Considering dependency proxy for proxy_http:
Module proxy already enabled
Enabling module proxy_http.
Run '/etc/init.d/apache2 restart' to activate new configuration!
Теперь отредактируем proxy.conf добавив "Allow from 127.0.0.1"
hosting:~# cat /etc/apache2/mods-available/proxy.conf
#turning ProxyRequests on and allowing proxying from all may allow
#spammers to use your proxy to send email.
ProxyRequests Off
AddDefaultCharset off
Order deny,allow
Deny from all
Allow from 127.0.0.1
#Allow from e.example.com
# Enable/disable the handling of HTTP/1.1 "Via:" headers.
# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block
ProxyVia On
hosting:~# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting ..
Теперь скопируем конфиг сайта awststs 01_awstats.conf в папку с конфигами сайтов апача:
hosting:~# cp /etc/ispcp/apache/01_awstats.conf /etc/apache2/sites-available/
Создадим символическую ссылку в /etc/apache2/sites-enable/ воспользовавшись командой a2ensite:
hosting:~# a2ensite 01_awstats.conf
Enabling site 01_awstats.conf.
Run '/etc/init.d/apache2 reload' to activate new configuration!
Перезагрузим папч:
hosting:~# /etc/init.d/apache2 reload
Reloading web server config: apache2.
Создадми недастающую папку /var/cache/awstats:
hosting:~# mkdir /var/cache/awstats
Теперь срегенерируем конфигорационные файлы icpCP:
hosting:~# /etc/init.d/ispcp_daemon stop
Stopping ispCP GUI-Backend communication Daemon: ispcp_daemon.
hosting:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 70
Server version: 5.0.51a-24+lenny4 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE ispcp;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE `domain` SET `domain_status` = 'change' WHERE `domain_status` = 'ok';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE `subdomain` SET `subdomain_status` = 'change' WHERE `subdomain_status` = 'ok';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE `domain_aliasses` SET `alias_status` = 'change' WHERE `alias_status` = 'ok';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> quit
Bye
hosting:~# /var/www/ispcp/engine/ispcp-rqst-mngr
hosting:~# /etc/init.d/ispcp_daemon start
Перезагрузим апач:
hosting:~# /etc/init.d/apache2 restart
Теперь запустим скрипт сбора статистики, первый раз его нужно ввести вручную, т.к. cron'e еще не отработал скрипт:
hosting:~# /var/www/ispcp/engine/awstats/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl
Отредактируем файл сайта:
hosting:~# nano /etc/apache2/sites-available/01_awstats.conf
#Alias /awstatsicons "{AWSTATS_WEB_DIR}/icon/"
Alias /awstatsicons "/usr/share/awstats/icon/"
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/stats/(.+)/$ http://localhost/awstats/?config=$1 [P]
RewriteRule ^/stats/(.+)/awstats.pl(.*)$ http://localhost/awstats/$1 [P]
RewriteRule ^/stats/(.*)$ http://localhost/stats/$1/ [R]
IfModule>
#ScriptAlias /awstats "{AWSTATS_ENGINE_DIR}/awstats.pl"
ScriptAlias /awstats "/usr/lib/cgi-bin/awstats.pl"
#<Directory {AWSTATS_ENGINE_DIR}>
<Directory /usr/lib/cgi-bin>
AllowOverride none
Options +ExecCGI
DirectoryIndex awstats.pl
Order allow,deny
Allow from all
Directory>
VirtualHost>
Ну и напоследок запустим апач:
hosting:~# /etc/init.d/apache2 restart
Вуаля! Есть статистика:
Для того что бы зайти в статистику необходимо будет ввести логин и пароль хронящийся в файле /var/www/virtual/example.com/.htpasswd. Это собственно и есть тот логин под которым вы заходите в панель управления ispCP.
Также необходимо состоять в группе статистика /var/www/virtual/example.com/.htgroup/
Полезные ссылки: http://isp-control.net/forum/showthread.php?tid=4663&highlight=awstats
http://isp-control.net/forum/thread-10880-page-2.html
http://isp-control.net/forum/thread-1922-page-2.html
aka_delix
Полезные ссылки: http://isp-control.net/forum/showthread.php?tid=4663&highlight=awstats
http://isp-control.net/forum/thread-10880-page-2.html
http://isp-control.net/forum/thread-1922-page-2.html
aka_delix
Спасибо за очень подробное хау-ту. Всё получилось. Вот только предупрежу на будущее: если у Вас панель версии 1.0.7, и у пользователей есть поддомены, то после регенерации конфигов поддомены могут "слететь" (не создадутся соответствующие записи в /etc/apache2/sites-available/ispcp.conf). В моём случае это быстро вылечилось буквально "методом тыка": надо войти как пользователь, напротив каждого поддомена щёлкнуть ссылку "Изменить", а потом тупо нажать кнопку "изменить".
ОтветитьУдалитьVark, спасибо за отзыв, и совет по регистрации конфига для поддоменов. Нада будет на досуге потестить, и если бага действительно присутствует то запостить баг-репорт ментейнерам.
ОтветитьУдалить