Ядро биллинга на отдельном сервере
Описание
Выносим ядром биллинга на отдельный сервер.
Требования
Необходим сервер с установленным 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