====== Ядро биллинга на отдельном сервере ======
===== Описание =====
Выносим ядром биллинга на отдельный сервер.
===== Требования =====
Необходим сервер с установленным **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**\\
Файл конфигурации из **/var/mikbill/prod/config/admin.xml** а так же файлы лицензии **client.key** и **serv.crt** (находятся в /var/mikbill/license или в /var/www/mikbill/admin/app/etc) перенести в **/var/mikbill/kernel/etc**\\
В файле конфигурации **config.xml** (admin.xml при переносе переименовать в 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 радиус кэш