billing:external:kernel

Ядро биллинга на отдельном сервере

Выносим ядром биллинга на отдельный сервер.

Необходим сервер с установленным php версии 7.2 и ioncube:

php php-bcmath php-cli php-common php-devel php-embedded php-gd php-imap php-mbstring php-mysql php-pdo php-process php-pspell php-recode php-snmp php-soap php-xml php-xmlrpc php-pear

Создать директории

/var/mikbill/kernel/lib
/var/mikbill/kernel/etc

Файл ядра из admin/app/lib/mikbill.php перенести в /var/mikbill/kernel/lib
Файл конфигурации из admin/app/etc/config.xml а так же файлы лицензии client.key и serv.crt перенести в /var/mikbill/kernel/etc

В файле конфигурации config.xml изменить параметры: IP и PORT на котором будет запускатся ядро, данный порт должен быть доступен для radius сервера, такой же IP и PORT необходимо будет указать на радиусе в файле mikbill.pl
Подключение к mysql, так же необходимо будет создать отдельного пользователя mysql для ядра:

CREATE USER ИМЯ_ПОЛЬЗОВАТЕЛЯ@ИП_АДРЕС_СЕРВЕРА IDENTIFIED BY 'ПРОЛЬ';
GRANT PROCESS , SUPER ON *.* TO ИМЯ_ПОЛЬЗОВАТЕЛЯ@ИП_АДРЕС_СЕРВЕРА IDENTIFIED BY 'ПРОЛЬ' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
GRANT ALL PRIVILEGES ON mikbill.* TO ИМЯ_ПОЛЬЗОВАТЕЛЯ@ИП_АДРЕС_СЕРВЕРА WITH GRANT OPTION;
FLUSH PRIVILEGES;

Не забудьте заменить ИМЯ_ПОЛЬЗОВАТЕЛЯ, ИП_АДРЕС_СЕРВЕРА и ПРОЛЬ на свои значения.

Далее необходимо создать скрипт запуска ядра /usr/local/sbin/mikbill_run.sh:

#!/bin/sh

MIKBILL_PATH="/var/mikbill/kernel/lib"
MIKBILL_PID="/var/run/mikbill.pid"
APP_PHP=`which php`

cd $MIKBILL_PATH
rm -rf $MIKBILL_PID >/dev/null

$APP_PHP ./mikbill.php &

и /etc/systemd/system/mikbill.service для systemd:

[Unit]
Description=MikBiLL kernel
After=syslog.target network.target

[Service]
User=root
Type=forking
TimeoutSec=0
PIDFile=/var/run/mikbill.pid
ExecStart=/bin/sh /usr/local/sbin/mikbill_run.sh
ExecStop=/bin/kill -9 $MAINPID
#ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed

Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
radius cache радиус кэш
  • billing/external/kernel.txt
  • Последнее изменение: 18 мес. назад
  • Дмитрий Грошилин