🤲 Установка сервера приложений WildFly (JBoss) в Ubuntu 18.04 / Debian 10/9

by itisgood

Это руководство проведет вас через установку WildFly (JBoss) в Ubuntu 18.04 / Debian 9 / Debian 10. WildFly, ранее известный как JBoss, является сервером приложений, написанным на Java и разработанным Red Hat.

WildFly Application Server – это исключительно быстрая, легкая и мощная реализация спецификаций платформы Java Enterprise Edition 8.

На момент написания этой статьи WildFly 16 был последним выпуском в серии предложений серверов приложений с открытым исходным кодом JBoss.

В этой статье представлен краткий обзор о том, как загрузить и установить WildFly 16 в Ubuntu 18.04 / Debian 10/9 для разработки приложений.

Шаг 1: Установите Java

WildFly написан на Java, и его необходимо установить в качестве предварительного условия.

Существует два варианта установки Java в Ubuntu / Debian.

  • Установить OpenJDK
  • Установить Java SE Development Kit

Самый простой способ получить Java – это установить OpenJDK в вашей системе Ubuntu / Debian, выполнив следующие команды.

sudo apt update
sudo apt -y install default-jdk

Версия Java по умолчанию, установленная из вышеуказанной команды: Java 10+.

Это поддерживается в WildFly.

$ java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

Шаг 2: Скачать WildFly

Перед загрузкой файла проверьте страницу загрузок WildFly на наличие последних выпусков.

Здесь мы будем загружать WildFly 16.0.0.Final.

export WILDFLY_RELEASE="16.0.0"
wget https://download.jboss.org/wildfly/$WILDFLY_RELEASE.Final/wildfly-$WILDFLY_RELEASE.Final.tar.gz

Как только файл загружен, распакуйте его.

tar xvf wildfly-$WILDFLY_RELEASE.Final.tar.gz

Переместите полученную папку в /opt/wildfly.

sudo mv wildfly-$WILDFLY_RELEASE.Final/ /opt/wildfly

Шаг 3. Настройка Systemd для WildFly

Давайте теперь создадим системного пользователя и группу, которые будут запускать сервис WildFly.

sudo groupadd --system wildfly
sudo useradd -s /sbin/nologin --system -d /opt/wildfly  -g wildfly wildfly

Создайте каталог конфигураций WildFly.

sudo mkdir /etc/wildfly

Скопируйте системный сервис WildFly, файл конфигурации и шаблоны стартовых скриптов из каталога /opt/wildfly/docs/contrib/scripts/systemd/.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo chmod +x /opt/wildfly/bin/launch.sh

Установите права на /opt/wildfly.

sudo chown -R wildfly:wildfly /opt/wildfly

Перезагрузите системный сервис.

sudo systemctl daemon-reload

Запустите и активируйте сервис WildFly:

sudo systemctl start wildfly
sudo systemctl enable wildfly

Подтвердите состояние сервера приложений WildFly.

sudo systemctl status wildfly

Служба должна привязываться к порту 8080.

# ss -tunelp | grep 8080
tcp    LISTEN   0   128    0.0.0.0:8080  0.0.0.0:*  users:(("java",pid=6854,fd=389)) uid:999 ino:30339 sk:3 <->

Шаг 4: Добавить пользователей WildFly

По умолчанию WildFly 16 теперь распространяется с включенной защитой для интерфейсов управления.

Нам нужно создать пользователя, который сможет получить доступ к консоли администрирования WildFly или удаленно использовать CLI.

Скрипт предназначен для управления пользователями.

Запустите его, выполнив команду:

sudo /opt/wildfly/bin/add-user.sh

Вам будет предложено выбрать тип пользователя для добавления.

Поскольку это первый пользователь, мы должны сделать его администратором. Так что выбирайте a

What type of user do you wish to add? 
  a) Management User (mgmt-users.properties) 
  b) Application User (application-users.properties)
 (a):

Укажите желаемое имя пользователя:

Enter the details of the new user to add.
 Using realm 'ManagementRealm' as discovered from the existing property files.
 Username : itisgood

Установите пароль для пользователя:

Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
The password should be different from the username
The password should not be one of the following restricted values {root, admin, administrator}
The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password : <Enter Password>
Re-enter Password :  <Confirm Password>

Нажмите ввод и согласитесь с последующими запросами, чтобы завершить создание пользователя.

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: <Enter>
 About to add user 'computingforgeeks' for realm 'ManagementRealm'
 Is this correct yes/no? yes
 Added user 'computingforgeeks' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
 Added user 'computingforgeeks' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
 Added user 'computingforgeeks' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
 Added user 'computingforgeeks' with groups  to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
 Is this new user going to be used for one AS process to connect to another AS process? 
 e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
 yes/no? yes
 To represent the user add the following to the server-identities definition

Обратите внимание, что:

  • Информация о пользователе хранится по адресу: /opt/wildfly/domain/configuration/mgmt-users.properties
  • Информация о группе хранится по адресу: /opt/wildfly/standalone/configuration/mgmt-groups.properties

Шаг 5: Доступ к консоли администратора WildFly

Чтобы иметь возможность запускать скрипты WildFly из текущей сессии оболочки, добавьте /opt/wildfly/bin/ в вашу переменную $PATH.

cat >> ~/.bashrc <<EOF
export WildFly_BIN="/opt/wildfly/bin/"
export PATH=\$PATH:\$WildFly_BIN                                                                                                                    
EOF

Выполните:

source ~/.bashrc

Теперь проведите тестирование, подключившись к консоли администратора WildFly из CLI с помощью команды jboss-cli.sh.

# jboss-cli.sh --connect
[standalone@localhost:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 8.0.0.Final
Product: WildFly Full 16.0.0.Final
JAVA_HOME: null
java.version: 10.0.2
java.vm.vendor: Oracle Corporation
java.vm.version: 10.0.2+13-Ubuntu-1ubuntu0.18.04.4
os.name: Linux
os.version: 4.15.0-46-generic

Доступ к консоли администратора WildFly из веб-интерфейса

По умолчанию консоль доступна по локальному IP-адресу через порт 9990.

# ss -tunelp | grep 9990
tcp    LISTEN   0    50    127.0.0.1:9990  0.0.0.0:* users:(("java",pid=6769,fd=404)) uid:999 ino:30407 sk:3 <-> 

Мы можем запустить его на другом IP-адресе, доступном снаружи локального сервера.

Отредактируйте /opt/wildfly/bin/launch.sh, чтобы он выглядел так:

.....
if [[ "$1" == "domain" ]]; then
    $WILDFLY_HOME/bin/domain.sh -c $2 -b $3
else
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0
fi

ы добавили -bmanagement = 0.0.0.0, чтобы запустить строку скрипта.

Это связывает интерфейс «management» со всеми доступными IP-адресами.

Перезапустите сервис wildfly

sudo systemctl restart wildfly

подтвердите

$ ss -tunelp | grep 9990
tcp    LISTEN   0  50     0.0.0.0:9990  0.0.0.0:*  users:(("java",pid=9496,fd=320)) uid:999 ino:73367 sk:c <->

Откройте браузер и URL-адрес http://serverip:9990, чтобы получить доступ к веб-консоли WildFly.

Используйте имя пользователя, созданное ранее, и пароль для аутентификации.

Консоль WildFly будет выглядеть следующим образом

You may also like

Leave a Comment