Как настроить смартфоны и ПК. Информационный портал

Установка и настройка squid sams. Установка и настройка SAMS - Linux

Серия контента:

Возможности SAMS. Системные требования

Скачать SAMS можно на официальном сайте проекта http://sams.perm.ru/index.php , тут есть все необходимое системному администратору – от новостей и документации до исходных текстов программы.

Согласно официальному определению, SAMS – это не биллинговая система, а программное средство для администрирования доступа пользователей к прокси-серверу SQUID. Тем не менее, использовать его как систему учета трафика, прошедшего прокси-сервер, никто не мешает. Перечислим основные возможности программы:

  • администрирование системы через Web-интерфейс;
  • ограничение объема трафика пользователей;
  • автоматическое отключение пользователей, превысивших лимит;
  • блокировка доступа пользователей к запрещенным ресурсам Интернет;
  • настройка доступа пользователей через механизм шаблонов;
  • разбиение пользователей на группы для удобства администрирования системы;
  • ведение статистики посещенных пользователями ресурсов Интернет;
  • формирование отчетов по трафику пользователей за любой отрезок времени;
  • поддержка различных видов авторизации, используемых в SQUID: ip, ntlm, ncsa;
  • поддержка использования внешних редиректоров SQUID: rejik, squidGuard;
  • ограничение скорости закачки для групп пользователей;
  • отправка сообщений администратору при отключении пользователей из-за превышения лимита трафика:
  • хранение информации в базе данных MySQL.

В настоящее время список официально поддерживаемых систем невелик: Linux, FreeBSD, OpenBSD, SUN Solaris x86. Но поскольку исходные тексты SAMS открыты, ничто не мешает администратору адаптировать продукт для других систем.

Для работы SAMS в системе Ubuntu (Debian) необходимо установить следующие приложения и дополнительные пакеты:

Web-сервер apache2, apache2-mpm-prefork, PHP 5.2 (libapache2-mod-php5), php5-cgi, php5-common, php5-mysql, БД MySQL (mysql-server), mysql-client, libmysqlclient15off, прокси-сервер SQUID, а также библиотеки pcre (libpcre3). Как все это настраивать и устанавливать, я описывать не буду, лучше сосредоточусь на деталях и «подводных камнях».

Установка и настройка

После распаковки архива SAMS необходимо войти в каталог дистрибутива и там выполнить команды (требуются права суперпользователя):

./configure --with-httpd-locations=/var/www make make install

затем создаем пользователя для доступа к БД mysql и собственно базу данных SAMS:

mysql -u root -p GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword"; GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";

замените неопределенные значения своими. После этого имя пользователя и пароль надо сохранить в файле конфигурации SAMS /etc/sams.conf:

  • MYSQLUSER=sams – имя пользователя MySQL, от имени которого будет работать SAMS;
  • MYSQLPASSWORD=yourpasswd – пароль пользователя в MySQL.

Для создания базы данных переходим в каталог./mysql и там выполняем следующие команды:

cd ./mysql mysql -u root -p < sams_db.sql mysql -u root -p < squid_db.sql

Говоря «перемещаемся в каталог./mysql», я имею в виду подкаталог каталога исходных текстов, возникший после разархивирования дистрибутива SAMS.

Настраиваем PHP:

Для настройки PHP необходимо внести изменения в файл /etc/php5/apache2/php.ini:

  1. Выставляем параметр safe_mode = On
  2. SAMS для некоторых функций Web-интерфейса использует системные команды, например wbinfo. В режиме safe_mode интерпретатор PHP блокирует доступ к системным командам. Тем не менее, интерпретатор позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir. Изменяем этот параметр: safe_mode_exec_dir = "/usr/local/share/sams/bin"
  3. Далее разрешаем исполнение системных скриптов из кода PHP. Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec: disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"

Теперь самое интересное: администраторская консоль SAMS будет доступна по адресу: http://localhost/sams/

Первый вход можно осуществить с именем и паролем: admin/qwerty (следует сразу сменить этот пароль). После авторизации вы должны увидеть изображение, показанное на рисунке 1.


Я не буду описывать все опции и варианты настроек программы – администраторская консоль русифицирована, и все настройки интуитивно понятны. Вместо этого остановлюсь на нюансах, которые вызывают проблемы у тех, кто впервые сталкивается с эксплуатацией SAMS.

  1. Настраивая программу в разделе «Администрирование SAMS», не забудьте указать способ авторизации (ip или др).
  2. В подпункте «файл перенаправления запроса» обязательно смените «you_ip_address...» на localhost! Обязательно! Это не очевидно и теряется из виду, а последствия неприятны.
  3. В следующем подпункте делаем то же самое.
  4. В подпункте «редиректор» поставьте «встроенный SAMS» – по умолчанию там ничего нет. Потом можете поставить rejik, он более функциональный.
  5. Не забудьте сохранить изменения.
  6. Прокси-сервер SQUID должен быть запущен без каких-либо настроек с вашей стороны, но в конце конфигурационного файла нужно обязательно указать: «redirect_program /usr/local/bin/samsredir».
  7. В подразделе SQUID администраторской консоли SAMS обязательно сделайте реконфигурирование squid, – правильное завершение этой процедуры отразится соответствующим сообщением в самом SAMS и появлением в начале конфигурационного файла SQUID примерно такой надписи: «# created by SAMS _sams_ 2009-05-26 10:5:19».
  8. После этого выполните команду (требуются права суперпользователя) /etc/init.d/samsd stop и запустите скрипт с параметром start. Для SQUID нужно сделать то же самое: /etc/init.d/squid reload. Убедитесь в логах SQUID, что он работает нормально, после чего заведите на прокси-сервере пользователя в SAMS, при этом обратите внимание на тип авторизации – он должен совпадать с настройками в самом SAMS. Создайте в каталоге /etc/squid текстовый файл default.sams и туда пропишите по одному в строку (в случае авторизации по ip-адресу) данные, например: 10.0.16.114/255.255.255.255 10.0.16.108/255.255.255.255

    Это адреса абонентов из вашей подсети, их же вы укажете при заведении пользователей в самом SAMS.

  9. В разделе администраторской консоли «Запрет доступа по URL» создайте ваш список и внесите в него URL, посещать которые вашим пользователям нельзя, или создайте для этих же целей шаблоны, используя регулярные выражения в одноименном разделе чуть ниже. Обязательно поставьте «галочку», применяющую эти правила в шаблоне пользователя, в разделе «Шаблоны пользователя» (рисунок 2).

    У меня на рисунке эта галочка пометила в разделе «запрет доступа» «my» – имя моего шаблона со списком запретных URL. Если этого не сделать, никакие запреты работать не будут!

  10. На клиентских машинах задайте в настройках браузеров ip-адрес и порт прокси-сервера, где работают SAMS и SQUID. Все пользователи идут через настроенную систему, трафик учитывается, статистика сохраняется в базе данных, строятся графики, а также доступны все остальные функции SAMS, как на рисунке 3.

«SQUID Account Management System(SAMS) — программное средство для администрирования доступа пользователей к прокси-серверу SQUID, сбора статистики и генерации отчетов о потреблении трафика.»

В данной статье я рассмотрю установку sams-2.0.0-rc1 на Ubuntu 10.04 Server.

1. Устанавливаем зависимости

apt-get install mysql-server mysql-client apache2 php5 libapache2-mod-php5 php5-mysql build-essential autoconf automake libtool g++ libpcre3 libpcre3-dev php5-gd libmysqlclient15-dev php-fpdf

2. Устанавливаем программу

Если она ещё не скачана — качаем:

Распаковываем:

tar xjvf sams-2.0.0-rc1.tar.bz2

cd sams-2.0.0-rc1

Создаём скрипт автоматической конфигурации для компилирования:

make -f Makefile.cvs

Запускаем скрипт автоматической конфигурации:

Если скрипт не ругается — компилируем и устанавливаем:

После конфигурирования был выдан список файлов и директорий программы. На всякий случай продублирую его здесь:

Locations:
config file: /usr/local/etc/sams2.conf
daemons: /usr/local/bin
web interface: /usr/local/share/sams2
documentation: /usr/local/share/doc/sams2-2.0.0
httpd server: /usr/sbin/apache2

Сейчас нужно поменять владельца некоторых файлов программ на пользователя, от имени которого работает веб-сервер. Если в Ubuntu вы используете apache, то это www-data:

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

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

Для доступа к веб-интерфейсу SAMS2 , создадим символическую ссылку на его в директории с сайтом:

ln -s /usr/local/share/sams2/ /var/www/sams2

Через браузер заходим в веб-интерфейс sams: http://ip-адрес-сервера/sams2 . Перед вами должно появиться сообщение о том, что не возможно подключиться к базе данных (database MySQL not connected). Для того, чтобы решить проблему, нажимаем на «Run setup program >>» и следуем указаниям мастера. После завершения работы мастера вы снова попадёте на первую страницу с той же ошибкой. Она появилась потому, что конфигурационный файл (/usr/local/etc/sams2.conf) не настроен. В нём нужно будет указать как минимум адрес сервера баз данных, имя базы данных и данные пользователя для подключения к ней. После заполнения обновляем страницу и видим веб-интерфейс sams2.

Для запуска демона выполняем команду…

Для автоматической загрузки при старте системы можно добавить строчку в /etc/rc.local

Одной из задачь системного администратора есть обеспечение сетевой безопасности организации. Сетевая безопасность включает в себя целый комплекс действий, куда входит и контроль сетевого трафика и раздача прав на использование локальных ресурсов и доступа к интернет. Для раздачи прав на пользование ресурсами интернета используют прокси сервер. В Ubuntu эту роль выполняет прокси сервер SQUID . В ранних версиях Ubuntu настройка SQUID выполнялась в консоли, в последних версиях Ubuntu разработан Web интерфейс SAMS . О том как установить и настроить связку SQUID + SAMS2 на ubuntu 10.10 и пойдет речь.

Итак посетив множество форумов и перечитав очень много инструкций, составил для вас и для себя инструкцию:

1. Устанавливаем собственно прокси сервер SQUID:

Автоматически установятся все необходимые пакеты.

3. Устанавливаем php5:

Если libmysqlclient15off не установился, скачиваем по ссылке ниже:

5. Устанавливаем libpcre3:

# GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword";

; Username for database connection
DB_USER=root - Имя пользователя MySQL , от имени которого будет работать SAMS .
; Password for database connection
DB_PASSWORD="
yourpassword" - Пароль пользователя в MySQL .

8. Включаем sams2:

# sudo gedit /etc/init.d/sams2

Изменяем значение параметра SAMS_ENABLE = FALSE на SAMS_ENABLE = TRUE

9. Настраиваем php.ini:

# sudo gedit /etc/php5/apache2/php.ini

В текущей версии SAMS научился работать с PHP в режиме safe_mode=On.

Но это требует дополнительной настройки конфигурации.Для этого редактируем файл конфигурации php.ini и включаем режим safe mode.

Для этого выставляем параметр safe_mode = On (Однако если вы работаете с CMS например с Joomla, то включение этого параметра запретит вм устанавливать обновления в Joomla. Об этом описано . Будьте внимательны! )

SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo . В режиме safe_mode php блокирует доступ к системным командам. Php позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir .

Изменяем этот параметр:

safe_mode_exec_dir = "/usr/share/sams2/bin".

disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"

Все. PHP готов к работе.

10. Перезагружаемся

11. Открываем права на запись в папку /usr/share/sams2:

Под рутом выполняем команду:

# chmod -R 777 /usr/share/sams2

12. Запускаем Web интерфейс:

Идем в браузер и пишем localhost/sams2 - мы должны увидеть примерно такое окно:

Одной из задачь системного администратора есть обеспечение сетевой безопасности организации. Сетевая безопасность включает целый комплекс действий, куда входит и контроль сетевого трафика и раздача прав на применение локальных ресурсов и доступа к . Для раздачи прав на пользование ресурсами интернета применяют прокси сервак. ВУбунту эту роль выполняет прокси сервак SQUID. В ранних версиях Убунту настройка SQUID выполнялась в консоли, в последних версиях Убунту разработан Web интерфейс SAMS. О том как поставить и настроить связку SQUID + SAMS2 на убунту 10.10 и пойдет речь.

Итак посетив большое количество форумов и перечитав немало инструкций, составил для вас и для себя инструкцию:


2. Устанавливаем apache:

4. Устанавливаем mysql:

6. Ставим sams2, sams2web и sams2doc:

Скачать пакеты можно ОТСЮДА.

sams2_2.0.0-b2_i386.deb

sams2_2.0.0-b2_amd64.deb

sams2-web_2.0.0-b2_all.deb

sams2-doc_2.0.0-b2_all.deb

Дополнительно выбираем установку squidguard.

7. Создаем БД:

; Username for database connection
DB_USER=root - Имя пользователя MySQL, от имени которого будет работать SAMS.
; Password for database connection
DB_PASSWORD="yourpassword" - Пароль пользователя в MySQL.

8. Включаем sams2:

# sudo gedit /etc/init.d/sams2

Изменяем значение параметра SAMS_ENABLE = FALSE на SAMS_ENABLE = TRUE

9. Настраиваем php.ini:

# sudo gedit /etc/php5/apache2/php.ini

В текущей версии SAMS научился работать с PHP в режиме safe_mode=On.

Но это требует дополнительной настройки конфигурации.Для этого редактируем файл конфигурации php.ini и включаем режим safe mode.

Для этого выставляем параметр safe_mode = On (Однако если вы работаете с CMS например с Joomla, то включение этого параметра запретит вм устанавливать обновления в Joomla. Об этом описано тут. Будьте внимательны!)

SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. Php позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir.

Изменяем этот параметр:

safe_mode_exec_dir = "/usr/share/sams2/bin".

disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"

Все. PHP готов к работе.

10. Перезагружаемся

11. Открываем права на запись в папку /usr/share/sams2:

Под рутом выполняем команду:

# chmod -R 777 /usr/share/sams2

12. Запускаем Web интерфейс:

Идем в браузер и пишем localhost/sams2

Оставьте свой комментарий!

Лучшие статьи по теме