Оглавление |
---|
Установка Wildfly
При установке далее мы рекомендуем указывать JAVA_HOME вручную в standalone.conf, чтобы, если у вас есть установленная JRE/JDK из репозитария, неожиданно для вас не поменялась используемая версия Java. Однако это не касается запуска некоторых команд, требуемых при установке личного кабинета. Для таких команд может использоваться JRE/JDK по умолчанию, установленную из репозитария; или же Вы можете прописать JAVA_HOME глобально, в /etc/environment или в ~/.bashrc.
Скачайте сервер приложений Java EE (Java Platform, Enterprise Edition) Wildfly с официального сайта http://wildfly.org/downloads/. Рекомендуемая версия Wildfly для биллинга 1421.0.12.Final. Распакуйте содержимое архива, например, в папку /opt и переименуйте папку wildfly-номервесии в wildfly. Или же создайте символическую ссылку /opt/wildfly, которая будет указывать на /opt/wildfly-номерверсии.
Отредактируйте файл /opt/wildfly/bin/standalone.conf, укажите правильный путь к JDK в переменной JAVA_HOME:
Блок кода language bash # # Specify the location of the Java home directory. If set then $JAVA will # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java". # #JAVA_HOME="/opt/java/jdk"
Отредактируйте ниже параметры запуска JVM:
Блок кода language bash # # Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then #JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true" JAVA_OPTS="-Xms64m -Xmx300m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -XX:MaxDirectMemorySize=80m -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" else echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" fi
Если у вас нет значения JAVA_HOME по умолчанию, то отредактируйте common.sh и укажите там путь к JAVA_HOME (иначе следующая команда не будет выполнена):
Блок кода language bash #!/bin/sh -x JAVA_HOME=/opt/java/jdk15
Выполните команду, чтобы добавить пользователя Wildfly для аутентификации в web-консоли:
Блок кода language bash ./add-user.sh логин пароль
Отредактируйте файл конфигурации Wildfly /opt/wildfly/standalone/configuration/standalone.xml указав используемые HTTP-порты (если необходимо):
Блок кода language xml <!--<socket-binding name="http" port="${jboss.http.port:8080}"/>--> <socket-binding name="http" port="${jboss.http.port:8081}"/>
Возможно вы захотите поменять интерфейс, на котором открыт HTTP-порт. Обратите внимание, что для сокета (порта) интерфейс прописан в атрибуте socket-binding/@interface, а также в socket-binding-group/@default-interface. Сами интерфейсы прописаны выше:
Блок кода language xml <interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> </interface> </interfaces>
Примечание Не рекомендуем оставлять web-консоль (management) открытым наружу (если вы решили поменять интерфейсы).
Или же порты можно поменять с помощью сдвига (offset), используя параметр port-offset, например, на 1 (т.е. 8080 станет 8081, 8443 станет 8444), изменив значение параметра port-offset:
Блок кода language xml <!--<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">--> <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:1}">
Примечание При изменении port-offset также изменится порт web-консоли Wildfly, значение по умолчанию которого 9990. В этом случае нужно редактировать файл jboss-cli.xml, поменяв значение <port>9990</port> на новое.
Подсказка Данные параметры можно менять в web-консоли Wildfly.
Добавьте системного пользователя wildfly и поменяйте владельца у /opt/wildfly:
Блок кода language bash useradd -r wildfly chown -R wildfly:wildfly /opt/wildfly-XX.Y.Z.Final chown -R wildfly:wildfly /opt/wildfly
Создайте файл службы для systemd, (примеры скриптов досты в каталоге /wildfly-XX.Y.Z.Final/docs/contrib/scripts) или используйте в качестве примера код нуже
Блок кода language bash cd /lib/systemd/system touch wildfly.service
и укажите содержимое:
Блок кода language applescript [Unit] Description=WildFly Application Server Daemon After=network.target Requires= [Service] Type=simple User=wildfly Group=wildfly ExecStart=/opt/wildfly/bin/standalone.sh [Install] WantedBy=multi-user.target
Установите в автозапуск:
Блок кода language bash systemctl enable wildfly
Запустите
Блок кода language bash systemctl start wildfly
и попробуйте открыть web-консоль на порту 9991, если указали сдвиг портов на 1, или 9990, если не указывали сдвиг портов. Web-консоль по умолчанию запускается на интерфейсе 127.0.0.1, поэтому может понадобиться проброс портов.
Отключить логирование в консоль (в файл /var/log/message)
Блок кода ./jboss-cli.sh --connect --commands="/subsystem=logging/root-logger=ROOT:remove-handler(name="CONSOLE")"
- Настройте firewall, а также рекомендуем использовать nginx.
Установка ЛК
- Создайте нового пользователя в BGBillingServer, в поле "Полное имя" укажите Пользователь (как ранее помечались действия абонента), в поле "Описание" укажите "Личный кабинет". Придумайте сложные логин и пароль, разрешите все действия.
Скачайте с https://bgbilling.ru/download/ MyBGBilling.war 8.2101/mybgbilling/MyBGBilling.last соответствующий версии биллинга, например, в папку /opt. Распакуйте архив, оставив имя директории, содержащее файлы архива MyBGBilling.war и поместите эту папку в /opt/wildfly/standalone/deployments:
Блок кода language bash cd /opt wget https://bgbilling.ru/download/8.2101/mybgbilling/MyBGBilling.last unzip ./MyBGBilling.warlast -d /opt/wildfly/standalone/deployments/MyBGBilling.war && rm -f MyBGBilling.war
Поменяйте владельца у директории MyBGBilling.war
Скопируйте содержимое директорииБлок кода language bash chown -R wildfly:wildfly last touch /opt/wildfly/standalone/deployments/MyBGBilling.war
.dodeploy
Поменяйте владельца у директории MyBGBilling.war/WEB-INF/script/files в /opt/wildfly/bin:
Отредактируйте файлБлок кода language bash cp chown -R wildfly:wildfly /opt/wildfly/standalone/deployments/MyBGBilling.war/WEB-INF/script/files/*.* /opt/wildfly/bin
Укажите в файле /opt/wildfly/bin/setenvcommon.sh, укажите правильный путь к JDK в переменной переменную JAVA_HOME.
Если у вас нет значения JAVA_HOME по умолчанию, то отредактируйте jboss-cli.sh и укажите там путь к JAVA_HOME (иначе следующая команда не будет выполнена):
Выполните команду для добавления security-domain в Wildfly, который будет использовать ЛК (устарело для биллинга версии 8.2010+).Блок кода language bash #!/bin/sh -x JAVA_HOME="/opt/java/jdk" CLI_OPTS=""
jdk14 setModularJdk() { "$JAVA" --add-modules=java.se -version > /dev/null 2>&1 && MODULAR_JDK=true || MODULAR_JDK=false }
5. Запустите скрипт синхронизации библиотек сервера биллинга и ЛК (для работы скрипта должен быть запущен сервер биллинга, и если у вас ЛК и биллинг работают на разных сервереах или биллинг запущен на порту отличном от 8080, отредактируйте соответствующие напарметры в файле /opt/wildfly/standalone/deployments/MyBGBilling.war/WEB-INF/script/application.xml):
Блок кода language bash chmod 0755 /opt/wildfly/standalone/deployments/MyBGBilling.war/jboss-cliWEB-INF/script/update_libs.sh --connect --file=/opt/wildfly/standalone/deployments/MyBGBilling.war/WEB-INF/defaults/configure-security-domain.cli
СкопируйтеПримечание Если вы изменяли port-offset, то также изменился порт web-консоли Wildfly, значение по умолчанию которого 9990. В этом случае перед выполнением данной команды нужно редактировать файл jboss-cli.xml, поменяв значение <port>9990</port> на новое.
script/update_libs.sh
6. Скопируйте файлы конфигурации из MyBGBilling.war/WEB-INF/defaults в MyBGBilling.war/WEB-INF:
Блок кода language bash cp /opt/wildfly/standalone/deployments/MyBGBilling.war/WEB-INF/defaults/*.groovy /opt/wildfly/standalone/deployments/MyBGBilling.war/WEB-INF
7. Отредактируйте MyBGBilling.war/WEB-INF/mybgbilling-conf.groovy, укажите параметры подключения к BGBillingServer
Блок кода language bash // Параметры подключения к BGBillingServer. // ЛК является пользователем биллинга, общается с ним также, как BGBillingClient bgbilling { // URL доступа к BGBilling url = 'http://127.0.0.1:8080/bgbilling/executer' // Логин user = 'customer' // Пароль password = 'customer' }
Запустите синхронизацию клиентских библиотек биллинга
Блок кода /opt/wildfly/bin/mybgbilling-sync-libs.shlanguage bash 8. Попробуйте войти в ЛК через браузер http://[host[:port]]/my
Рекомендация для reverse-proxy (Nginx)
Если вы используется reverse-proxy (например, Nginx) и на нём настроен HTTPS, а reverse-proxy работает с Wildfly по HTTP, то в некоторых случаях нужно, чтобы Wildfly знал, что абонент на самом деле использует HTTPS (например, это может быть нужно при отправке редиректа от Wildfly). Для этого рекомендуется внести такие настройки:
...