Squid + Sams Debian 8

Цель данной статьи в конечном итоге получить настроенный прокси сервер с Web мордой для конфигурирования. И да, конечно же это будет связка Squid + SAMS, авторизация пользователей будет NCSA.

Для того чтобы клиенты могли выходить в интернет через наш шлюз, настроим NAT.

https://onedayadmin.sytes.net/nat-ubuntu-12-04/

Установим все необходимые демоны, до установки SAMS.

apt-get install apache2

apt-get install mysql-server php5 libapache2-mod-php5 php5-mcrypt libmysqlclient-dev php5-gd php5-mysql

apt-get install automake autotools-dev libtool libpcre3 libpcre3-dev libpcre++-dev libpcre++0 libpcrecpp0 g++ make

Установим SQUID.

Скачиваем  squid со всеми зависимостями и извлекаем архив.

sdquid3.1.20.tar

Заходим в папку в которую разархивировали архив.

dpkg -i libdb5.1_5.1.29-5_i386.deb
dpkg -i squid-langpack_20150704-1_all.deb
dpkg -i squid3-common_3.1.20-2.2+deb7u7_all.deb
dpkg -i squid3_3.1.20-2.2+deb7u7_i386.deb

 Приступим к установке SAMS.

Загружаем самс с сайта   http://sams.perm.ru и разархивируем.

Резервная ссылка sams2-2.0.2

Распакуем архив и скопируем исходники в папку котороую мы случайно не удалим в последствие.

cd /home

tar -xvf sams2-2.0.2.tar

cp -r /home/sams2-2.0.2/ /usr/local/bin/

cd /usr/local/bin/sams2-2.0.2

Собираем из исходников

make -f Makefile.cvs

sh ./configure

make

make install

Дадим права для web сервера

chown -R www-data:www-data /usr/local/share/sams2/

chown www-data:www-data /usr/local/etc/sams2.conf

Создадим конфигурационный файл для запуска sams.

cp /usr/local/bin/sams2-2.0.2/debian/init.d /etc/init.d/sams

chmod +x /etc/init.d/sams

Настроим апач

nano /etc/apache2/sites-available/samsweb.conf

<VirtualHost *:80>

ServerName sams.my.local

DocumentRoot /usr/local/share/sams2

<Directory /usr/local/share/sams2>

Require all granted

AddDefaultCharset UTF-8

</Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

a2ensite samsweb

systemctl restart apache2

Не забываем добавить sams.my.local в DNS сервер.

Тут были приведены элементарные настройки, поэтому делаем нужные под себя.

Конфигурируем sams.

nano /etc/init.d/sams

SAMSPATH=`cat /usr/local/etc/sams2.conf | grep SAMSPATH | tr "SAMSPATH=" "\0"`

 nano /usr/local/etc/sams2.conf

DB_USER=root

DB_PASSWORD=Privet12

Заходим на web морду sams и создаем базу.

sams.my.local/setup.php

user root

pass PassMYSQL

создать пользователя sams

pass password

после создания базы меняем пользователя и пароль в /usr/local/etc/sams2.conf

Для старта демона sams создадим ссылку

ln -s /usr/sbin/squid3 /usr/sbin/squid
/etc/init.d/sams start

если не стартовал -

/usr/local/bin/sams2daemon

http://192.168.21.230/index.php

login : admin

pass : qwerty

Настроим сквид.

nano /etc/squid3/squid.conf

url_rewrite_program /usr/local/bin/sams2redir

url_rewrite_children 5

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3

/sams2.ncsa
auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours

service squid3 restart

/etc/init.d/sams stop/start

Настроим sams через web интерфейс.

http://192.168.21.230/index.php

1 шаг -> Выбираем кодировку Russian UTF-8

2 шаг -> Проверяем зависимости, все кроме safe_mode должно быть зеленым.

3 шаг -> В поле Имя пользователя БД пишем root, в поле Пароль к базе данных пишем пароль рута mysql, ставим галочку Создать пользователя SAMS для доступа к базе данных, в поле имя пользователя SAMS - sams@localhost, в поле пароль пишем пароль для пользователя под которым sams будет работать с mysql.

nano /usr/local/etc/sams2.conf

DB_USER=sams

DB_PASSWORD=Пароль из пункта выше

Для автоматического запуска демона sams добавим паузу в 30 секунд при загрузке демона:

nano /etc/init.d/sams

. /etc/default/rcS

case "$1" in

start)

sleep 30

if "$SAMS_ENABLE"; then

Заходим в web интерфейс. Логин admin пароль qwerty

авторизация

-> NCSA

SQUID->ProxySErver->Шестеренка(настройки)

-> Считать трафик: реальный(Полученный прокси-сервером)

-> Домен по умолчанию: atlant

-> Настройка авторизации пользователя: NCSA

-> Проверять наличие команды на реконфигурирование Squid каждые: 1 секунду

-> Обрабатывать логи Squid: ставим галочку

-> обрабатывать через: 1 мин

-> Путь к wbinfo: /usr/bin

-> файл перенаправления запроса: http://192.168.21.230/sams2/icon/classic/blank.gif

-> Путь к каталогу, где лежат файлы запрета запроса: http://192.168.21.230/sams2/messages

-> Редиректор: Встроенный SAMS

-> Включить ограничение скорости доступа пользователей (delaypool): ставим галку

-> Сохранять данные о трафике в базе за последние: 2 месяцев

-> Сохранить изменения

Удалим всех пользователей, группы, шаблоны и создадим свои, реконфигурим squid.

nano /etc/squid3/squid.conf

url_rewrite_program /usr/local/bin/sams2redir

url_rewrite_children 5

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/sams2.ncsa

auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours

systemctl restart squid3