Установка всего серверного ПО производится под пользователем root.
Примечание |
---|
Если установка производится в виртуальной машине, то может быть ситуация, что BGBillingServer долго стартует. В этом случае скорее всего дело в генераторе случайных чисел, и Вам нужно будет поменять в файле java.security в JDK/JRE: Блок кода |
---|
language | ruby |
---|
title | [root@localhost ~]# |
---|
| securerandom.source=file:/dev/random |
на Блок кода |
---|
language | ruby |
---|
title | [root@localhost ~]# |
---|
| securerandom.source=file:/dev/urandom |
|
Стандартные действия при установке
Якорь |
---|
| prepare_for_linux |
---|
| prepare_for_linux |
---|
|
При установке каждого серверного приложения необходимо удалить Windows скрипты и установить права исполнения для .sh-файлов:
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
rm -f *.bat && rm -f *.exe && rm -f *.ini && chmod 744 *.sh |
В различных дистрибутивах Linux существуют разные схемы автоматического запуска служб при старте сервера. Со всеми серверными приложениями Рассмотрим systemd и sysvinit.
systemd
В поставляемых приложениях биллинга в каталоге scripts поставляются скрипты запуска с командами start и stop. Для простоты работа со службами везде описана применительно к системе sysvinit. каталоге scripts присутствуют файлы .service для systemd. Отредактируйте их, поправив пути к приложениям, скопируйте в каталог /lib/systemd/system (или /etc/systemd/system), выполните команду systemctl daemon-reload, а затем выполните для каждого файла (приложения):
Блок кода |
---|
language | ruby |
---|
title | [root@localhost ~]# |
---|
|
systemctl enable <app> |
Например, для приложения BGBillingServer файл bgbilling.service:
Блок кода |
---|
language | ruby |
---|
title | [root@localhost ~]# |
---|
|
[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, мы можем поставить его в автозагрузку:
Блок кода |
---|
language | ruby |
---|
title | [root@localhost ~]# |
---|
|
systemctl enable bgbilling |
и запустить:
Блок кода |
---|
language | ruby |
---|
title | [root@localhost ~]# |
---|
|
systemctl start bgbilling |
sysvinit
Эта система самая старая и простая и поддерживается большинством дистрибутивов. Со всеми серверными приложениями биллинга в каталоге scripts поставляются скрипты запуска с командами start и stop. Все поставляемые скрипты ориентированы на командный интерпретатор Bash, либо совместимый (проверена работа с Dash), ссылка на который должна располагаться в файле файле /bin/sh. В случае, если у вас используется другой интерпретатор, либо отсутствует ссылка - поправьте скрипты
Рассмотрим способ добавления службы службы bgbilling.
1) Выполните команду Cкопируйте скрипт bgcommonrc в /etc/init.d, установите права на выполнение.
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
chmod 755 /etc/init.d/bgcommonrc |
2) Выполните команду runlevel, чтобы узнать уровень запуска.
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
[root@bill-2 init.d]# runlevel
N 3 |
23) Cкопируйте скрипт службы в в /etc/init.d, установите права на выполнение.
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
chmod 755 /etc/init.d/bgbilling |
34) Перейдите в папку папку /etc/rcN.d (N - требуемый уровень запуска), где выполните команду.
...
Для запуска/остановки службы используйте используйте /etc/init.d/bgbilling start (stop). Префикс ссылки ссылки S99 задаёт задаёт порядок старта сервиса.
Стандартные действия при установке
...
При установке каждого серверного приложения необходимо всегда выполнить несколько шагов.
1) Установите права исполнения .sh файлов и удалите Windows скрипты.
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
rm -f *.bat && rm -f *.exe && rm -f *.ini && chmod 744 *.sh |
2) Проверьте все *.sh файлы на наличие символов ^M и удалите их, если есть. Если в системе установлена утилита dos2unix, можно воспользоваться ей.
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
dos2unix *.sh |