Как установить WildFly (JBoss) на Debian 12 (Bookworm) |
WildFly, ранее известный как JBoss, представляет собой сервер приложений с открытым исходным кодом, написанный JBoss в основном на Java. За его разработкой стоит компания Red Hat. WildFly реализует как платформу Java, так и спецификацию Enterprise Edition. Он может работать на нескольких платформах, включая Linux, Windows и macOS.
Если вам нужна защищенная сборка WildFly корпоративного уровня, рассмотрите платформу приложений JBoss Enterprise. С подпиской JBoss EAP вы можете наслаждаться поддержкой мирового класса Red Hat, длительными многолетними циклами обслуживания и эксклюзивным контентом. Вы можете зарегистрироваться в Red Hat, чтобы загрузить бесплатную лицензию на разработку сроком на 1 год.
В этой статье мы сосредоточимся на установке, настройке и базовом использовании WildFly (JBoss) в Debian 12 (Bookworm). На момент написания этой статьи последней стабильной версией Debian была версия 12 с кодовым названием Bookworm.
Шаг 1. Установите комплект разработки Java (JDK)
Комплект разработки Java реализует спецификацию языка Java и спецификацию виртуальной машины Java, а также предоставляет стандартную версию интерфейса прикладного программирования Java. Это основная зависимость при запуске приложений WildFly.
Мы можем выбрать установку;
- Установите OpenJDK или
- Установите комплект разработки Java SE
Самый простой способ получить Java — установить OpenJDK в вашей системе Debian, выполнив приведенные ниже команды.
sudo apt update
sudo apt -y install default-jdk
В настоящее время WildFly поддерживает как Java 17, так и Java 11. Вы можете подтвердить версию, установленную в вашей системе.
$ java --version
openjdk 17.0.7 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Debian-1deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Debian-1deb12u1, mixed mode, sharing)
Шаг 2. Загрузите архив WildFly.
Далее мы загружаем архивный дистрибутив WildFly для установки в вашу систему Debian. Если wget
отсутствует в вашей системе, его можно установить, выполнив следующие команды в терминале.
sudo apt install curl wget
Последние версии программного обеспечения доступны на странице загрузок WildFly. Предоставляемые команды позволяют получить последнюю версию.
WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz
После скачивания распакуйте архивный файл.
tar xvf wildfly-${WILDFLY_RELEASE}.tar.gz
Нам необходимо переместить созданную папку WildFly в каталог /opt
.
sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly
Шаг 3. Настройте модуль WildFly Systemd
Для удобства управления сервисами создаём файл системного блока. Начните с добавления системного пользователя wildfly
:
sudo groupadd --system wildfly
sudo useradd -s /sbin/nologin --system -d /opt/wildfly -g wildfly wildfly
Мы создаем каталог конфигураций WildFly.
sudo mkdir /etc/wildfly
Скопируйте службу WildFly systemd, файл конфигурации и шаблоны стартовых сценариев из каталога /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
Перезагрузите службы systemd перед запуском wildfly.
sudo systemctl daemon-reload
Запустите и включите сервис WildFly:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Подтвердите статус сервера приложений WildFly.
$ systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; preset: enabled)
Active: active (running) since Fri 2023-06-30 21:26:57 UTC; 18s ago
Main PID: 3124 (launch.sh)
Tasks: 126 (limit: 4532)
Memory: 267.6M
CPU: 14.457s
CGroup: /system.slice/wildfly.service
├─3124 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
├─3126 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
└─3252 java "-D[Standalone]" -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.h>
Jun 30 21:26:57 deb12 systemd[1]: Started wildfly.service - The WildFly Application Server.
Служба WildFly прослушивает порт 8080
.
$ ss -tunelp | grep 8080
tcp LISTEN 0 4096 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=3252,fd=488)) uid:999 ino:20878 sk:2 cgroup:/system.slice/wildfly.service <->
Шаг 4. Создание пользователей WildFly
WildFly поставляется с включенной системой безопасности для интерфейсов управления. Нам нужно создать пользователя, который сможет получить доступ к консоли администрирования 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): a
Введите имя пользователя, которого нужно создать.
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : computingforgeeks
Укажите безопасный пароль для этого пользователя. См. предоставленное руководство по политике паролей.
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>
Нажмите Enter и согласитесь с последующими запросами, чтобы завершить создание пользователя.
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
Исходный файл bashrc.
source ~/.bashrc
Подтвердите подключение к консоли администратора WildFly из CLI с помощью команды jboss-cli.sh
.
$ jboss-cli.sh --connect
Authenticating against security realm: ManagementRealm
Username: computingforgeeks
Password:
[standalone@localhost:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 20.0.2.Final
Product: WildFly Full 28.0.1.Final
JAVA_HOME: null
java.version: 17.0.7
java.vm.vendor: Debian
java.vm.version: 17.0.7+7-Debian-1deb12u1
os.name: Linux
os.version: 6.1.0-9-amd64
[standalone@localhost:9990 /] exit
Доступ к консоли администратора 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
, чтобы он выглядел следующим образом:
$ sudo vim /opt/wildfly/bin/launch.sh
#!/bin/bash
if [ "x$WILDFLY_HOME" = "x" ]; then
WILDFLY_HOME="/opt/wildfly"
fi
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
в начало строки сценария. Это привяжет интерфейс «управления» ко всем доступным IP-адресам.
Перезапустите службу wildfly.
sudo systemctl restart wildfly
Проверьте статус службы, чтобы убедиться, что она прошла успешно.
systemctl status wildfly
Подтвердите, что порт 9990 прослушивается:
$ ss -tunelp | grep 9990
tcp LISTEN 0 50 0.0.0.0:9990 0.0.0.0:* users:(("java",pid=3252,fd=482)) uid:999 ino:20877 sk:5 cgroup:/system.slice/wildfly.service <->
Откройте браузер и введите URL-адрес http://serverip:9990
для доступа к веб-консоли WildFly.
Используйте имя пользователя, созданное ранее, и пароль для аутентификации. Следующим окном будет консоль WildFly.
Учебные книги:
- Лучшие книги для изучения Веб-серверы Tomcat|Jboss|Jetty
Заключение
Дистрибутив WildFly по умолчанию поставляется с большим количеством конфигураций по умолчанию, которые позволяют выбирать функции сервера и режимы работы. Мы надеемся, что эта статья помогла вам с установкой сервера приложений с открытым исходным кодом JBoss (WildFly) в системе Debian 12 Linux. Проверьте больше контента, доступного на нашем сайте.