Установка и начальная настройка
squid уже описаны на нашем форуме (см. статью
Как установить squid
); продолжим эту тему. И рассмотрим установку и начальную настройку
squidGuard для
rpm-based дистрибутива
linux.
Например - для
Fedora.
Что такое
SquidGuard? это
редиректор, с помощью которого
squid осуществляет фактическую пересылку пришедших к нему запросов. Причем этот процесс фильтрации
squidGuard реализует лучше, нежели сам
squid.
Говоря попросту - уже описанное в контексте
squid решение задачи запрета/разрешения доступа к определенным web-ресурсам на основе созданных
acl (Access Control List) оказывается менее эффективным, чем с применением
squidGuard.
Начнем. Если в системе нет
Berkeley DB -
rpm -qa | grep db4
то устанавливаем -
yum install db4*
В формате
Berkeley DB (
BDB, высокопроизводительная встраиваемая база данных, реализованная в виде библиотеки) будут храниться списки фильтрации
url.
Устанавливаем под рутом
squidGuard:
Code:
wget http://www.squidguard.org/Downloads/squidGuard-1.4.tar.gz
tar zxvf squidGuard-1.4.tar.gz
cd squidGuard-1.4
./configure
make
make install
Если в процессе мы увидим что-то вроде
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
- соответственно, устанавливаем gcc:
yum install gcc
Создавать самому (как это описано в варианте настройки
squid) списки запрещенных web-адресов нет необходимости; скачиваем и распаковываем архив ссылок:
Code:
cd /usr/local/squidGuard/db
wget http://www.shallalist.de/Downloads/shallalist.tar.gz
tar zxvf shallalist.tar.gz
cp -R BL/* /usr/local/squidGuard/db/
rm -R BL
Конфигурируем
squidGuard.conf (расположен в
/usr/local/squidGuard):
Code:
dbhome /usr/local/squidGuard/db
logdir /usr/local/squidGuard/logs
dest porn {
domainlist porn/domains
urllist porn/urls
}
dest redirector
{
domainlist redirector/domains
urllist redirector/urls
}
dest spyware
{
domainlist spyware/domains
urllist spyware/urls
}
acl {
default {
pass !redirector !porn !spyware all
redirect http://172.16.0.1/block.html
}
}
Далее - необходимо преобразовать списки url в файл базы данных:
squidGuard -C all
и "подарить" все это
squid (пользователь, под учеткой которого запускается наш прокси-сервер):
chown -R squid /usr/local/squidGuard/db/*
Указанную процедуру инициализации придется повторять всякий раз после изменения списка подлежацих фильтрации url.
И, наконец, указываем
squid использовать
squidGuard:
redirect_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
либо, для ветки 2.6 или выше -
url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
Установка закончена -
service squid restart