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