вторник, 15 февраля 2011 г.

SBS на базе Ubuntu Server - квотирование трафика SAMS

1. Устанавливаем необходимые пакеты и зависимости для работы SAMS’а:
aptitude install apache2 apache2-mpm-prefork php5 libapache2-mod-php5 php5-cgi php5-common php5-mysql mysql-server mysql-client squid libpcre3 php5-gd libpcre3-dev libmysqlclient15-dev gcc make

Идем сюда и скачиваем пакет libmysqlclient15off, устанавливаем его
dpkg -i libmysqlclient15off.deb
(это все потому, что он находится в репозитариях, не упомянутых в sources.list).
Также, возможно, потребуется установить дополнительные пакеты:
squidguard – для использования редиректора squidguard
php5-ldap – для авторизации пользователей в Active Directory | LDAP
php-fpdf – для генерации pdf отчетов.


2. По завершению установки всех необходимых пакетов следует редактировать файл /etc/php5/apache2/php.ini
В нем необходимо изменить параметры на те, что указаны ниже:
1) safe_mode = On
2) safe_mode_exec_dir = “/usr/share/sams/bin”
3) disable_functions = “chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec”
и создаем директорию html в  /var/www/


3. Конфигурация, компиляция и установка SAMS:
Скачиваем отсюда sams-1.0.5(2).tar.bz2 
./configure --with-httpd-locations=/var/www
  make
  make install
После этого рекомендуется заменить init скрипт sams, на скрипт специально измененный для Debian: 
   cp ./etc/samsd.debian /etc/init.d/samsd
   update-rc.d samsd defaults

4. Альтернативный способ - установка из пакетов
Скачать установщик SAMS’а с и весь необходимый набор, для этого делаем следующее (на момент написания статьи это были самые новые пакеты)
wget http://nixdev.net/release/sams/debian/lenny/sams_1.0.5_i386.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-web_1.0.5_all.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-doc_1.0.5_all.deb

4.1. Скачав deb-пакеты, начнем установку.
1) dpkg -i sams_1.0.5_i386.deb
2) dpkg -i sams_1.0.5_i386.deb (это не опечатка, необходимо запускать два раза). Во время второго запуска возможно выйдет информация о правке init-скрипта.
3) dpkg -i sams-web_1.0.5_all.deb
4) dpkg -i sams-doc_1.0.5_all.deb

4.2. Правка init- скрипта:
   nano /etc/init.d/sams
   изменяем в открывшемся файле значение false на true в строке “SAMS_ENABLE=false”

5Создание БД:
Для работы SAMS необходимо создать пользователя sams в БД MySQL:
mysql -u root -p
  GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword";
  GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";
Где:

yourpassword - пароль

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

MYSQLUSER=sams - Имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd - Пароль пользователя в MySQL

Создаем базы SAMS в MySQL
Для этого перемещаемся в каталог ./mysql  (в случае установки из пакетв - в каталог /usr/share/sams/mysql)и там даем команды:
cd ./mysql
  mysql -u root -p < sams_db.sql
  mysql -u root -p < squid_db.sql

6) Правим конфик sams
Имя пользователя и пароль необходимо прописать в конфигурационном файле самса (/etc/sams.conf)
MYSQLUSER=sams – имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd – пароль пользователя в MySQL

7. Перезагружаем сервер
или sudo /etc/init.d/samsd restart

8. Настройка SAMS:

  • Теперь web-интерфейс SAMS доступен по адресу  http://localhost/sams/
  • Для доступа к web-интерфейсу используйте следующие логин/пароль: admin/qwerty
  • Т.к. пароль администратора и аудитора установлен по умолчанию - рекомендуется сразу сменить его через web-интерфейс
  • После этого необходимо настроить параметры работы samsdaemon: тип авторизации пользователей, частота парсинга логов и реконфигурации squid, и прочее
  • После этого можно создавать пользователей и запускать samsd
9. По завершению настроек не забываем запустить реконфигурацию SQUID’а.

10. Примечание.
В моем случае возникла интересная ситуация, пока что до конца не разобрался, т.к. не освоил PHP. Суть в следующем: после установки samsa web-интерфейс доступен по соответствующему адресу, но не отображаются 2 раздела - "Настройки WEB интерфейса" и "Администрирование SAMS".
Анализ /var/log/apache2/error.log показал на Fatal Error при выполнении функции GetHostName() в файлах /usr/local/share/sams/src/configtray.php и /usr/local/share/sams/src/webconfigtray.php.
Заремарил функции в этих файлах - все заработало. На данный момент более грамотного решения не искал

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

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