Установка SAMS на Debian 4.0
Основные пакеты:
| Компонент | Программа | Версия | Пакеты для установки |
| Web-сервер | Apache | 2.2.3 | apache2, 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.
- включаем режим safe mode. Для этого выставляем параметр safe_mode
safe_mode = On
- SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. Php позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir. Изменяем этот параметр:
safe_mode_exec_dir = "/usr/local/share/sams/bin"
- Далее разрешаем исполнение системных скриптов из кода php. Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec:
disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"
- Все. PHP готов к работе.
Настройка SAMS:
- Теперь web-интерфейс SAMS доступен по адресу http://localhost/sams/
- Для доступа к web-интерфейсу используйте следующие логин/пароль: admin/qwerty
- Т.к. пароль администратора и аудитора установлен по умолчанию - рекомендуется сразу сменить его через web-интерфейс
- После этого необходимо настроить параметры работы samsdaemon: тип авторизации пользователей, частота парсинга логов и реконфигурации squid, и прочее
- После этого можно создавать пользователей и запускать samsd
