## Инсталляция SAMS

1. Разархивируйте этот архив:

tar zxf sams-xxxxxx.tar.gz

будет создан каталог, в котором будет размещено содержимое архива.

2. Переместитесь в него
сd sams-xxxxxx

3. Собрать и установить SAMS можно используя скрипт установки setup.sh или традиционным способом: configure, make, make install

Инсталляции SAMS, используя скрипт установки setup.sh

Скрипт sams.sh требует наличия в системе утилиты dialog - средства создания интерфейса пользователя в shell.

Скрипт sams.sh позволяет сконфигурировать и установить SAMS, а также создать пользователя и базы SAMS в MySQL.

Запустите скрипт sams.sh
- Выберите пункт "Run the new installation of the SAMS"
- Последовательно выполните пункты открывшегося меню:
configure - установка опций и выполнение configure
make - компиляция sams
make install - установка sams
mysql - создание пользователя и баз SAMS в MySQL

Инсталляции SAMS, используя configure, make, make install

Для настройки конфигурации воспользуйтесь командой
% ./confugure

По путь по-умолчанию SASM находится /usr/local.
Если вы захотите изменить путь:
к расположению программ и путь к расположению библиотек и файлов заголовков MySQL
к каталогу расположения root директории http сервера (если путь к нему отличается от /var/www/html или /var/www/htdocs
к каталогу расположения php
для получения списка опций настройки наберите:
% ./confugure --help

4. По завершении работы команды configure откомпилируйте дистрибутив и инсталлируйте его.

Linux
% make
% make install

FreeBSD
% gmake
% gmake install

5. Создание пользователя MySQL
Создайте в MySQL пользователя, от имени которого будет работать SAMS. По умолчанию это пользователь sams. Измените пользователя и пароль доступа к базе в файле /etc/sams.conf

например:
MYSQLHOSTNAME=localhost
MYSQLUSER=sams
MYSQLPASSWORD=sams_password
Измените в файле конфигурации путь к файлу access.log squid.
например:
SQUIDLOGDIR=/var/log/squid
SQUIDCACHEFILE=access.log

6.Расположение файлов SAMS
По окончании инсталляции файлы SAMS будут проинсталлированы:
/etc:
sams.conf - файл конфигурации SAMS

/usr/local/sams:
файлы:
sams - анализатор логов squid
samsf - демон, создающий fifo файл, в который squid записывает логи.
samsdaemon - демон, отвечающий за переконфигурацию squid и автоматический запуск sams и samsf

/usr/local/share/sams:
файлы WEB-интерфейса sams

7.Создание баз SAMS в MySQL
Перейдите в каталог /usr/src/sams-XXXXXX/mysql

8. Запустите скрипты create_sams_db и create_squid_db. В результате их исполнения будут созданы базы MySQL, необходимые для работы SAMS.

9.Создание каталога SAMS http сервера
В результате инсталляции должен быть создан симлинк из root каталога http сервера на каталог web-интерфейса SAMS. Если он не создан, создайте симлинк из каталога вашего web-сервера на каталог /usr/local/share/sams
ln -s /usr/local/share/sams /our/path/www/htdocd/sams.

10. Измените владельца каталога /usr/local/share/sams на пользователя, от имени которого работает ваш web сервер.

например:
chown -R apache:apache /usr/local/share/sams

11. Смените права доступа на католог /usr/local/share/sams/data на 777.

12. Настройка NTLM авторизации
Если планируется использовать NTLM авторизацию в домене Windows NT 4.0, настройте winbind , а также squid на работу с winbind-авторизацией.
Если планируется использовать NTLM авторизацию в домене Windows 2000/2003, настройте winbind , а также squid на работу с winbind-авторизацией.

13. Если планируется использовать авторизацию в Active Directory, настройте squid на работу с авторизацией в AD.

14. Настройка чтения логов SQUID
Чтение логов SQUID и занесение данных в базу данных SAMS может производиться двумя способами:

14.1 - /usr/local/bin/sams - запускается периодически и считывает информацию из файла access.log. Необходимо осуществлять запуск этой программы с периодичностью 1 раз в минуту.

Запуск программы sams может быть произведено samdaemon автоматически (см. настройку) или из cron
Для запуска ис cron создайте демону cron задание:
*/1 * * * * /usr/local/bin/sams

14.2 - /usr/local/bin/samsf - после запуска остается в памяти демоном, устанавливает fifo файл access.log и squid заносит логи напрямую в sams. samsf может быть произведен samdaemon автоматически (см. настройку) или из скрипта при загрузке ОС.

Какой способ чтения логов выбрать? Оба способа имеют свои достоинства и недостатки:

sams:
+ При крахе базы данных они могут быть восстановлены из файлов логов squid (access.log)
- Пересчет трафика и отключение пользователей происходит с запозданием.

samsf:
+ Пересчет трафика и отключение пользователей происходит сразу, как данные об этом поступят от SQUID
- Так как SQUID пишет логи непосредственно в samsf, при крахе базы данных данные о трафике пользователей могут быть потеряны. Не забывайте делать backup базам sams

15. Очистка счетчиков трафика пользователей
SAMS ведет учет объема информации, полученной пользователями. По превышении объема информации, пользователь отключается от доступа к прокси-серверу.

Необходимо настроить очистку счетчика пользователя 1 числа каждого месяца. Это может быть произведено samdaemon автоматически (см. настройку)

или создайте демону cron задание:
0 0 1 * * /usr/local/sams/bin/sams -c

16. Настройка запуска samsdaemon
Настройте систему на автоматический запуск демона
/usr/local/bin/samsdaemon, необходимого для работы SASM.

Для RedHat-based дистрибутивов:
Установите автоматический запуск /etc/init.d/samsd

Для Slackware:
В файл /etc/rc.d/rc.local добавьте строку:
/usr/local/bin/samsdaemon

17. Дополнительно:

Незабудьте раскомментировать в php.ini вызов библиотеки mysql.so

Создайте каталог /tmp/sams. В него SAMS будет складывать временные файлы и смените права доступа на католог /tmp/sams на 777.
mkdir /tmp/sams
chmod 777 /tmp/sams