Это руководство проведет вас через установку 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 будет выглядеть следующим образом