Как установить WildFly (JBoss) в Ubuntu 18.04

WildFly , ранее известный как JBoss, представляет собой кроссплатформенную среду выполнения приложений с открытым исходным кодом, написанную на Java, которая помогает создавать потрясающие приложения. WildFly гибкий, легкий и основан на подключаемых подсистемах, которые можно добавлять или удалять по мере необходимости.

Из этого туториала Вы узнаете, как установить сервер приложений WildFly на Ubuntu 18.04. Те же инструкции применимы для Ubuntu 16.04 и любого дистрибутива на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.

Подготовка

Чтобы иметь возможность устанавливать пакеты в вашей системе Ubuntu, вы должны войти в систему как пользователь с привилегиями sudo .

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

WildFly требует установки Java. Мы установим OpenJDK , который является средой разработки и выполнения Java по умолчанию в Ubuntu 18.04.

Установка Java довольно проста. Начните с обновления индекса пакета:

sudo apt update

Установите пакет OpenJDK, запустив:

sudo apt install default-jdk

Шаг 2. Создайте пользователя

Мы создадим нового системного пользователя и группу с именем wildfly с домашним каталогом /opt/wildfly которые будут запускать службу WildFly:

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

Шаг 3. Установите WildFly

На момент написания последней версии WildFly была 16.0.0 . Перед тем, как перейти к следующему шагу, вам следует проверить страницу загрузки на предмет наличия новой версии. Если есть новая версия, замените переменную WILDFLY_VERSION в приведенной ниже команде.

Загрузите архив WildFly в каталог /tmp используя следующую команду wget :

WILDFLY_VERSION=16.0.0.Finalwget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp

После завершения загрузки извлеките файл tar.gz и переместите его в каталог /opt :

sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/

Создайте символическую ссылку wildfly которая будет указывать на каталог установки WildFly:

sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly

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

Следующая команда изменит владельца каталога на пользователя и группу wildfly :

sudo chown -RH wildfly: /opt/wildfly

Шаг 4. Настройте Systemd

Пакет WildFly включает файлы, необходимые для запуска WildFly как службы.

Начните с создания каталога, в котором будет храниться файл конфигурации WildFly:

sudo mkdir -p /etc/wildfly

Скопируйте файл конфигурации в каталог /etc/wildfly :

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

Этот файл позволяет указать режим WildFly и адрес привязки. По умолчанию WildFly будет работать в автономном режиме и будет прослушивать все интерфейсы. Вы можете редактировать файл в соответствии с вашими потребностями.

/etc/wildfly/wildfly.conf
# 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=0.0.0.0

Затем скопируйте сценарий WildFly launch.sh /opt/wildfly/bin/ :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Скрипты внутри каталога bin должны иметь флаг исполняемого файла :

sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

Последний шаг — скопировать файл модуля systemd с именем в каталог /etc/systemd/system/ :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Сообщите systemd, что мы создали новый файл модуля:

sudo systemctl daemon-reload

Запустите службу WildFly, выполнив:

sudo systemctl start wildfly

Проверьте статус службы с помощью следующей команды:

sudo systemctl status wildfly
* wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-02-17 04:59:39 PST; 2s ago
 Main PID: 10005 (launch.sh)
    Tasks: 62 (limit: 2319)
   CGroup: /system.slice/wildfly.service

Включите автоматический запуск службы при загрузке:

sudo systemctl enable wildfly

Шаг 5. Настройте брандмауэр

Если ваш сервер защищен брандмауэром, и вы хотите получить доступ к интерфейсу WildFly извне вашей локальной сети, вам необходимо открыть порт 8080 .

Чтобы разрешить трафик на порт 8080 введите следующую команду:

sudo ufw allow 8080/tcp
При запуске приложения WildFly в производственной среде, скорее всего, у вас будет балансировщик нагрузки или обратный прокси-сервер, и рекомендуется ограничить доступ к порту 8080 только для вашей внутренней сети.

Шаг 6. Настройте аутентификацию WildFly

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

Чтобы добавить нового пользователя, используйте скрипт add-user.sh который находится в каталоге bin WildFly:

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

Вас спросят, какого типа пользователя вы хотите добавить:

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

Выберите и нажмите a Enter :

Далее скрипт предложит вам ввести данные нового пользователя:

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : linuxize
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 : 
Re-enter Password : 
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: 
About to add user 'linuxize' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'linuxize' with groups  to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'linuxize' with groups  to file '/opt/wildfly-16.0.0.Final/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 <secret value="UGFuMjNkZWo3NyNA" />

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

Шаг 6: Проверьте установку WildFly

Чтобы получить доступ к странице WildFly по умолчанию, откройте браузер и введите: http://<your_domain_or_IP_address>:8080

Если установка прошла успешно, появится экран, подобный следующему:

Шаг 7. Доступ к консоли администрирования WildFly.

Интерфейс командной строки

Для доступа к консоли администрирования WildFly из командной строки вы можете использовать сценарий jboss-cli.sh .

Перейдите в каталог bin WildFly и запустите сценарий с параметром --connect :

cd /opt/wildfly/bin/./jboss-cli.sh --connect

Вам будет предложено ввести имя пользователя и пароль администратора (созданный на шаге 6):

Authenticating against security realm: ManagementRealm
Username: linuxize
Password:

После входа в систему приглашение консоли изменится на [standalone@localhost:9990 /] . Введите help чтобы получить список команд и синтаксис команд.

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

Веб интерфейс

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

По умолчанию консоль администрирования WildFly доступна только с localhost по адресу http://localhost:9990/console . Войдите в систему, используя пользователя, которого вы создали на шаге 6.

Если вы хотите получить доступ к консоли из удаленных мест, вам необходимо внести небольшие изменения в wildfly.service , wildfly.conf и launch.sh .

Откройте wildfly.conf и добавьте WILDFLY_CONSOLE_BIND=0.0.0.0 в конец файла.

/etc/wildfly/wildfly.conf
# 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=0.0.0.0

# The address console to bind to
WILDFLY_CONSOLE_BIND=0.0.0.0

Откройте launch.sh и отредактируйте выделенные строки:

/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 -bmanagement $4
else
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi

Перезапустите службу, чтобы изменения вступили в силу:

sudo systemctl restart wildfly

Откройте wildfly.service и отредактируйте выделенные строки:

/etc/systemd/system/wildfly.service
[Unit]
Description=The WildFly Application Server
After=syslog.target network.target
Before=httpd.service

[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=-/etc/wildfly/wildfly.conf
User=wildfly
LimitNOFILE=102642
PIDFile=/var/run/wildfly/wildfly.pid
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null

[Install]
WantedBy=multi-user.target

Создайте каталог /var/run/wildfly и установите правильные разрешения:

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

Сообщите systemd, что файл модуля был изменен:

sudo systemctl daemon-reload

Перезапустите службу WildFly, выполнив:

sudo systemctl restart wildfly

Предполагая, что порт 9990 не заблокирован в вашем брандмауэре, вы должны иметь доступ к консоли администрирования WildFly по адресу http://<your_domain_or_IP_address>:9990/console .

Выводы

Вы успешно установили WildFly в своей системе Ubuntu 18.04. Теперь вы можете посетить официальную документацию WildFly и узнать больше о функциях WildFly.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Оставьте комментарий