Установка и настройка Lightsquid в Debian
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</strong>
Выставляем рекурсивно права 755 пользователю и группе www-data на каталог и его содержимое
chmod -R 755 /var/www/lightsquid chown -R www-data:www-data /var/www/lightsquid
Делаем скрипты программы исполняемыми
<strong>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 <Directory /var/www/lightsquid> AddHandler cgi-script .cgi AllowOverride All </Directory>
Правим конфиг 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}</strong>
Открываем браузер и вводим в адресной строке:
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