LightSquid — это утилита для сбора и анализа трафика прокси-сервера Squid. Она служит для сбора статистики работы пользователей, основываясь на логах прокси-сервера Squid и представляет собой набор из нескольких скриптов написанных на языке программирования perl.

Перед тем как начать установку и конфигурирование lightsquid, необходимо проверить, что на сервере были установлены и корректно работали Squid и Apache2.

Создаём каталог, где  будет установлен lightsquid

mkdir /var/www/lightsquid

После чего скачиваем и распаковываем, в созданный каталог, последнюю версию lightsquid

wget http://downloads.sourceforge.net/project/lightsquid/lightsquid/1.8/lightsquid-1.8.tgz 
tar -zxf ~/lightsquid-1.8.tgz 
cp ~/lightsquid-1.8 /var/www/lightsquid

Выставляем рекурсивно права 755 пользователю и группе www-data на каталог и его содержимое

chmod -R 755 /var/www/lightsquid 
chown -R www-data:www-data /var/www/lightsquid

Делаем скрипты программы исполняемыми

chmod +x *.cgi 
chmod +x *.pl

Ставим зависимые пакеты, без которых программа работать не будет (libgd-gd2-perl отвечает за показ графиков)

apt-get install perl libgd-gd2-perl

С установкой всё. Теперь приступим к настройке lightsquid:

Начнём с Apache. Для того, чтобы Apache правильно обрабатывал .cgi-скрипты отредактируем файл httpd.conf и приведём его к следующему виду:

nano /etc/apache2/httpd.conf
Alias /lightsquid /var/www/lightsquid 
AddHandler cgi-script .cgi 
AllowOverride All

Правим конфиг lightsquid

nano /var/www/lightsquid/lightsquid.cfg

Правим пути в секции GLOBAL VARIABLES

#path to additional `cfg` files
$cfgpath      ="/var/www/lightsquid";
#path to `tpl` folder
$tplpath      ="/var/www/lightsquid/tpl";
#path to `lang` folder
$langpath     ="/var/www/lightsquid/lang";
#path to `report` folder
$reportpath   ="/var/www/lightsquid/report";
#path to access.log
$logpath      ="/var/log/squid";
#path to `ip2name` folder
$ip2namepath ="/var/www/lightsquid/ip2name";

В секции WEB VARIABLES выставляем нужный язык интерфейса. В данном случае русский.

$lang                ="ru";

Закрываем и сохраняем конфиг. Теперь с помощью скрипта check-setup.pl можем проверить правильность сделанных настроек. Никаких ошибок быть не должно.

./check-setup.pl

Открываем файл realname.cfg и прописываем там IP пользователей и их реальные имена, которые будут отображаться в отчётах lightsquid

nano /var/www/lightsquid/realname.cfg
192.168.1.2     Sveta 
192.168.1.4     Natasha 
192.168.1.5     Rita 
192.168.1.6     Dima 
192.168.1.7     Vera 
192.168.1.8     Anya

Теперь можно вручную сгенерировать отчеты и заодно проверить как работает lightsquid:

./lightparser.pl
lightparser.pl access.log.1 {gz|bz2}
lightparser.pl access.log.2 {gz|bz2}
lightparser.pl access.log.3 {gz|bz2}

Открываем браузер и вводим в адресной строке:

http://ip_вашего_сервера/lightsqiud

Для автоматизации генерирования отчётов добавляем в cron задание:

crontab -e
*/60 * * * * /var/www/lightsquid/lightparser.pl today

Отчёты будут автоматом генерироваться ежечасно. Вместо 60 можно выставить какое угодно значение в минутах.

Для ограничения доступа к серверу статистики по логину и паролю сделаем следующее:
Допустим, нам нужно сделать пользователя с именем lightsquid. Приводим файл .htaccess к следующему виду:

Options FollowSymLinks ExecCGI 
DirectoryIndex index.cgi
AuthType Basic 
AuthName "Private zone. Only for administrator!" 
AuthUserFile  /var/www/lightsquid/.htpasswd 
require user lightsquid

Затем создаём файл .htpasswd

/usr/bin/htpasswd -c /var/www/lightsquid/.htpasswd

Добавляем пользователя

/usr/bin/htpasswd -n lightsquid

Дважды вводим пароль и полученный результат добавляем в файл .htpasswd

Возможные проблемы:
— Отчет пустой
Проверьте, пишет ли Squid логи

— Отчет не генерируется
Проверьте права доступа к папкам /var/log/squid и /var/www/lightsquid

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *