SQUID Account Management System(SAMS) - это программное обеспечение, позволяющее производить контроль и управление пользователями через прокси-сервер, а так же сбор статистики и ведение отчетности потребления трафика. За представленный материал большая благодарность Степану Исаеву. Обсуждение темы на форуме Squid и Sams на Ubuntu 10.10, где Вы сможите не только задать свой вопрос, но и скачать готовый сервер на базе Ubuntu server 11.04.
Оновные пакеты используемые в данном материале:
Компонент | Программа | Версия | Пакеты для установки |
Web-сервер | Apache | 2.2.3 | apache2, apache2-mpm-prefork |
PHP | PHP | 5.2 | libapache2-mod-php5, php5-cgi, php5-common, php5-mysql, php5-gd php5 |
БД | MySQL | 5.0.30 | mysql-server, mysql-client |
Прокси-сервер | Squid | 2.6.5 | squid |
Библиотеки | pcre | 6.7 | libpcre3 |
Подготовка Ubuntu 10.10
На всякий случай обновите зависимости пакетов перед установкой:
|
Установим эти пакеты:
|
Установка squid
Далее устанавливаем squid и libpcre3:
|
Установим дополнительные пакеты, необходимые для компиляции sams (libpcre3-dev и libmysqlclient15-dev):
|
После компиляции sams эти пакеты можно удалить. (если tar.gz)
Скачиваем последнюю версию SAMS (На настоящий момент версия 1.0.5), для i386 архитектуры процессора выполним это:
|
Если у Вас 64bit система выполняем это:
|
Изменяем в открывшемся файле значение false на true в строке SAMS_ENABLE=false:
[...] SAMS_ENABLE=true [...]
|
Создание базы данных
Для работы SAMS нам необходимо создать пользователя sams в базу данных (БД) MySQL:
|
Где yourpassword – пароль root для MySQL. для завершения работы выполните команду \q.
Текущая версия SAMS умеет работать с PHP в режиме safe_mode=On. Но это требует дополнительной настроек. Для этого отредактируем файл /etc/php5/apache2/php.ini Включаем режим safe mode. Для этого выставляем параметр safe_mode:
|
[...] safe_mode = On [...]
SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме 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” [...]
В файле /etc/sams.conf правим имя пользователя в строке:
|
[...] MYSQLUSER=sams MYSQLPASSWORD=yourpasswd [...]
Sams - пользователь MySQL, от имени которого будет работать, а yourpasswd - пароль пользователя в MySQL:
Создание БД и MySQL пользователя SAMS
Переходим в каталог /usr/src/sams-1.0.5/mysql/:
|
Настройка SQUID
|
{xtypo_warning}Ни в коем случае не менять структуру файла и не удалять комментарии.{/xtypo_warning}
Указываем порт который будет слушать/обслуживать наш прокси:
[...] http_port 3128 [...]
Раскоментируем и редактируем по своему вкусу:
[...] cache_dir ufs /var/spool/squid 100 16 256 [...]
А также, раскоментировать другие опции работы с кэшем:
[...]
access_log /var/log/squid/access.log
[...]
pid_filename /var/run/squid.pid
[...]
Подводные камни
Для установленной версии php5 и сервера MySQL-5.1 в WEB интерфейсе будут проблемы с настройками. Необходимо сделать это.
|
/* function GetHostName() * { * if (!($value=getenv('SERVER_NAME'))) * { $value="N.A."; } * return($value); *} */
В файле /usr/share/sams/src/configtray.php закоментировать таким образом следующие строчки.
|
/* function GetHostName() * { * if (!($value=getenv('SERVER_NAME'))) * { $value="N.A."; } * return($value); *} */
По окончанию необходимо выполнить перезапуск сервера:
|
- Назад
- Вперёд >>