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

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

22 Февраля 2021 | Ubuntu

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

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

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

Прежде чем приступить

Чтобы иметь возможность устанавливать пакеты в вашей системе 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 wildfly sudo 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.Final wget 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 :
 

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
 

Затем скопируйте launch.sh скрипт WildFly в /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 : baksdev
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 'baksdev' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'baksdev' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'baksdev' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'baksdev' with groups  to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'baksdev' 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: baksdev
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.

    Комментарии

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

Загрузка комментариев...