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 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.
Следующая команда изменит владельца каталога на пользователя и группу 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 будет работать в автономном режиме и будет прослушивать все интерфейсы. Вы можете редактировать файл в соответствии с вашими потребностями.
# 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
Шаг 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
в конец файла.
# 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
и отредактируйте выделенные строки:
#!/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
и отредактируйте выделенные строки:
[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.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.