Данная статья устарела, обновленный материал для Ubuntu 14.04 находится здесь
Установим на наш сервер кэширующий прокси-сервер squid и необходимый набор пакетов
1. Систему мы обновили ранее, так что просто ставим пакеты
aptitude install apache2 apache2-doc apache2-utils ssl-cert mysql-server libmysqlclient15-dev libapache2-mod-php5 php5 php5-common php5-dev php5-mcrypt php5-imagick php5-mysql php5-gd squid libpcre3 libpcre3-dev |
2. Идем редактировать конфиг, сразу оговорюсь что адрес сервера для локальной сети 192.168.0.1. Открываем /etc/squid/squid.conf, ищем нужные строки и корректируем следующим образом:
|
3. Перезапускаем проксю
/etc/init.d/squid restart |
4. Настраиваем браузеры на клиентских машинах на использование прокси: адрес прокси - пишем IP-адрес интерфейса, обращенного в локалку. Скорее всего это будет 192.168.0.1
, порт прокси - указанный в конфиге 3128
Выбираем свою архитектуру процессора (32х или 64х битная), и устанавливаем 3 пакета:
sams2 – конфигурационный файл и все исполняемые файлы демонов
sams2-web – web-интерфейс для управления работой sams и squid
sams2-doc – документация к sams
Рекомендуется устанавливать все 3 пакета выбранной версии: Для 32х битных систем:
|
Для 64-битной версии
wget http://nixdev.net/release/sams/devel/packages/ubuntu/10.04/sams2_2.0.0-b2_amd64.deb |
И устанавливаем скачанное:
dpkg -i *.deb |
Заходим и читаем, там все просто расписано по шагам
mcedit /usr/share/sams2/doc/README.Debian |
Для работы SAMS2 необходимо создать базу данных и пользователя sams в БД MySQL через веб-интерфейс
Для начала правим конфиг Apache, что бы особо не заморачиваться я правил через webmin. Установка webmin описывалась здесь
Доводим конфиг до такого состояния:
|
Затем правим конфиг SAMS2
nano /etc/sams2.conf |
И правим:
|
Редактируем /etc/init.d/sams и изменяем SAMS_ENABLE="false" на "true".
nano /etc/init.d/sams |
Странно, но такой факт имеет место, sams-демон не хотел запускаться в автоматическом режиме. Решился вопрос элементарно - делаем задержку запуска демона в конфиге под строкой #!/bin/sh -e
sleep 10 |
Перезапускаем Apache
/etc/init.d/apache2 restart |
И заходим через браузер с компа потенциального клиента:
http://192.168.0.1
Далее выполняем действия в браузере по установки и настройке.
При этом выясняем что у нас неисправный php.ini. Редактируем конфиг PHP /etc/php5/apache2/php.ini:
nano /etc/php5/apache2/php.ini |
По заявлениям автора с версии 1.0 SAMS работает в safe_mode php
Настраиваем php для работы в режиме safe mode, для этого выставляем параметр safe_mode:
safe_mode = On |
так же SAMS для некоторых функций WEB интерфейса использует системные команды. В режиме safe_mode php блокирует доступ к системным командам.Php позволяет выполнять системные команды, расположенные в каталоге,заданном параметром safe_mode_exec_dir.Изменяем этот параметр:
safe_mode_exec_dir = "/usr/share/sams/bin" |
Далее разрешаем исполнение системных скриптов из кода php.Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec:
disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec" |
И опять перезапускаем Apache
/etc/init.d/apache2 restart |
Редактируем /etc/init.d/sams и изменяем SAMS_ENABLE="false" на "true".
nano /etc/init.d/sams |
Ставим Режик
Берем с офсайта http://www.rejik.ru/index_ru_11_1.html последнию версию на момент написания это redirector-3.2.8
wget http://www.rejik.ru/download/redirector-3.2.8.tgz |
Скачиваем банлисты:
wget http://www.rejik.ru/download/banlists-2.x.x.tgz |
Смотрим под каким пользователем работает squid, и что за группа (для Debian и Ubuntu это proxy:proxy)
ps aux | grep squid |
Открываем для редактирования Makefile и правим значения SQUID_USER и SQUID_GROUP на нашего пользователя и группу (proxy:proxy).
Собираем и устанавливаем
make |
Перемещаем туда наши бан листы:
|
Переходим в каталог куда он установился
cd /usr/local/rejik3/ |
Редактируем конфиг:
cp /usr/local/rejik3/redirector.conf.dist /usr/local/rejik3/redirector.conf |
в конфиге путь к логам указан в ту же папку куда установлен и сам rejik (/usr/local/rejik3/),
для удобства переношу логи в папку (/var/log/squid) и создаю там лог-файлы которые прописанны в конфиге:
cd /var/log/squid |
Ставим права:
chown proxy:proxy redirector.log |
(redirector.err)
Меняем наши пути:
nano /usr/local/rejik3/redirector.conf |
error_log /var/log/squid/redirector.err
change_log /var/log/squid/redirector.log
Так же выставляем на папку banlists права (proxy:proxy):
chown -R proxy:proxy banlists/* |
Из папки /usr/local/rejik3/tools запускаем:
./check-redirector
|
Идем в наши логи и смотрим - для нас важна в redirector.log строчка:
2010-09-20 16:19:09 [26671] Redirector start and working (3.2.8)
Что бы заработал редиректор, пропишите в /etc/squis/squid.conf строку:
url_rewrite_program /usr/local/rejik3/redirector /usr/local/rejik3/redirector.conf
если что смотрим и исправляем.
P.S.
После установки, веб-интерфейс бывает глючит (не открываются некоторые разделы), исправить его можно заменив в /usr/local/share/sams2/src/webconfigtray.php название функции "GetHostName" на "GetHostNameUp"
Права на файлы squid.conf поменяйте chown proxy:proxy /etc/squid/squid.conf