12 окт 2010
Панель управления прокси сервером sams
Dmitrius Категория: Web-Мастеру » Уроки
У нас вы можете скачать бесплатно Панель управления прокси сервером sams

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Панель управления прокси сервером sams


Лично я этой проргаммой пользуюсь давно и очень ей доволен


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

SAMS - это система для управления доступа пользователей через прокси сервер к ресурсам интернет. Она идеально подходит для использования как в частных фирмах так и в госудаственных учереждениях. Всю работу по проксированию, перенаправлению запросов, кэшированию и авторизации берет на себя proxy-сервер Squid а SAMS занимается учетом трафика и управлением пользователями.

Возможности SAMS

Администрирование системы через web интерфейс
Ограничение объема трафика пользователей
Автоматическое отключение пользователей, превысивших лимит.
Ведение списков запрещенных для доступа пользователей ресурсов интернет.
Настройка доступа пользователей через механизм шаблонов. Шаблоны позволяют:
назначить списки запрещенных сайтов для пользователей данного шаблона
определить объем трафика пользователя шаблона по умолчанию
назначить период ограничения объема трафика для пользователей этого шаблона
назначить способ авторизации (ip, ntlm, ncsa) для пользователей этого шаблона
назначить скорость доступа к интернет для пользователей шаблона (delay_pools)
ограничение доступа пользователей по времени и дням недели
Разбиение пользователей на группы для удобства администрирования системы
Формирование отчетов по трафику пользователей за любой отрезок времени:
Полученный пользователями трафик
Посещенные пользователями сайты
Полученные пользователями файлы
Поддержка видов авторизации SQUID:
NTLM авторизация в домене Windows
NCSA авторизация
доступ по ip адресу
Поддержка использования редиректоров SQUID:
Rejik
SquidGuard?
Категории пользователей SAMS:
пользователи с правами администрирования SAMS
пользователь
Аудитор, для контроля трафика пользователей, без возможности администрирования системы
пользователи сети с расширенными правами, получают расширенный доступ к web интерфейсу, для контроля трафика пользователей своей группы
пользователи сети получают доступ к web интерфейсу для контроля своего трафика
Посылку сообщений администратору при отключении пользователей при превышении трафика
Для хранения данных используется СУБД MySQL
Восстановление файлов из кэша SQUID fil

Саму прогу качаем здесь https://freespace.by/download/26479eb19c

Примеры установки SAMS на различные системы

Установка SAMS на Alt Linux Master 2.4
Установка SAMS на RedHat Enterprise Linux 4
Установка SAMS на Debian GNU/Linux Etch 4.0

Основные пакеты:
aptitude install apache2 apache2-mpm-prefork
aptitude install libapache2-mod-php5 php5-cgi php5-common php5-mysql php5-gd
aptitude install mysql-server mysql-client libmysqlclient15off
aptitude install squid
aptitude install libpcre3

Дополнительные пакеты, необходимые для компиляции sams:

libpcre3-dev - Perl 5 Compatible Regular Expression Library
libmysqlclient15-dev - mysql database development files
aptitude install libpcre3-dev libmysqlclient15-dev

После компиляции sams эти пакеты можно удалить.

Дополнительные пакеты для работы SAMS:
squidguard - Для использования редиректора squidguard
php5-ldap - Для авторизации пользователей в Active Directory | LDAP
php-fpdf - Для генерации pdf отчетов

Стандартная инсталляция SAMS

1. Разархивируйте полученный архив:

tar zxf sams-xxxxxx.tar.gz

будет создан каталог, в котором размещено содержимое архива.

2. Переместитесь в него
сd sams-xxxxxx


3. Собрать и установить SAMS можно используя скрипт установки setup.sh или традиционным способом:
./configure
  make
  make install


Для настройки конфигурации воспользуйтесь командой
  ./configure


По-умолчанию SAMS ставится в /usr/local.
Если вы можете изменить путь:
к расположению программ и путь к расположению библиотек и файлов заголовков MySQL
к каталогу расположения root директории https сервера (если путь к нему отличается от /var/www/html или /var/www/htdocs)
к каталогу расположения php

для получения списка опций настройки наберите:
./configure --help

По завершении работы команды configure откомпилируйте дистрибутив и инсталлируйте его
Linux:
make
  make install

FreeBSD:
gmake
  gmake install

Обновление уже установленной версии

В папке с собранной новой версией (после "configure" && "make") вместо "make install":
Linux
make update
  ./update/upgrade_mysql_table.php

Расположение файлов SAMS

По окончании инсталляции файлы SAMS будут проинсталлированы:

/etc:
sams.conf - файл конфигурации SAMS

/usr/local/bin:
файлы:
sams - анализатор логов squid
samsf - демон, создающий fifo файл, в который squid записывает логи.
samsdaemon - демон, отвечающий за переконфигурацию squid и автоматический запуск sams и samsf

/usr/local/share/sams:

файлы WEB-интерфейса sams

Создаем пользователя MySQL

SAMS хранит настройки и данные о доступе пользователей в интернет в базе данных MySQL. Создайте базу данных и пользователя SAMS в MySQL. По умолчанию это пользователь sams. Измените пользователя и пароль доступа к базе в файле /etc/sams.conf

например:
MYSQLHOSTNAME=localhost
  MYSQLUSER=sams
  MYSQLPASSWORD=sams_password


Измените в файле конфигурации путь к файлу access.log squid.
например:
SQUIDLOGDIR=/var/log/squid
SQUIDCACHEFILE=access.log

Создание каталога SAMS https сервера

В результате инсталляции должен быть создан симлинк из root каталога https сервера на каталог web-интерфейса SAMS. Если он не создан, создайте симлинк из каталога вашего web-сервера на каталог /usr/local/share/sams
ln -s /usr/local/share/sams /our/path/www/htdocd/sams

Измените владельца каталога /usr/local/share/sams на пользователя, от имени которого работает ваш web сервер.

например:
chown -R apache:apache /usr/local/share/sams


Смените права доступа на католог /usr/local/share/sams/data на 777

Настройка php для работы с SAMS в режиме safe mode

Редактируем файл конфигурации php, например /etc/php/4.4.4/apache-mod_php/php.ini

SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. Php позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir. Изменяем параметр:
safe_mode_exec_dir = "/usr/local/share/sams/bin"

Далее разрешаем исполнение системных скриптов из кода php. ищем в файле конфигурации параметр
disable_functions =
"chdir,dl,ini_get_all,phpinfo,system,shell_exec,popen,proc_open,exec,passthru,pcntl_exec"

и убираем из него запрет вызова функций phpinfo system shell_exec exec

также убираем их запрет в параметре
hphp.executor.func.blacklist = chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec

убираем из него запрет вызова функций phpinfo system shell_exec exec

После данных манипуляций WEB интерфейс SAMS работает в режиме safe_mode

Чтение логов SQUID и занесение данных в базу данных
SAMS может производиться двумя способами:
Запуском обработчика логов через некоторый промежуток времени

Запуск обработчика логов sams может быть произведено samdaemon автоматически (см. настройку) или из cron
Обработчик логов /usr/local/bin/sams - запускается периодически и считывает информацию из файла access.log. Необходимо осуществлять запуск этой программы с периодичностью 1 раз в минуту.

Для запуска из cron создайте демону cron задание в файле /etc/crontab:
*/1 * * * * /usr/local/bin/sams
/usr/local/bin/samsf - после запуска остается в памяти демоном, устанавливает fifo файл access.log и squid заносит логи напрямую в sams. samsf может быть произведен samdaemon автоматически (см. настройку) или из скрипта при загрузке ОС.

Какой способ чтения логов выбрать? Оба способа имеют свои достоинства и недостатки:

sams:
+ При крахе базы данных они могут быть восстановлены из файлов логов squid (access.log)
- Пересчет трафика и отключение пользователей происходит с запозданием.

samsf (еще не доработан, работает нестабильно):
+ Пересчет трафика и отключение пользователей происходит сразу, как данные об этом поступят от SQUID
- Так как SQUID пишет логи непосредственно в samsf, при крахе базы данных данные о трафике пользователей могут быть потеряны. Не забывайте делать backup базам sams
Настройка очистки счетчиков трафика пользователей

SAMS ведет учет объема информации, полученной пользователями. По превышении объема информации, пользователь отключается от доступа к прокси-серверу

Очистка счетчиков пользователей может производиться через любой период времени (кратно суткам). Период очистки счетчиков установливается в свойствах шаблонов пользователей. Очистка производится демоном samsdaemon.

Также возможно производить очитску счетчиков ВСЕХ пользователей, вызывая утилиту sams с ключем -c из cron.
Пример настройки crontab на очистку счетчиков пользователей 00:00 1 числа каждого месяца:
0 0 1 * * /usr/local/sams/bin/sams -c
Настройка автоматического запуска samsdaemon

Настройте систему на автоматический запуск демона
/usr/local/bin/samsdaemon, необходимого для работы SAMS.

Для RedHat?-based дистрибутивов:
Установите автоматический запуск /etc/init.d/samsd
Настройка php для функционирпования SAMS

Раскомментируйте в php.ini вызов библиотеки mysql.so
установите параметр
safe_mode=Off

удалите из
disable_functions shell_exec


Создайте каталог /tmp/sams. В него SAMS будет складывать временные файлы и смените права доступа на католог /tmp/sams на 777. mkdir /tmp/sams chmod 777 /tmp/sams









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
ALEKS333 | 12 октября 2010 17:49
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

автору большое СПС

SANCHEEZ | 15 октября 2010 15:29
  • Группа: Посетители |
  • Комментарий: 2 (ссылка)

Огромное СПС

parnisha | 17 октября 2010 08:28
  • Группа: Посетители |
  • Комментарий: 3 (ссылка)

Подтверждаю

aconse | 28 ноября 2010 16:17
  • Группа: Посетители |
  • Комментарий: 4 (ссылка)

спосибули!

bobrik | 4 декабря 2010 22:15
  • Группа: Посетители |
  • Комментарий: 5 (ссылка)

вовжу ./configurу а оно мне выбивает -bash: ./configure: ппя яппппЁп япппп ппп ппяппппЁп
чё делать(

bobrik | 11 декабря 2010 20:30
  • Группа: Посетители |
  • Комментарий: 6 (ссылка)

zeleboba,
а как их установить??

J.O.K.E.R. | 10 января 2011 19:18
  • Группа: Посетители |
  • Комментарий: 7 (ссылка)

-bash: ./configure: Permission denied


Breno | 7 июня 2012 20:45

One or two to rmeemebr, that is.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.