Это устаревшая инструкция. Сentos 6 не поддерживается с 01.07.2020.
Cписок поддерживаемых ОС и инструкций по установке смотрите по ссылке.
Для обеспечения функционирования АСР в штатном режиме (с использованием всех функций, предоставляемых ПО) необходима установка и настройка следующих программных компонентов:
Компоненты АСР:
Компоненты OC:
СУБД MySQL:
Веб-сервер (apache) с поддержкой версии PHP в зависимости от номера сборки:
Python 2.6.x или 2.7.x.
Библиотеки PHP:
Перед началом установки должны быть открыты следующие сетевые порты 80 (443), 1502 (1503), 3306, 34012, 34100 и порты, указанные в файлах конфигурации агентов АСР, а также в настройках агентов АСР в веб-интерфейсе.
Если ОС 64-разрядная, то необходимо отключить репозитарий 32-битных пакетов командой:
echo "exclude=*.i386 *.i686" /etc/yum.conf
Отключаем SELinux, определив в /etc/selinux/config директиву SELINUX=disabled и перезагружаем сервер.
Устанавливаем MySQL сервер.
wget http://repo.mysql.com/mysql-community-release-el6.rpm
rpm -ivh mysql-community-release-el6.rpm
yum install mysql-server
mysql_install_db
Определяем пароль root пользователя:
mysqladmin -u root password 'ваш_пароль_для_root_пользователя_mysql'
Начиная с версии MySQL 5.5 поддержка InnoDB включена по умолчанию.
Конфигурационный файл расположен в /etc/my.cnf.
В разделе клиента определяем следующие опции:
[client]
default-character-set = utf8
character-sets-dir = /usr/share/mysql/charsets
В разделе сервера добавляем следующие опции:
[mysqld]
character-set-server = utf8
character-sets-dir = /usr/share/mysql/charsets
skip-character-set-client-handshake
skip-name-resolve
innodb_file_per_table=ON
sql_mode = 'NO_AUTO_VALUE_ON_ZERO,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION,STRICT_ALL_TABLES'
innodb_stats_on_metadata = 0
group_concat_max_len = 1000000000
enforce_gtid_consistency = OFF
Для корректной работы c СУБД MySQL версии 5.7 в конфигурационном файле требуется добавить опции:
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
validate_password = OFF
Дополнительно необходимо открыть доступ MySQL-серверу к соответствующим библиотекам.
chown -R mysql:mysql /var/lib/mysql/
Если после установки БД и изменения конфигурационного файла my.cnf она не запускается, и в логе ошибок вы видите записи типа:
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
Это означает, что некоторые настройки innodb, могут быть произведены только до первоначального запуска системы. В этом случае вам необходимо удалить следующие файлы:
rm -rf /var/lib/mysql/*-bin.*
rm -rf /var/lib/mysql/ib_logfile*
rm -f /var/lib/mysql/ibdata1
После этого необходимо запустить БД заново, воспользовавшись скриптом запуска, в результате чего структура БД будет вновь создана с новыми параметрами. Для автоматического запуска mysql выполняем команду:
chkconfig --level 2345 mysqld on
Для корректной работы веб-интерфейса системы необходимо установить и настроить пакеты:
Проверяем какие пакеты php установлены:
yum list installed | grep php
Если пакеты установлены, удаляем их, к примеру так:
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64
Подключаем дополнительные репозитории:
yum install epel-release
rpm -Uvh http://mirror.вебtatic.com/yum/el6/latest.rpm
Устанавливаем следующие пакеты:
yum install httpd php56w php56w-soap libtiff libpng php56w-gd php56w-mysql php56w-mbstring php56w-xml php56w-bcmath php56w-mcrypt php-gmp
Для формирования отчетов в формате pdf потребуется так же установка ghostscript:
yum install ghostscript
В CentOS закомментируйте welcome-страницу (/etc/httpd/conf.d/welcome.conf) и отредактируйте основной конфигурационный файл apache2 в CentOS - /etc/httpd/conf/httpd.conf:
Для автоматического запуска веб-сервера при загрузке системы необходимо выполнить команду:
chkconfig --level 2345 httpd on
Настройка HTTPS опциональна, шаг можно пропустить. Для повышения безопасности при работе с веб-интерфейсом LANBilling допускается вместо открытого протокола http использовать соединение по шифрованному каналу (SSL) посредством протокола https. Поддержка ssl в apache обеспечивается модулем mod_ssl.so, поставляемым вместе с основным пакетом. Для включения данного модуля в CentOS раскомментируйте строку LoadModule ssl_module modules/mod_ssl.so в файле /etc/httpd/conf.d/ssl.conf. После подключения модуля потребуется перезагрузка apache. Для манипуляции с сертификатами необходимо установить пакет openssl.
yum install openssl mod_ssl
Для конфигурации apache по протоколу https в CentOS необходимо в файле конфигурации /etc/httpd/conf.d/ssl.conf в разделе
Завершить настройку и перезапустить веб-сервер необходимо с помощью команд:
a2enmod ssl
a2ensite default-ssl
apachectl restart
Для корректной работы веб-интерфейса рекомендуется установить следующие параметры в файле php.ini (/etc/php.ini):
date.timezone = Europe/Moscow
Данный параметр задается в соответствии с локальным часовым поясом.
max_execution_time = 3600
default_socket_timeout = 3600
memory_limit = 1024M
max_input_vars = 2500
session.gc_probability = 0
После всех изменений перезапустите apache2.
service httpd restart
Для установки пакетов python-simplejson необходимо воспользоваться командой:
yum install -y python-simplejson
В процессе эксплуатации может возникнуть ситуация когда, например, модуль ядра АСР совершает попытку дважды подключиться к одному и тому же порту. В результате все процессы будут блокированы.
Во избежание данной проблемы рекомендуется ограничить диапазон выдаваемых портов. Для этого необходимо добавить в конфигурационный файл /etc/sysctl.conf строку:
net.ipv4.ip_local_port_range = 35000 60999
Для того чтобы применить ограничение портов на исходящие соединения без перезагрузки ОС, можно дополнительно к изменениям конфигурационного файла воспользоваться командой:
sysctl net.ipv4.ip_local_port_range='35000 60999'
Скачать пакеты модулей и ядра АСР можно двумя способами:
Для работы с репозиториями требуется утилита yum-utils. Установить утилиту можно с помощью команды:
yum install yum-utils
Ссылки на репозитории индивидуальны для каждого обладателя лицензии на LANBilling и доступны в личном кабинете.
Подключение репозиториев происходит командами следующего вида:
yum-config-manager --add-repo <url-ссылка на репозиторий>
Репозитории “release builds” содержат релизные сборки ядра и агентов АСР. “hotfix builds” – еженедельные “пятничные” сборки.
Для того чтобы скачать установочные пакеты интересующих модулей без подключения репозиториев, необходимо перейти на вкладку “Загрузки” и выбрать версию АСР.
Дистрибутив LANBilling для операционных систем семейства CentOS распространяется в виде готовых пакетов для пакетных менеджеров.
Все пакеты LANBilling определены по одному и тому же правилу, разберем на примере пакета ядра для CentOS:
LBcore-2.0base-006-CentOS6_x86_64-20130521.rpm, где:
Начиная со сборки 018 изменился порядок именования дистрибутивов LANBilling 2.0:
lbcore-2.0.18.0-1.el5.x86_64.rpm - пример пакета ядра АСР (релиз), где:
lbcore-2.0.18.0-2.20150903git2c17585e.el6.x86_64.rpm - пример пакета ядра АСР (hotfix), где:
Установка пакетов выполняется следующим образом:
rpm -ivh LB*.rpm или rpm -ivh lb*.rpm
В результате установки данных пакетов все запускаемые и сопутствующие файлы будут находиться в:
/usr/local/billing/
/etc/billing.conf*
/etc/init.d/LB*
После установки LBcore необходимо скопировать каталог веб-интерфейса в соответствии с конфигурацией apache:
cp -rp /usr/local/billing/phpclient/admin /var/www/html/
Для удобства можно просто создать символьную ссылку на директорию, в таком случае копировать интерфейс при установке или обновлениях не нужно:
ln -s /usr/local/billing/phpclient/admin /var/www/html/admin
Административный интерфейс 3.0 может быть использован как отдельно, так и совместно с прошлой версией интерфейса.
Для работы интерфейса с PHP младше 5.6 необходимо установить пакет php-gmp:
yum install php-gmp
Для работы административного интерфейса 3.1 версия PHP должна быть не ниже 5.6
В релизе 3.0.9 были добавлены новые зависимости системного окружения. Поэтому дополнительно необходимо установить пакеты php-curl и php-mcrypt:
yum install php56w-mcrypt
Для использования интерфейса необходимы две библиотеки : lbweb-common и lbweb-admin. Установка пакетов возможна при помощи команд, где X.Y.Z-Z — версия релиза:
rpm -ivh lbweb-common_X.Y.Z-Z.el7.centos.noarch.rpm
rpm -ivh lbweb-admin_X.Y.Z-Z.el7.centos.noarch.rpm
Если IP-адрес и порт сервера, на котором установлена LANBilling, отличны от 127.0.0.1:1502, тогда необходимо выполнить следующие действия.
В директории /etc/lanbilling/phpclient/admin необходимо переименовать admin.ini.sample в admin.ini и отредактировать этот файл в соответствие с настройками АСР. Параметры “host” и “port” — IP-адрес и порт сервера АСР, соответственно.
cp /etc/lanbilling/phpclient/admin/admin.ini.sample /etc/lanbilling/phpclient/admin/admin.ini
``
Применить настройки конфигурационного файла командой:
/usr/local/sbin/lbwebcfg -y admin /etc/lanbilling/phpclient/admin
``
Настройка веб-сервера Apache:
cp /etc/lanbilling/phpclient/apache2/lbweb-admin.apache2.sample /etc/httpd/conf.d/lbweb-admin.conf
Для применения настроек перезапустить веб-сервер.
apachectl restart
Интерфейс доступен по адресу: http://{URL}/lbweb-admin/.
Клиентский кабинет 3.0 может быть использован как отдельно, так и совместно с версией 2.0.
Для работы клиентского кабинета 3.0 с PHP младше чем 5.6 необходимы дополнительные пакеты.
yum install php-curl php-mcrypt
Для работы клиентского кабинета 3.1 версия PHP должна быть не ниже 5.6
Для использования клиентского кабинете необходимы две библиотеки : lbweb-common и lbweb-client. Установка пакетов возможна при помощи команд, где X.Y.Z-Z — версия релиза:
rpm -ivh lbweb-common_X.Y.Z-Z.el7.centos.noarch.rpm
rpm -ivh lbweb-client_X.Y.Z-Z.el7.centos.noarch.rpm
Настройка веб-сервера Apache:
cp /etc/lanbilling/phpclient/apache2/lbweb-client.apache2.sample /etc/httpd/conf.d/lbweb-client.conf
Для применения настроек перезапустить веб-сервер.
apachectl restart
Интерфейс доступен по адресу: http://{URL}/lbweb-client/.
Этот клиентский кабинет не является актуальным, рекомендуем импользовать личный кабинет пользователя 3.0
Для работы личного кабинета необходимо скопировать каталог client2 в соответствии с конфигурацией apache:
cp -r /usr/local/billing/phpclient/client2 /var/www/html/
Или создать символьную ссылку на директорию, в таком случае копировать интерфейс при установке или обновлениях не нужно:
ln -s /usr/local/billing/phpclient/client2 /var/www/html/client
Необходимо дать права на запись для пользователя под которым запущен apache директориям:
client2/client/runtime
client2/client/public/assets
Далее, необходимо указать в файле /etc/httpd/conf/httpd.conf для подключения папки в defaultHost через алиас (для apache) следующее:
Apache 2.2
Alias /client/ /var/www/html/client/client/public/
<Directory /var/www/html/client/client/public/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
Apache 2.4
Alias /client/ /usr/local/billing/phpclient/client2/client/public/
<Directory /usr/local/billing/phpclient/client2/client/public/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
После этого следует перезапустить httpd.
Личный кабинет будет доступен по ссылке http://SERVER_IP_ADDR/client.
Каждый компонент LANBilling имеет свой конфигурационный файл. Для ядра системы это /etc/billing.conf, для всех сетевых клиентов это файлы /etc/billing.conf.Имя_Клиента, например для клиента RADIUS — /etc/billing.conf.LBarcd.
После установки пакетов необходимо развернуть базу данных.
Взаимодействие модулей LANBilling 2.0 происходит через базы данных. Всего существуют два режима работы:
Для настройки основной БД необходимо на сервере АСР:
Запусть MySQL с правами root-пользователя;
mysql -u root -p
``
Создать пустую базу данных billing (как пример) и пользователя с правами администратора;
CREATE DATABASE billing DEFAULT CHARSET utf8;
GRANT ALL ON billing.* TO 'billing'@'127.0.0.1' IDENTIFIED BY 'billing';
GRANT ALL ON billing.* TO 'billing'@'localhost' IDENTIFIED BY 'billing';
``
Применить скрипты для создания структуры БД billing;
mysql -u root -p -A billing < /usr/local/billing/mysql/create.sql
``
В конфигурационном файле /etc/billing.conf прописать доступ к созданной БД в формате mysql://db_login:db_pass@db_ip/db_name;
#Database address
database = mysql://billing:billing@127.0.0.1/billing
``
Расшифровка:
Для загрузки каталога телефонных кодов, если они необходимы, используется команда:
mysql -u root -p -A billing < /usr/local/billing/mysql/catalog.sql
Для того чтобы загрузить справочник КЛАДР необходимо воспользоваться командой:
mysql -u root -p -A billing < /usr/local/billing/mysql/claddr.sql
Кабельный агент может работать (хранить статистику) как в основной (main-режим) так и отдельной (safe-режим) базе данных.
При использовании отдельной БД необходимо:
Запусть MySQL с правами root-пользователя;
mysql -u root -p
``
Создать пустую базу данных billing_safe (как пример) и пользователя с правами администратора;
CREATE DATABASE billing_safe DEFAULT CHARSET utf8;
GRANT ALL ON billing_safe.* TO 'billing'@'127.0.0.1' IDENTIFIED BY 'billing';
GRANT ALL ON billing_safe.* TO 'billing'@'localhost' IDENTIFIED BY 'billing';
``
Применить скрипт для создания структуры БД billing_safe.
Для сборок 2.0.19 — 2.0.20
mysql -u root -p -A billing_safe < /usr/local/billing/mysql/lbucd_safe.sql
Для сборки 2.0.21
mysql -u root -p -A billing_safe < /usr/local/billing/mysql/lbucd/create.sql
В сборках LBucd 2.0.23 от 01.12.2017 и новее скрипты работы со структурой таблиц БД кабельного агента имеют префикс “ucd_”. Таким образом команда для формирования структуры БД будет иметь вид:
mysql -uroot -p billing_safe < /usr/local/billing/mysql/lbucd/ucd_create.sql
В конфигурационном файле /etc/billing.conf.LBucd прописать следующие параметры:
Доступ к созданной БД;
# Local DB access parameters
stat_database = mysql://billing:billing@127.0.0.1/stat_db
асшифровка:
billing и billing — реквизиты доступа созданного пользователя БД;
127.0.0.1 и stat_db — xoст сервера (например 127.0.0.1 или localhost), на котором создана БД и название БД billing_safe — соответственно.
Доступ к ядру АСР в формате login:pass@ip:port:
# Access to LBcore server
server = admin@127.0.0.1:1502
асшифровка:
login и pass — реквизиты доступа администратора АСР;
ip и port — IP-адрес и порт сервера, на котором установлена АСР.
Режим работы модуля LBucd;
# Agent mode
#main: detail statistics stored in main DB
#safe: detail statistics stored in local DB
type = safe
Идентификатор Netflow-агента из административного интерфейса.
# System id. (Must be unique)
sysid = 0
Пример настройки для работы в автономном (SAFE) режиме:
dbhost = 127.0.0.1
dbuser = billing
dbpass = billing
dbname = billing_safe
server = admin@10.140.10.250:1502
type = safe
sysid = 2
RADIUS-агент работает только с отдельной базой данных (safe-режим). Для настройки необходимо:
Запусть MySQL:
mysql -u root -p
``
Создать пустую базу данных radius (как пример) и пользователя с правами администратора:
CREATE DATABASE radius DEFAULT CHARSET utf8;
GRANT ALL ON radius.* TO 'billing'@'127.0.0.1' IDENTIFIED BY 'billing';
GRANT ALL ON radius.* TO 'billing'@'localhost' IDENTIFIED BY 'billing';
``
Применить скрипты для создания структуры БД radius:
mysql -u root -p radius < /usr/local/billing/mysql/lbarcd/create.sql
``
В сборках LBarcd 2.0.21.1-2.0.23 от 09.10.2017 скрипты работы со структурой таблиц БД RADIUS-агента имеют префикс “rad_”. Таким образом команда для формирования структуры БД будет иметь вид:
mysql -uroot -p radius < /usr/local/billing/mysql/lbarcd/rad_create.sql
``
В конфигурационном файле /etc/billing.conf.LBarcd прописать следующие параметры:
Доступ к созданной БД в формате mysql://db_login:db_pass@db_ip/db_name;
#Database address
database = mysql://billing:billing@127.0.0.1/radius
асшифровка:
db_login и db_pass — реквизиты доступа созданного пользователя БД;
db_ip и db_nam — IP-адрес сервера (например 127.0.0.1 или localhost), на котором создана БД и название БД RADIUS.
Доступ к ядру АСР в формате login:pass@ip:port;
# Access to LBcore server
server = admin@10.140.10.250:1502
асшифровка:
login и pass — реквизиты доступа администратора АСР;
ip и port — IP-адрес и порт сервера, на котором установлена АСР.
Идентификатор RADIUS-агента из административного интерфейса;
# Agent ID. (Must be unique)
sysid = 1
Пример настройки агента LBarcd для работы в автономном (SAFE) режиме.
database = mysql://billing:billing@127.0.0.1/radius
server = admin@10.140.10.250:1502
sysid = 1
RADIUS-агент может работать на том же сервере что и ядро АСР, либо отдельно — на другом сервере. После создания пустой БД для RADIUS-агента, при первом старте, происходит синхронизация структуры БД и необходимых данных из основной БД, с которой работает ядро АСР.
Версии СУБД (MySQL), на которых настраивются БД для АСР и RADIUS-агента должны совпадать.
В зависимости от объема данных синхронизация может занимать продолжительное время (до 20 мин). Об успешности синхронизации можно судить по логам (файл /usr/local/billing/lbarcd.log) работы агента в режиме debug.
Для настройки в конфигурационном файле /etc/billing.conf.LBarcd необходимо изменить параметр log_level»:
# Log verbosity level: error, warning, info, verbose, debug
log_level = debug
При успешном завершении синхронизации в логах будут сообщения вида “Synchronize with LBserver complete”.
Журналирование событий в режиме debug требует большого количества дискового пространства и рекомендуется только при возникновении ошибок.
Запуск всех модулей осуществляется путем старта соответствующих скриптов запуска.Запуск системы
service lbcore start
service lbarcd start
service lbucd start
После запуска этих компонентов, в списке процессов должны присутствовать все установленные модули. Проконтролировать это можно командой:
ps ax | grep LB
По каждому из агентов и серверу системы LANBilling ведется логирование, находящиеся по умолчанию в директории /usr/local/billing и имеющие одноименные названия с запускаемыми файлами.
На этом этапе установка серверной части системы завершена, и, если все сконфигурировано правильно, то, запустив браузер Firefox или Internet Explorer и набрав в адресной строке IP-адрес веб-сервера и затем через слеш admin (например, так: http://SERVER_IP_ADDR/admin, где SERVER_IP_ADDR — ip-адрес вашего сервера), в окне браузера отобразится окно авторизации к административному интерфейсу управления LANBilling. По умолчанию доступ осуществляется под логином: admin и не заданным паролем.
В случае успешной установки apache с SSL при наборе в браузере https://SERVER_IP_ADDR/admin появится окно с информацией о сертификате, после подтверждения, которого пользователем отобразится административный веб-интерфейс.
Важным условием запуска системы является тот факт, что на момент создания сетевых агентов должна быть осуществлена физическая связь между сетевыми агентами и центральным хранилищем. А также между php-интерфейсом, сервером LBcore и центральной базы данных. Сервер LBcore и веб-интерфейс должны быть установлены на одной машине.
По умолчанию, в /etc/billing.conf отключен запуск всех внешних скриптов. Для настройки запуска скриптов по событиям установки/снятия блокировки и др. необходимо раскомментировать соответствующую скрипту запись в billing.conf и поместить скрипт с указанным именем в /usr/local/billing. Примеры скриптов находятся в /usr/local/billing/scripts. При этом, в случае обновления АСР, обновляются скипты только в папке scripts, остальные скрипты, скопированные в /usr/local/billing, не меняются.
Мы преднамеренно не предоставляем программы, автоматизирующие процесс установки, в виду того, что в процессе установки пакетов, часто возникают различные ошибки, с которыми логика инсталлятора не в состоянии справиться, кроме того, большинство администраторов предпочитают контролировать все модификации системы, которые происходят в процессе установки нового ПО, такого как, например, LANBilling.
С версии LANBilling 2.0.33 путь к лог-файлам по-умолчанию находится в /var/log/billing/. Для версий 2.0.32 и младше:/usr/local/billing/.
Пример настройки ротации и архивирования логов для утилиты logrotate находится в файле
/etc/lanbilling/lbrotate.conf
Чтобы активировать функционал необходимо:
Убедится в наличии установленной утилиты logrotate в системе, в случае отсутствия, установить соответствующий пакет. По умолчанию logrotate прописывается в cron.daily и запускается, каждый день в 03:01;
Скопировать файл lbrotate.conf
cp /etc/lanbilling/lbrotate.conf /etc/logrotate.d/
``
Описание структуры файла и параметров можно найти в мануалах:
Заказчик, после приобретения АСР, получает лицензионный ключ, который всегда доступен в системе Helpdesk. Доступ к системе Helpdesk осуществляется с адреса client.lanbilling.ru.
Для активации лицензии необходимо, чтобы на сервере ядра АСР был открыт доступ к серверу активации лицензии и по порту 34100.
После получения Лицензионного ключа, для запуска модулей АСР требуется провести активацию лицензии через сервер активации, расположенный в домене lanbilling.ru. Для этого необходимо: войти в административный веб-интерфейс системы под атрибутами администратора и в разделе “Опции” выбрать пункт “Общие”, раздел “Активация”, “Получить лицензионный ключ”. Затем ввести ключ активации и название компании в соответствующие разделы формы активации лицензии и нажать кнопку “Активировать”.
Название компании, должно совпадать с названием компании, опредёленным в разделе “Опции” пункт меню “Реквизиты оператора” поле “Имя компании с формой собственности:”.
При положительном ответе сервера активации продукт готов к эксплуатации.
Существующие клиенты, уже имеющие регистрацию в LANBilling HelpDesk, при обновлении АСР до версии 2.0 размещают запрос на получение лицензии с темой “Лицензионный ключ для версии 2.0”, после чего получают Лицензионный ключ указанный в системе HelpDesk.
Лицензия содержит информацию, по которой определяется ряд рабочих параметров АСР: агентская схема телефонии, интеграция с Fidelio, модуль Email Connector, модуль инвентаризации, время действия, максимальное количество пользователей АСР и пр. При изменении любых из указанных параметров, связанных с реконфигурацией АСР, требуется повторное проведение активации нового ключа, содержащего скорректированные параметры.
Механизм активации учитывает возможность назначения тех или иных параметров функционирования АСР в процессе активации. В том случае, если набор ключевых параметров изменяется после проведения активации АСР, модуль контроля лицензионности копии вернет эти параметры к первоначальному значению.
Есть вопросы по документации? Пожалуйста, напишите их