Установка внешнего редиректора для Squid
Здесь мы рассмотрим установку популярного редиректора для Squid SquidGuard |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Материалы, использованные на данной странице, взяты с этой страницы и лично мной не проверялись, поэтому в случае нахождения ошибки просьба написать! !!Текст написан от имени автора!! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для работы squidGuard 1.2.0 необходимо иметь Berkeley DB 3.2.9. Многие наступают на грабли с версией базы данных. Судя по разговорам на форумах многие люди как и я лично убедились на собственной шкуре, в том неприятном факте что удачной сборки удалось достигнуть только с версией базы 3.2.9. В свою очередь, Berkeley DB не соберется без libtool. Довольно запутаная получается цепочка. Но бояться не стоит. Берем libtool из коллекции портированных приложений и как обычно, выполняем распаковку, копиляцию, а затем и установку.: # tar zxvf libtool-1.3.4.tar.gz # cd libtool-1.3.4 # ./configure # gmake # gmake install С выполнение этих действий не должно возникнуть никаких сложностей. Скачиваем Berkeley DB 3.2.9. Забираем два патча здесь или здесь. И снова: # tar zxvf db-3.2.9.tar.gz Копируем патч файлы в получившуюся после распаковки дистрибутива директорию db-3.2.9. Затем применяем их для модификации исходного кода. # cp patch.3.2.9.1 patch.3.2.9.2 ./db-3.2.9 # cd /usr/local/src/db-3.2.9 # patch -p0 < patch.3.2.9.1 # patch -p0 < patch.3.2.9.2 А теперь снова компиляция. # cd build_unix # ../dist/configure # gmake # gmake install Забираем squidGuard-1.2.0. Распаковываем и компилируем: # tar zxvf squidGuard-1.2.0.tar.gz # cd squidGuard-1.2.0 # ./configure --prefix=/usr/local/squidGuard --with-db=/usr/local/BerkeleyDB.3.2 \ --with-sg-config=/usr/local/squidGuard/squidGuard.conf \ --with-sg-logdir=/usr/local/squidGuard/log \ --with-sg-dbhome=/usr/local/squidGuard/db Разберемся с ключами передаваемыми программе
configure:
# gmake # gmake test # gmake install Cоздаем для хранения файлов протоколирования работы squidGuard директорию
/usr/local/squidGuard/log.
# mkdir /usr/local/squidGuard/log Официальный список блокируемых доменов можно взять на сайте squidGuard. Так же доступен список от MESD. И еще один хороший список от Dansguardian. Кратко сравним их между собой:
Итак, вполне очевидно, что лучше всего взять список MESD или Dansguardian. Какой из них выбрать - оставляю на Ваше личное усмотрение. И тот, и другой обновляются довольно часто. Но, во избежание перегрузки сервиса, не стоит качать списки чаще чем раз в неделю. Скачав себе один из списком распакуем его в директорию /usr/local/squidGuard/db : # tar zxvf blacklists.tgz -C /usr/local/squidGuard # mv /usr/local/squidGuard/blacklists /usr/local/squidGuard/db В директории /usr/local/squidGuard/db появилось несколько поддиректорий. В свою очередь, в каждой из них лежат файлы:
Если бы мы взяли официальный список squidGuard, то внутри каждой директории можно было бы увидеть файлы обновлений к базам с такими названиями: domains.20020825.diff domains.20020901.diff domains.20020908.diff domains.20020915.diff domains.20020922.diff Внутри каждого из этих файлов находятся записи вида: +xratedpornsite.com +209.51.157.43 -zena.cenhost.com -scuzz.xtac.com
urls.20020825.diff urls.20020901.diff urls.20020908.diff urls.20020915.diff urls.20020922.diff С записями вроде -silva.org/look_at_me +recom.it/fuck/beatrice Записи, начинающиеся знаком "+", это запрос на добавление строчки в главную базу. Соответственно, строки с минусом имеют обратное назначение. К сожалению применить файлы обновления можно только к базе в формате Berkeley DB. Выполняется это действие командой squidGuard -u. Мне кажется, что такой способ обновления не очень удобен. Поэтому нам следует либо отказаться от списка доменов составленного squidGuard, либо написать конвертор обновлений в нормальный формат.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||