В данной статье я попытаюсь рассказать как устанавливать traffpro, и о минимальных настройках. Для начало нам нужно скачать наш пакет, для этого выполним wget.
wget http://traffpro.ru/engine/download.php?id=100 -o traffpro.1.1.4-02.tar.gz
После чего распакуем
tar -zxvf traffpro.1.1.4-02.tar.gz -C /tmp
После перейдем в каталог, куда распаковали.
cd /tmp/install/
В нем должно быть следующее:
-rwxrwxrwx 1 vsinyaev vsinyaev 11436 Сен 23 10:44 fcfg.save
drwxr-xr-x 12 vsinyaev vsinyaev 4096 Окт 17 22:21 install
-rwxrwxrwx 1 vsinyaev vsinyaev 10460 Окт 17 22:03 install.sh
Дальше нам нужно проверить, чтобы в нашей системе были установлены нужные пакеты.
Нам понадобятся:
rpm -qa httpd mysql-devel iptables-devel gcc php php-mysql mysql-server
Если чего то не хватает устанавливаем
yum install .....
Перед началом установки, выключите
selinuxДля этого, откройте
vi /etc/selinux/config
И приведите конфиг вот к такому виду.
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
Запустим скрипт инсталляции системы.
./install.sh
Первый вопрос, который будет это
Старт установки системы TRAFFPRO
Внимание!!! Не запускайте скрипт установки из путей с РУССКИМИ буквами!!!
Укажите Ваш дистрибутив Linux
0 - Red Hat и ему подобные Fedora, CentOS и так далее
1 - Debian, Ubuntu
2 - SUSE
Вам нужно выбрать какой у вас дистрибутив.
Второй вопрос:
Собирать демона контроля (y) или использовать уже собранный (n)
В случае сборки необходимя пакеты mysql-devel и iptables-devel
Я рекомендую собирать, но для этого нужно установить большее количество программ. Наберитесь терпения и до установите не достающие.
Если видим эту строку, то сборка прошла успешно.
Finished building target: billing
На следующий вопрос, отвечаем
даПродолжить установку? y/n
Следующий вопрос, предлагается собрать демон timer отвечаем да, он может вам пригодится.
Собирать демона таймера (y) или использовать уже собранный (n)
В случае сборки необходимя пакеты mysql-devel
Если увидили, следующие сообщение значит все ок.
Finished building target: timer
Нас спросят еще раз, продолжить установку нажимаем
да.Следующий пункт.
Создание каталогов для резервного копирования /var/traffpro_back
Каталог конфигурации /etc/traffpro/ Не Существует, Создаём!
Проверка на запущенную систему traffpro
Обновляем систему? y - да, n - нет перестановка существующей
Внимание при перестановке база не удаляется а просто обновляется!!
Если обновляем, то нажимаем
y, если первый раз ставим то
n. Так я ставлю первый раз жму
nЕще один вопрос, кон фигурируем систему или нет. Я нажал, да. Это позволит сразу задать нужные параметры для конфигурационного файла /etc/traffpro/traffpro.cfg
Конфигурируем систему? y - да, n - оставить настройки по умолчанию
На вопрос ввести путь установки, рекомендую оставить по умолчанию
# Введите путь установки системы:
# умолчанию /opt/traffpro
На вопрос как должна запускатся система traffpro, я советую оставить по умолчанию. Нажмите просто
Enter# Введите:
# определение в каком режиме будет запущено приложение
# Запустить в режиме демона (фоновой службы) y/n по умолчанию в режиме демона
На вопрос, с просьбой ввести адрес сервера mysql можете указать localhost или нажать
Enter# Введите адрес базы данных (по умолчанию введите localhost)
На вопрос, введите имя пользователя введите нужное имя. Учтите что данного пользователя нужно заранее создать и указать пароль. В конце статьи я расскажу как это сделать, пока оставьте
root#Введите имя пользователя базы данных mysql
# под чьими правами будет подключатся система к mysql (по умолчанию введите root)
На вопрос, введите пароль. Укажите нужный пароль. Учтите, что по умолчанию пароль для root к серверу mysql такой же как и системный, если вы его сменили то укажите его.
# Введите пароль пользователя mysql
На вопрос, ввести имя базы данных mysql просьба ввести желаемое имя базы. Я рекомендую не менять, дабы избежать лишних вопросов в работе системы, т.к. смена может повести к возникновению лишних проблем.
# Введите имя базы данных к которой подключается система, по умолчанию office
На вопрос о способе обновления базы данных лучше ответить, просто нажатием
Enter# Тип обновления базы данных в командном или файловом режиме command/file , используйте для обновления больших баз file!!! Default command
На следующий вопрос, ответ просто указав нужное время в секундах или нажмите
Enter# Введите время ожидания перед получением данных из базы данных в секундах (оптипальное значение 10)
Следующий вопрос, это вопрос касательно как часто демон traffpro будет отправлять данные в mysql. Рекомендованно, вести число не меньше 180 секунд или нажмите
Enter# Введите время ожидания перед отправкой данных в базу данных в секундах (оптипальное значение 180)
На вопрос о контроле mac адресов лучше ответить
y, так как это усложнить возможность подмены ip. А то есть ушлые пользователи.
Как определить mac-адрес с сервера, это
nmap или еще проще
arp. Я ответил
y.
# Контролировать MAC адреса для клиентов y/n По умолчанию отключено
На этот, вопрос отвечаем указав
0 или жмем
Enter# номер шлюза сети, применяется при распределённом
# учёте трафика, при единственном шлюзе устанавливается в ноль 0
На вопрос о включении, детализации по портам я ответил да. Выберете нужное.
# Включить детализацию по портам y/n по умолчанию включено
На вопрос, о включении защиты сервера лучше ответить нет, а включить ее после проверки работы системы.
# Включение защиты, сервера и учета трафика самого сервера. y/n по умолчанию отключено
На вопрос о выборе сетевого интерфейса, укажите нужный вам интерфейс смотрящий в сторону инета.
# Указываем карточку с внешним интерфесом. возможные варианты eth0 eth1 ppp1
# либо другие сетевые интерфейсы, по умолчанию eth0
На вопрос, по детализации посещений. Я выбрал да, меня интересует кто какие страницы посещает, и те что посещаются очень часто и не по работе я баню посредством squidGuard
# Включить детелизацию по посещению www страниц. y/n , по умолчанию выключено
На вопрос Внешний IP адрес, лучше указать адрес так как NAT быстрее и лучше чем MASQUERADE, особенно при большом количестве клиентов.
# Внешний IP адрес - Если параметр указан то поднимается NAT а если не указан то MASQUERADE
На вопрос об адресе для прослушки монитора коллектора, укажите тот по которому вы будите слушать монитор.
# Адрес прослушивания для монитора, если не указывать параметр то по умолчанию 127.0.0.1
Вопрос, о порте для прослушивания монитора, можно оставить по умолчанию и сменить только в случаи, если какой то другой сервис использует данный порт.
# Порт прослушивания для монитора (если не указывать параметр то по умолчанию 9999)
На вопрос, о размере очереди ответе по умолчанию.
# Размер очереди пакетов в вашей OS, По умолчанию 2048
На вопрос, введите имя администратора введите интересующие вас логин администратора.
#Введите имя Администратора для WIN и WEB административных консолей
#По умолчанию - admin
На вопрос, о пароле введите нужный вам пароль.
# Введите пароль Администратора WIN и WEB административных консолей
На вопрос, о включении проброса портов можно ответить
n,эти данные можно внести потом в ручную.
Включить проброс портов во внутренюю сеть? y/n, по умолчанию нет
На вопрос, связанный настройкой traffpro и прозрачный squid, я ответил нет. Так как, для этого нужно настроить сквид. Лучше это делать на рабочей системе, и для начала просто проверить работу сквида.
# Настроить Traffpro на прозрачный SQUID? y/n По умолчанию нет
На вопрос об использовании парсера логов squid для traffpro, отказался. Это тоже можно настроить потом.
Использовать встроенный парсер SQUID
y/n по умолчанию нет
На этот вопрос, об использовании автоматической загрузки планировщика, я ответил нет, т.к. использую cron
# Запускать автоматически планировщик заданий? y/n по умолчанию нет
На вопрос о включении модулей iptables. которые позволят нормально работать FTP я ответил да.
# Включить модули для корректной работы FTP? y/n по умолчанию нет
После этого вопроса пойдет процесс установки системы траффпро, будет скопированы файлы и создана база данных.
Последний вопрос, о котором нас спросят, \"добавить адмнистратора в базу\"?
Добавить администратора в базу данных y / n ???
После чего в терминале вы должны увидить следующее.
End Install or Update DATABASE!
Добавить администратора в базу данных y / n ???
y
End Installation Base
По умолчанию вы можете получить доступ к вашей WEB админке ВАШ_СЕРВЕР/oc-admin
По умолчанию вы можете получить доступ к вашму информеру ВАШ_СЕРВЕР/oc-clients
По умолчанию вы можете получить доступ к вашей тестовой WEB админке ВАШ_СЕРВЕР/tp-admin
Это сообщение говорит о том, что уставнока прошла успешно. Теперь можно и проверить наличие путей в нужной директории.
После установки в каталоге
/opt/ появится каталог
/traffpro/ в этом каталоге находятся скрипты, демон траффпро, web админка и клиенты.
В
/etc/ будет создан каталог
/traffpro/, а в нем конфигурационные файлы.
Проверьте на наличие, для этого выполните команду
ls -l /etc/traffpro/-rw-r--r-- 1 root root 339 Окт 26 12:28 traffpro.cfg
-rw------- 1 root root 632 Окт 26 12:28 traffpro_rule.cfg
Перед запуском системы проверьте, ваш конфигурационный файл.
Выполните команду
cat /etc/traffpro/traffpro.cfgto_install_dir="/opt/traffpro"
daemon=true
db_url=localhost
db_usr=root
db_passwd=
db_name=administra
time_in=10
time_out=180
control_eth_addr=true
net_number=0
ports_detail=true
ss_enabled=false
eth_out=eth0
url_detail=true
out_ip=192.168.2.230
listen_addr=127.0.0.1
listen_port=9999
ip_queue_maxlen=2048
squid_connect=false
timer=false
Вот тут вы можете прочесть описание конфигурационного файлаТакже проверьте наличие в автозагрузке сервера Mysql, для этого выполните команду
chkconfig --listИ если сервер находится не в автозугрузке, то выполните команду
chkconfig --levels 2345 mysqld onПосле чего переходим к созданию пользователя, это можно сделать через web или win админку или воспользоватся скриптом находящимся в
/opt/traffpro/client/bin/ скриппт
client_newИли воспользуйтесь web админкой
Вот основное окно входа в новую админку.
[attachment=95]
Вот я создал нового пользователя. Тут я привожу скрин, с рабочего сервера. Этот сервер обслуживает, около 70 клиентов.
[attachment=96]
После чего переходим к настройкам клиента, укажим сетевой адрес и шлюзом будет наш сервер 192.168.2.230
Вот как выглядят настройки у клиента.
[attachment=97]
Обратите внимание, так как я не конфигурировал свой dns сервер, то я указываю dns провайдера. А то значит, что клиентам нужно открыть 53 порт.
После создания хотя бы одного пользователя, можно пробовать стартовать систему.
Для этого, выполните следующую команду
service traffpro startПроверем запущен traffpro или нет, для этого выполним команду
ps x | grep traffpro | grep -v \"grep\"Должны увидеть что типа этого:
2621 ? Ssl 1:34 /opt/traffpro/billing-daemon/bin/billing daemon=true
Для того чтобы вочпользоватся web админкой, нужно запустить apache.
Сделать это можно так:
service httpd startПравда нужно сконфигурировать, httpd перед этим.
Все, на этом устанвока закончина. Данная статья не понацея, поэтому использовать ее как библию по установке не стоит. Это просто пример, при которых нормально работает система Траффпро.
Создание нового поьзователя для подключения к БД Траффпро, использование root крайне не желательно.
Для создания пользователя mysql новичкам, лучше использовать графические менеджеры, из очень много:
Mysql-Administrator
Webmin
phpMyAdminЯ советую использовать Webmin, так как он самый удобный и позволяет настроить безопасность. Заходим в webmin
[attachment=98]
Находим
[attachment=99]
Дальше я создал пользователя, с такими правами. Оставил ему, любой хост, но на уровне Traffpro закрыл порт 3306.
[
attachment=100]
[attachment=101]
После чего сменил пользователя в конфигурационном файле [b]traffpro.cfg Также я добавил правила iptables, это позволяет контролировать сервер дополнительно.
iptables -A INPUT -p tcp -i eth0 -s ! 89.109.223.95 -d мой_сервер --dport 3306 -j DROP
iptables -A OUTPUT -p tcp -o eth0 -s мой_сервер --sport 3306 -d ! 89.109.223.95 -j DROP
Установка Traffpro на Ubuntu практически не чем не отличается, есть ряд моментов, на которые нужно обратить внимание.1. Для установки программ использовать
apt-get install ....2. Информацию об установленном ПО, можно получить
dpkg --get-selections mysql*Вот не полный перечень, того что мне пришлось до установить на Ubuntu 8.04 Desktop Edition другого подрукой не оказалось, это без учета зависимостей.
dpkg --get-selections mysql* php* apache* gcc* g++* iptables* libmysql*
mysql-client-5.0 install
mysql-common install
mysql-server install
mysql-server-5.0 install
php5 install
php5-common install
php5-mysql install
apache2 install
apache2-mpm-prefork install
apache2-utils install
apache2.2-common install
gcc install
gcc-3.4 install
gcc-3.4-base install
gcc-4.2 install
gcc-4.2-base install
g++ install
g++-3.4 install
g++-4.2 install
iptables install
iptables-dev install
libmysql++-dev install
libmysql++2c2a install
libmysql5.0-cil install
libmysqlclient15-dev install
libmysqlclient15off install
3. Все действия нужно производить с заданием параметра
sudo.
Например
sudo ./install.sh4. Пароль для пользователя root в ubuntu нужно указывать обязательно, так как без этого не будет создана база.
5. Запуск системы осуществляется так,
sudo /etc/init.d/traffpro start6. Добавление пользователя, я сделал так.
sudo ./client_new7. Находим и меняем в /etc/init.d/traffpro
Находим.
ps ax | grep billing | grep -v grep | cut -f1 -d ' ' > /var/run/traffpro.pid
echo > /var/lock/subsys/traffpro
Меняем на
ps ax | grep billing | grep -v grep | cut -f2 -d ' ' > /var/run/traffpro.pid
if [ ! -e /var/lock/subsys ];
then
mkdir -p /var/lock/subsys
fi
echo > /var/lock/subsys/TraffPro
Спасибо за инфу
aramisВ дополнение, отличия в командах
Установка программ:
apt-get install - установка
apt-get remove или apt-get autoremove - удаление
aptitude install - аналог apt-get только с большим функционалом.
Запуск и остановка служб.
sudo /etc/init.d/traffpro (start, restart, stop, status)или
service traffpro (start, restart, stop, status) работает только от рута, sudo тут не прокатывает.
Добавление сервисов в автозагрузку и удаление возможно как через стандартные команды убунту, так и через
chkconfig, но для этого его нужно до установить.
Продолжение относительно настроек apache2 будет скоро.
Если есть предложения или замечания просьба пишите в этой теме, администраторы добавят в первое сообщение.
Возможные проблемы.1. Если при сборке вы видите, что не хватает
libipq.h, вы не установили iptables-devel. Решение, установить.
2. Если при установки не создался администратор, и вы не можите войти в web админку, то не поникуйте. Зайдите в каталог
/opt/traffpro/client/bin/ и запустить там скрипт
./add_new_admin скриптПолезно прочесть,
FAQ по Fedora