WildFly, который ранее был известен как JBoss Application Server, представляет собой полнофункциональный сервер приложений с открытым исходным кодом, разработанный компанией Red Hat. Платформа реализована на языке Java и обеспечивает поддержку широкого набора корпоративных спецификаций, включая CDI, EJB, JPA, JAX-RS, JSF, WebSocket и другие технологии, используемые при создании масштабируемых информационных систем. За счёт модульной архитектуры, основанной на механизме JBoss Modules, сервер загружает только необходимые компоненты, что позволяет уменьшить потребление оперативной памяти и ускорить запуск сервисов.
WildFly применяется как в корпоративных инфраструктурах для развёртывания сложных бизнес-приложений, так и в лабораторных или тестовых средах. Этому способствует открытый исходный код, активное развитие проекта и распространение по свободной лицензии Apache License 2.0, которая позволяет использовать платформу без дополнительных затрат.
В статье разберём, как установить WildFly на сервер под управлением Ubuntu 24.04 или Debian 13.
Как установить WildFly на Ubuntu и Debian
Установка OpenJDK
Современные версии WildFly, в том числе актуальная на момент написания статьи версия 39.0.1, официально протестированы и сертифицированы для работы с Java SE 17 и Java SE 21. При этом разработчики прямо указывают, что предпочтительной платформой является Java 21, а именно OpenJDK 21 LTS, являющаяся последней LTS-версией, прошедшей полный цикл тестирования.
Перед установкой OpenJDK 21 LTS обновите списки пакетов в системе:
$ sudo apt update
Затем запустите инсталляцию пакета OpenJDK 21 LTS, доступного в стандартных репозиториях Ubuntu и Debian:
$ sudo apt install openjdk-21-jdk
Чтобы убедиться в корректности установки, выведите версию проинсталлированного софта:
$ java -version

Установка WildFly
Для установки непосредственно WildFly перейдите на страницу загрузок его официального сайта. Здесь скопируйте ссылку на загрузку tgz-архива дистрибутива актуальной версии.

При помощи утилиты wget и скопированной ссылки загрузите архив дистрибутива в текущую директорию:
$ wget https://github.com/wildfly/wildfly/releases/download/39.0.1.Final/wildfly-39.0.1.Final.tar.gz
Разархивируйте загруженный файл:
$ tar -xvf wildfly-39.0.1.Final.tar.gz
Полученный в результате распаковки каталог переместите в директорию /opt с переименованием его в wildfly:
$ sudo mv wildfly-39.0.1.Final /opt/wildfly
Затем создайте учётную запись, под которой будет работать сервер приложений:
$ sudo useradd -r -s /sbin/nologin wildfly
В данном случае wildfly – имя создаваемого пользователя, опция -r указывает на создание именно системной учётной записи, а -s /sbin/nologin – на то, что пользователь не сможет подключиться к системе через SSH или консоль.
Далее каталогу WildFly назначьте созданного пользователя в качестве владельца:
$ sudo chown -R wildfly:wildfly /opt/wildfly
Настройка WildFly для работы в качестве системного сервиса
Чтобы обеспечить автоматизацию управления приложения и повысить стабильности его работы, необходимо настроить WildFly для работы в виде системного сервиса. Для этого, во-первых, создайте юнит-файл для нового сервиса:
$ sudo nano /etc/systemd/system/wildfly.service
В юнит-файл скопируйте следующее содержимое:
[Unit]
Description=WildFly Application Server
After=network.target
[Service]
Type=simple
User=wildfly
Group=wildfly
ExecStart=/opt/wildfly/bin/standalone.sh -b=0.0.0.0 -bmanagement=0.0.0.0
ExecStop=/opt/wildfly/bin/jboss-cli.sh --connect command=:shutdown
Restart=on-failure
LimitNOFILE=102642
[Install]
WantedBy=multi-user.target
Закройте файл, сохранив изменения, после чего укажите системе управления службами systemd перечитать конфигурационные файлы сервисов, чтобы были применены внесённые изменения:
$ sudo systemctl daemon-reload
Затем установите новую службу в автозагрузку:
$ sudo systemctl enable wildfly
Запустите службу WildFly:
$ sudo systemctl start wildfly
Для проверки работоспособности сервиса выведите его текущее состояние:
$ systemctl status wildfly
В выводе команды должны отсутствовать сообщения об ошибках.

Создание пользователя WildFly и проверка подключения
Для создания пользователей, которым разрешён доступ к административным и прикладным функциям сервера приложений, в WildFly есть специальный служебный скрипт. Следующей командой запустите данный скрипт:
$ sudo /opt/wildfly/bin/add-user.sh
В ходе работы скрипта добавьте учётную запись для входа в веб-консоль управления, выбрав пункт a:

Также придумайте и введите достаточно сильный пароль для данного пользователя.
Для доступа пользователей к веб-приложениям, развернутым на сервере, WildFly использует порт 8080. Через данный порт осуществляется работа клиентских приложений по протоколу HTTP. В частности, здесь производится открытие корпоративных веб-систем, REST-сервисов или тестовых страниц. При этом для административного управления сервером используется порт 9990. Через него доступна веб-консоль WildFly Management Console, предназначенная для настройки параметров сервера и управления приложениями.
Чтобы сделать возможным подключение через данные порты, добавьте в брандмауэр UFW соответствующие разрешающие правила:
$ sudo ufw allow 8080/tcp
$ sudo ufw allow 9990/tcp
После чего откройте браузер и проверьте доступность веб-интерфейса WildFly. Для этого перейдите по ссылке вида http://X.X.X.X:8080, где X.X.X.X замените на IP-адрес сервера.

Также через браузер проверьте подключение к административной веб-консоли через порт 9990. Для входа используйте имя пользователя и пароль, созданные вами ранее в ходе работы скрипта /opt/wildfly/bin/add-user.sh.

Если учётные данные указаны корректно, браузер откроет страницу веб-портала WildFly Management Console.

