Linux
Установка всего серверного ПО производится под пользователем root.
В различных дистрибутивах Linux существуют разные схемы автоматического запуска служб при старте сервера. Рассмотрим systemd и sysvinit.
systemd
В поставляемых приложениях биллинга в каталоге scripts присутствуют файлы .service для systemd. Отредактируйте их, поправив пути к приложениям, скопируйте в каталог /lib/systemd/system, затем выполните для каждого файла (приложения):
systemctl enable <app>
Например, для приложения BGBillingServer файл bgbilling.service:
[Unit]
Description=BGBilling Server
After=network.target mysql.service activemq.service
#Required=network.target mysqld.service activemq.service
[Service]
Type=forking
ExecStartPre=/opt/bgbilling/BGBillingServer/script/wait-
for
.sh
127
.
0
.
0
.
1
:
3306
-t
60
ExecStart=/opt/bgbilling/BGBillingServer/server.sh start
ExecStop=/opt/bgbilling/BGBillingServer/server.sh stop
[Install]
WantedBy=multi-user.target
Обратите внимание на строку "After=network.target mysql.service activemq.service". Если в системе есть такие сервисы и они стартуют, то systemctl ожидает их старта и только после этого запускает сервис bgbilling. В зависимости от дистрибутива, сервис mysql может называться по другому, например, mysqld.service или mariadb.service.
Строка "ExecStartPre=/opt/bgbilling/BGBillingServer/script/wait-for.sh 127.0.0.1:3306 -t 60" выполняется перед стартом сервиса bgbilling - данный скрипт ждет 60 секунд, пока не откроется порт 127.0.0.1:3306. Таким образом выполняется ожидание старта MySQL сервера, т.к. в некоторых дистрибутивах сервис mysql считается запущенным еще до того как был открыт его порт. Или MySQL может быть на другой машине - в этом случае нужно поменять адрес на правильный или закомментировать строку (символ #).
После того, как мы скопировали bgbilling.service в каталог /lib/systemd/system, мы можем поставить его в автозагрузку:
systemctl enable bgbilling
и запустить:
systemctl start bgbilling
sysvinit
Эта система самая старая и простая и поддерживается большинством дистрибутивов. Со всеми серверными приложениями биллинга в каталоге scripts поставляются скрипты запуска с командами start и stop. Все поставляемые скрипты ориентированы на командный интерпретатор Bash, либо совместимый (проверена работа с Dash), ссылка на который должна располагаться в файле /bin/sh. В случае, если у вас используется другой интерпретатор, либо отсутствует ссылка - поправьте скрипты
Рассмотрим способ добавления службы bgbilling.
1) Cкопируйте скрипт bgcommonrc в /etc/init.d, установите права на выполнение.
chmod
755
/etc/init.d/bgcommonrc
2) Выполните команду runlevel, чтобы узнать уровень запуска.
[root
@bill
-
2
init.d]
# runlevel
N
3
3) Cкопируйте скрипт службы в /etc/init.d, установите права на выполнение.
chmod
755
/etc/init.d/bgbilling
4) Перейдите в папку /etc/rcN.d (N - требуемый уровень запуска), где выполните команду.
ln -s /etc/init.d/bgbilling S99bgbilling
Для запуска/остановки службы используйте /etc/init.d/bgbilling start (stop). Префикс ссылки S99 задаёт порядок старта сервиса.
Стандартные действия при установке
При установке каждого серверного приложения необходимо удалить Windows скрипты и установить права исполнения для .sh-файлов:
rm -f *.bat && rm -f *.exe && rm -f *.ini && chmod
744
*.sh