# mkdir /usr/local/squid/cache
А тут у нас будут лежать логи.
# mkdir /usr/local/squid/logs
Нужно позаботиться, чтобы директории /usr/local/squid/cache и /usr/local/squid/logs были доступны пользователю, от имени которого работает squid. Узнать имя этого пользователя можно так:
# cat /usr/local/squid/etc/squid.conf | grep cache_effectiv
cache_effective_user nobody
сache_effective_group nogroup
Получается, что пользователя зовут nobody, и группа у него nogroup.
# chown -R nobody /usr/local/squid/cache /usr/local/squid/logs
# /usr/local/squid/sbin/squid -z
Внутри директории /usr/local/squid/cache создаем иерархию директорий для хранения
файлов.
Заглянув в /usr/local/squid/cache, вы сразу поймете, что имелось в виду под
словом иерархия.
Запускаем squid
# /usr/local/squid/sbin/squid -D
А на другой консоли смотрим, какие ошибки появляются
# tail -f /var/log/messages
Если все сделали правильно, то должны увидеть что-то подобное.
Oct 3 12:15:05 dns squid[139]: Squid Parent: child process 141 started
Итак, squid у нас заработал. Теперь примемся за установку Russian Apache 1.3.27 PL30.16. Берем дистрибутив.
Распаковываем его и ставим в комплекте по умолчанию.
# tar zxvf apache_1.3.27rusPL30.16.tar.gz
# ./configure
# gmake
# gmake instal
Запускаем apache:
/usr/local/apache/bin/apachectl start
Создаем директорию, где будут лежать пустой баннер и файл mp3 с каким-либо
забавным звуком.
# mkdir /usr/local/apache/htdocs/replace
Кладем туда 1x1.gif и my.mp3. Берем модифицированный block.cgi и копируем его в /usr/local/apache/cgi-bin Выставляем ему нужные права:
# chown nobody:wheel /usr/local/apache/cgi-bin/block.cgi
# chmod 500 /usr/local/apache/cgi-bin/block.cgi
Этот perl скрипт будет вызываться каждый раз, когда пользователь попытается посетить запрещенную страницу. Взять его можно из архива с дистрибутивом squidGuard. В первоначальном варианте этот скрипт назывался /squidGuard-1.2.0/samples/squidGuard.cgi.in. Можно использовать его, а можно и слегка модифицированный мною вариант. Мой, наверно, лучше, потому что руссифицированный.
Все подготовительные работы окончены, и можно взяться за установку squidGuard 1.2.0. Для его работы необходимо иметь Berkeley DB 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/squi dGuard/squidGuard.conf \
--with-sg-logdir=/usr/local/squidGuard/log \
--with-sg-dbhome=/usr/local/squidGuard/db
# gmake
# gmake test
# gmake install
Cоздаем для хранения файлов протоколирования работы squidGuard директорию /usr/local/squidGuard/log.
# mkdir /usr/local/squidGuard/log
Официальный список блокируемых доменов можно взять у squidGuard. Так же доступен список от MESD. И еще один хороший список от Dansguardian. Кратко сравним их между собой:
База | squidGuard | Mesd | dansguardian | Комментарии |
ads | реклама | |||
adult | нет | сайты для взрослых | ||
aggressive | агрессия | |||
audio-video | музыка и видео | |||
chat | нет | нет | чаты | |
forums | нет | форумы | ||
drugs | наркотики | |||
gambling | азартные игры | |||
hacking | хакерство | |||
local-block | нет | нет | сайты заблокированные местным админом | |
local-ok | нет | нет | сайты разрешенные местным админом | |
бесплатные почтовые сервера | ||||
porn | порнография | |||
proxy | общедоступные прокси сервера | |||
publicite | нет | опять реклама | ||
redirector | нет | анонимные прокси сервера | ||
violence | насилие | |||
warez | пиратское програмное обеспечение |
Итак, вполне очевидно, что лучше всего взять список MESD или Dansguardian. Какой из них выбрать - оставляю на Ваше личное усмотрение. И тот, и другой обновляются довольно часто. Но, во избежание перегрузки сервиса, не стоит качать списки чаще чем раз в неделю.
Скачав себе один из списком распакуем его:
# tar zxvf blacklists.tgz -C /usr/local/squidGuard
# mv /usr/local/squidGuard/blacklists /usr/local/squidGuard/db
В директории /usr/local/squidGuard/db появилось несколько поддиректорий. В свою очередь, в каждой из них лежат файлы:
domains # список доменов
urls # список адресов, используемых что бы заблокировать одельную страницу, а не весь домен.
expression # выражения используемые при поиске в url. Например sex, hot, teens, porno и.т.д
Если бы мы взяли официальный список squidGuard, то внутри каждой директории можно было бы увидеть файлы обновлений к базам с такими названиями:
domains.20020825.diff
domains.20020901.diff
domains.20020908.diff
domains.20020915.diff
domains.20020922.diff
urls.20020825.diff
urls.20020901.diff
urls.20020908.diff
urls.20020915.diff
urls.20020922.diff
Внутри каждого из этих файлов находятся записи вида:
+xratedpornsite.com
+209.51.157.43
-zena.cenhost.com
-scuzz.xtac.com
Записи, начинающиеся знаком "+", это запрос на добавление строчки в главную базу. Соответственно, строки с минусом имеют обратное назначение. Применить обновления можно только к базе в формате Berkeley DB. Выполняется это действие командой squidGuard -u. Мне кажется, что такой способ обновления не очень удобен. Поэтому нам следует отказаться от списка доменов составленного squidGuard.
страницы: | 1, 2, 3, 4 |