Поиск по сайту:

Как установить сервер приложений JAVA WildFly в Ubuntu 22.04


WildFly, ранее JBoss, — это бесплатный сервер приложений с открытым исходным кодом, который помогает создавать и развертывать веб-приложения Java. Он написан на Java и соответствует спецификациям Java EE (Enterprise Edition). WildFly был создан JBoss, но сейчас разрабатывается RedHat. Это мощный, готовый к работе, модульный и легкий сервер приложений, который предоставляет все необходимые инструменты и функции для запуска и развертывания веб-приложений Java.

WildFly — кроссплатформенный сервер приложений. Он предоставляет такие инструменты, как EJB, JPA, сервлеты, JAX-RS, пакетную обработку и безопасность ваших приложений Java.

Это руководство поможет вам установить WildFly на сервер Ubuntu 22.04. Вы вручную установите WildFly из двоичного пакета в системе Ubuntu.

Предварительные условия

Для выполнения этого руководства вам понадобится сервер Ubuntu 22.04. На этом сервере должен быть пользователь без полномочий root с привилегиями root/администратора. Кроме того, рекомендуется включить брандмауэр «UFW» в вашей системе Ubuntu.

Установка Java OpenJDK

Прежде чем приступить к установке WildFly, вы сначала установите Java OpenJDK на свой сервер Ubuntu. На момент написания этой статьи последняя версия WildFly требовала как минимум Java v8. Репозиторий Ubuntu APT по умолчанию предоставляет Java v11, который подходит для последней версии установки WildFly.

Запустите команду «apt», чтобы обновить индекс пакета Ubuntu.

sudo apt update

Чтобы установить Java OpenJDK, выполните приведенную ниже команду «apt install». Вам будет предложено подтвердить установку, ввести Y и нажать ENTER, чтобы продолжить, и начнется установка Java OpenJDK.

sudo apt install default-jdk

Теперь, когда Java OpenJDK установлен, проверьте версию Java с помощью следующей команды. Вы должны увидеть, что Java OpenJDK 11 установлен на вашем сервере Ubuntu 22.04.

java -version

Установка WildFly из двоичных файлов

После установки Java вы вручную установите WildFly на свой сервер Ubuntu. Для ручной установки WildFly необходимо настроить нового системного пользователя, загрузить двоичный пакет WildFLy и настроить каталог конфигурации и службу systemd для WildFly.

Чтобы создать нового пользователя системы, выполните приведенную ниже команду «useradd».

В следующем примере новый системный пользователь будет называться «wildfly» с базовым домашним каталогом «/opt/wildfly». Этот каталог также будет использоваться в качестве основного каталога установки WildFly.

sudo useradd -r -d /opt/wildfly -s /usr/sbin/nologin wildfly

Прежде чем загружать двоичный пакет WildFly, выполните следующую команду, чтобы создать новую временную переменную среды «WILDFLY_RELEASE». Это приведет к присвоению переменной среды «WILDFLY_RELEASE» последней версии версии WildFly. На момент написания этой статьи последней версией WildFly была v26.x.

WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
echo $WILDFLY_RELEASE

Чтобы загрузить двоичный пакет WildFly, выполните приведенную ниже команду «wget». Вы должны увидеть новый файл в вашем текущем каталоге.

wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz

Затем извлеките пакет WildFLy с помощью приведенной ниже команды «tar». Затем переместите новый извлеченный каталог WildFly в "/opt/wildfly".

tar -xvf wildfly-${WILDFLY_RELEASE}.tar.gz
sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly

Установите правильное и подходящее право собственности на каталог установки WldFly для пользователя «wildfly», используя приведенную ниже команду.

sudo chown -R wildfly:wildfly /opt/wildfly

После этого создайте новый каталог конфигурации по умолчанию «/etc/wildfly», используя следующую команду. Затем скопируйте в него пример файла конфигурации WildFly.

sudo mkdir -p /etc/wildfly/
sudo cp sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

Отредактируйте файл конфигурации WildFly по умолчанию «/etc/wildfly/wildfly.conf», используя приведенную ниже команду.

sudo nano /etc/wildfly/wildfly.conf

Вы можете изменить адрес «WILDFLY_BIND» на IP-адрес вашего локального сервера. Кроме того, в этой демонстрации вы будете запускать WildFly в «автономном» режиме с файлом конфигурации «standalone.xml».

The configuration you want to run
WILDFLY_CONFIG=standalone.xml
The mode you want to run
WILDFLY_MODE=standalone

The address to bind to
WILDFLY_BIND=192.168.5.10

Сохраните и закройте файл, когда закончите.

Затем скопируйте пример стартового сценария WildFly "/opt/wildfly/docs/contrib/scripts/systemd/launch.sh" в каталог "/opt/wildfly/bin/". Затем скопируйте служебный файл systemd WildFly "/opt/wildfly/docs/contrib/scripts/systemd/wildfly.service" в каталог "/usr/lib/systemd/system/" .

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /usr/lib/systemd/system/

Кроме того, вам также потребуется создать новый каталог «/var/run/wildfly», который будет использоваться для хранения файла PID (идентификатора процесса) сервера WildFly. Кроме того, обязательно измените правильного владельца этого каталога на пользователя «wildfly».

sudo mkdir /var/run/wildfly/
sudo chown -R wildfly:wildfly /var/run/wildfly/

Теперь запустите команду «systemctl», чтобы перезагрузить менеджер systemd и применить новый служебный файл WildFly.

sudo systemctl daemon-reload

После этого запустите и включите службу «wildfly», используя следующую команду «systemctl». Служба «wildfly» будет запущена и будет запускаться автоматически при загрузке системы.

sudo systemctl start wildfly
sudo systemctl enable wildfly

Чтобы проверить состояние службы «wildfly», выполните приведенную ниже команду. Вы должны увидеть, что служба wildfly «включена», а текущий статус — «работает».

sudo systemctl status wildfly

По умолчанию WildFly работает через TCP-порт «8080». Вы должны открыть этот порт, если на вашем сервере включен брандмауэр «UFW».

Запустите команду «ufw», чтобы открыть TCP-порт «8080» для WildFly. Затем проверьте состояние брандмауэра UFW. Вы должны увидеть, что порт «8080» добавлен.

sudo ufw allow 8080/tcp
sudo ufw status

Откройте веб-браузер и посетите IP-адрес сервера с портом «8080» (например, http:/192.168.5.10:8080/). Вы увидите страницу index.html WildFly по умолчанию.

Настройка пользователя-администратора WildFly

Администрирование WildFly отключено при установке по умолчанию. В этой демонстрации вы активируете панель администрирования WildFly, которая позволит вам настраивать развертывание приложений, конфигурацию среды выполнения, контроль доступа и другие параметры WildFly.

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

Запустите сценарий добавления пользователя WildFly "/opt/wildfly/bin/add-user.sh" от имени пользователя "wildfly" ниже.

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

Теперь вам будет предложено ввести конфигурацию пользователя администратора ниже:

  • Введите «a», чтобы настроить WildFly «Управляющий пользователь».
  • Введите имя пользователя администратора WildFly. В этой демонстрации мы будем использовать пользователя-администратора «alice».
  • Введите пароль для нового администратора и повторите. Обязательно используйте надежный пароль, рекомендованный сценарием.
  • Оставьте конфигурацию группы по умолчанию и нажмите ENTER.
  • Введите «да», чтобы подтвердить новые конфигурации администратора WildFly.
  • Наконец, введите «да» еще раз, чтобы новый пользователь мог использоваться для идентификации одного процесса WildFly, или вы можете просто ввести «нет» для этих настроек.

Включение консоли администрирования WildFly

Если вы создали пользователя-администратора WildFly, теперь вы будете настраивать консоль администрирования WildFly через файл конфигурации «/etc/wildfly/wildfly.conf».

Отредактируйте файл конфигурации «/etc/wildfly/wildfly.conf», используя следующую команду.

sudo nano /etc/wildfly/wildfly.conf

Добавьте в файл следующую конфигурацию. Это создаст новую переменную среды для службы WildFly с именем «WILDFLY_CONSOLE_BIND», которая запустит консоль администрирования WildFly на внутреннем IP-адресе «192.168.5.10».

IP Address for WildFly Console
WILDFLY_CONSOLE_BIND=192.168.5.10

Сохраните и закройте файл, когда закончите.

Затем отредактируйте стартовый сценарий WildFly "/opt/wildfly/bin/launch.sh" с помощью следующей команды.

sudo nano /opt/wildfly/bin/launch.sh

Измените команду запуска, как показано ниже. Добавьте опцию «-bmanagement $4», чтобы включить консоль администрирования WildFly.

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

Сохраните и закройте файл, когда закончите.

Теперь отредактируйте служебный файл systemd WildFly «/usr/lib/systemd/system/wildfly.service», используя следующую команду.

sudo nano /usr/lib/systemd/system/wildfly.service

Добавьте переменную среды «$WILDFLY_CONSOLE_BIND» в качестве дополнительного параметра команды в «ExecStart» следующим образом.

ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND

Сохраните и закройте файл, когда закончите.

После редактирования служебного файла systemd WildFly выполните приведенную ниже команду «systemctl», чтобы перезагрузить менеджер systemd. Затем перезапустите службу «wildfly», чтобы применить новые изменения и включить консоль администрирования.

sudo systemctl daemon-reload
sudo systemctl restart wildfly

Теперь проверьте и подтвердите службу «wildfly» с помощью приведенной ниже команды «systemctl». И вы должны убедиться, что служба «wildfly» «работает». В стартовом скрипте «launch.sh» и «standalone.sh» вы увидите дополнительные возможности включения Консоли администрирования.

sudo systemctl status wildfly

Администрирование WildFly по умолчанию работает на TCP-порту «9990». Чтобы включить к нему доступ, вам нужно будет добавить правило брандмауэра UFW.

Запустите приведенную ниже команду «ufw», чтобы добавить правило брандмауэра UFW для открытия порта консоли администрирования WildFly «9990». Затем проверьте состояние брандмауэра UFW.

sudo ufw allow 9990/tcp
sudo ufw status

Вы увидите результат, аналогичный следующему снимку экрана.

Наконец, вернитесь в веб-браузер и перейдите по IP-адресу сервера, а затем к порту «9990» (т. е.: http://192.168.5.10:9990/). Вам будет предложено ввести пользователя и пароль администратора WildFly.

Введите пользователя и пароль администратора WildFly, затем нажмите кнопку «Войти».

Если ваш пользователь и пароль верны, вы увидите страницу консоли администрирования WildFly ниже.

Развертывание приложения в WildFly

Теперь вы развернете пример приложения «Hello World» в WildFly. Развернуть приложение можно из консоли администрирования WildFly или с помощью режима интерфейса командной строки.

Создайте новый каталог "/opt/testapp" и загрузите пример приложения "helloworld.war" с помощью приведенной ниже команды "curl".

mkdir -p /opt/testapp/
curl --output /opt/testapp/helloworld.war https://raw.githubusercontent.com/aeimer/java-example-helloworld-war/master/dist/helloworld.war

Затем запустите сценарий «jboss-cli.sh», чтобы подключиться к администрации WildFly из командной строки.

sudo -u wildfly /opt/wildfly/bin/jboss-cli.sh --connect

После подключения к оболочке WildFly выполните следующую команду, чтобы развернуть пример приложения «/opt/testapp/helloworld.war» в WildFly.

deploy /opt/testapp/helloworld.war

Наконец, вернитесь в свой веб-браузер и посетите IP-адрес вашего сервера по следующему пути «/helloworld» (т. е.: http://192.168.5.10:8080/helloworld/). И вы должны получить пример приложения «helloworld.war».

Заключение

Поздравляем! Теперь вы успешно установили WildFly на сервер Ubuntu 22.04, используя ручную установку из двоичного пакета. Вы также создали пользователя-администратора для WildFly и включили веб-консоль администрирования для WildFly. В конце концов, вы также узнали, как развернуть приложение в WildFly из интерфейса командной строки.