Установка SAMS на Debian 4.0

Основные пакеты:

Компонент ПрограммаВерсияПакеты для установки
Web-сервер Apache 2.2.3apache2, apache2-mpm-prefork
PHP PHP 5.2 libapache2-mod-php5, php5-cgi, php5-common, php5-mysql, php5-gd
БД MySQL 5.0.30 mysql-server, mysql-client, libmysqlclient15off
Прокси-сервер Squid 2.6.5 squid
Библиотеки pcre 6.7 libpcre3
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:

  ./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

Создание БД:
Для работы 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 и там даем команды:

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

Настройка Apache:

  • На виртуальном общем домене: Вы можете настроить apache чтобы он обеспечивал доступ к web-интерфейсу SAMS на одном из существующих доменов. В данном примере у нас один-единственный сайт 000-default. Для доступа к sams нам необходимо добавить Alias /sams/ "/var/www/sams/" в описание виртуального хоста.
  • На виртуальном собственном домене:

Настройка PHP:
С текущей версии SAMS научился работать с PHP в режиме safe_mode=On. Но это требует дополнительной настройки конфигурации. Для этого редактируем файл конфигурации php /etc/php5/apache2/php.ini.

  1. включаем режим safe mode. Для этого выставляем параметр safe_mode
      safe_mode = On
    
  2. SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. 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"
    
  4. Все. PHP готов к работе.

Настройка SAMS:

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