Поиск по этому блогу

пятница, 22 июля 2011 г.

Squid+SAMS. Установка.

Для настройки прокси с авторизацией пользователей по IP, мониторингом трафика каждого пользователя удобно использовать связку Squid и SAMS.
По привычке в качестве дистрибутива использую OpenSuse версии 11.3. Можно было бы и 11.4 поставить, это дело вкуса. Будем считать, что сеть настроена, dhcp, bind подняты, установлен iptables, либо iptables в связке с SuseFirewall2. Приступим...


Для начала устанавливаем Squid:
sudo zypper install squid3
 Далее необходимо установить недостающие пакеты:
SQUID
MySQL-server
MySQL-client
mysql-devel - файлы заголовков для mysql
apache
mod_php (модуль php для apache)
php - консольный php
php-mysql - библиотека поддержки mysql в php
libgd - библиотека поддержки графики
php-gd - модуль поддержки libgd в php (используется для рисования графиков)
libpcre - библиотека
libpcre- devel -файлы заголовков libpcre
В apache необходимо добавить модуль php. Это можно сделать либо в файле /etc/apache2/httpd.conf, либо через Yast-http.
Заранее меняем в настройках apache следующее:
host - directory - /srv/www/htdocs - options - FollowSymLinks
Это также делается в httpd.conf или в Yast. Также в httpd.conf меняем safe_mod=Off на safe_mod=On.
Можно проверить работу apache, зайдя на страницу http://localhost. Если все в порядке, увидим надпись It works! Php проверить можно, создав файл test.php в /srv/www/htdocs со следующим содержимым:
<?php
phpinfo();
?>
Теперь зайдя на страницу http://localhost/test.php, увидим информацию о PHP на нашем сервере.

Дальше идем на сайт sams.perm.ru и скачиваем новую версию SAMS. В нашем случае это SAMS 1.0.5.
Распаковываем SAMS:
tar -xf sams-1.0.5.tar.bz2
Переходим в папку SAMS:
cd sams-1.0.5
Начинаем собирать SAMS. По умолчанию SAMS ищет веб-сервер в папке /var/www/htdocs, но в OpenSuse Apache изначально находится в /srv/www/htdocs, поэтому установка будет выглядеть:
./configure --with-httpd-locations=/srv/www/htdocs
make
make install
Если выдаются ошибки при сборке, проверьте, все ли пакеты установили.
По умолчанию SAMS ставится в папку /usr/local/share/sams и создает символьную ссылку на эту директорию из /srv/www/htdocs (или другой директории, которую указали в опциях configure).
Проверяем, какой пользователь запускает Apache и делаем его владельцем /usr/local/share/sams:
ps -ef | grep apache #узнаем, кто владелец Apache
chown -R apache:apache /usr/local/share/sams
## в данном примере владелец apache, но
## может быть другим, например wwwrun,
## соответственно меняем пользователя в команде chown
Файл конфигурации SAMS находится по пути /etc/sams.conf. Данному файлу также меняем владельца (в данном примере на apache):
chown -R /etc/sams.conf
В файле /etc/sams.conf есть  параметры базы данных, в том числе пароль пользователя sams. Поменяйте его на тот, который вам больше нравится =)
После всех процедур идем на страницу http://localhost/sams, видим там ошибки и кнопку запуска скрипта по установке базы данных SAMS. Жмем на эту кнопку, вводим параметры базы, какие хотим, а пароль пользователя sams, как в файле /etc/sams.conf, жмем  "Create database", далее наслаждаемся сообщением, что база создана успешно, либо видим ошибки. Обычно, на данном этапе ошибки могут возникать из-за неправильно выставленных прав на директории mysql, либо, если вы запустили до этого squid, надо будет почистить mysql от его баз.
Теперь пришло время зайти в веб-морду нашего SAMS. Он запросит пароль и логин:
логин: admin
пароль: qwerty
Возможно, что в веб-морде не будут работать кнопки "Настройки web-интерфейса"  и "Администрирование SAMS". Данная проблема возникает на php версии 5.3 и может быть решена путем комментирования функции GetHostName() в файлах /usr/local/share/sams/src/configtray.php и /usr/local/share/sams/src/webconfigtray.php.
В следующей статье рассмотрим подробнее настройки SAMS.

Комментариев нет:

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