Введение
WildFly, ранее известная как JBoss, представляет собой кроссплатформенную среду выполнения приложений с открытым исходным кодом, написанную на Java, которая помогает создавать потрясающие приложения. WildFly является гибким, легким и использует подключаемые подсистемы, которые можно добавлять или удалять по мере необходимости.
В этом руководстве мы покажем вам шаги, необходимые для установки сервера приложений WildFly в Debian 10.
Предпосылки
Вошедший в систему пользователь должен иметь привилегии sudo, чтобы иметь возможность устанавливать пакеты.
Если вы хотите установить WildFly на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Установите Java OpenJDK
WildFly требует установки Java. Давайте установим OpenJDK на Debian 19:
sudo apt update
sudo apt install default-jdk
Создать пользователя
Создайте нового пользователя и системную группу с именем wildfly
с домашним каталогом /opt/wildfly
, который будет запускать службу WildFly:
sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Установить WildFly
На момент написания этой статьи последняя версия WildFly — 18.0.1
. Прежде чем перейти к следующему шагу, вам необходимо проверить страницу загрузки на наличие новой версии. Если доступна новая версия, замените переменную WILDFLY_VERSION
в следующей команде.
Загрузите архив WildFly в каталог /tmp
с помощью следующей команды wget
:
WILDFLY_VERSION=18.0.1.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
Настроить 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 будет работать в автономном режиме и прослушивать все интерфейсы. Для стандартной конфигурации нет необходимости изменять файл конфигурации, в противном случае откройте следующий файл и измените его в соответствии с вашими потребностями:
sudo nano /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
y должны иметь исполняемые флаги:
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/
Перезагрузите конфигурацию системного администратора:
sudo systemctl daemon-reload
Запустите и включите службу WildFly для автоматического запуска при запуске:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Проверьте статус службы с помощью следующей команды:
sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-01-11 16:13:02 CET; 6s ago
Main PID: 3652 (launch.sh)
Tasks: 54 (limit: 2301)
Memory: 144.7M
CGroup: /system.slice/wildfly.service
├─3652 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
├─3653 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
└─3733 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.prefer
Настроить брандмауэр
Если ваш сервер защищен брандмауэром и вы хотите получить доступ к интерфейсу WildFly из-за пределов вашей локальной сети, вам необходимо открыть порт 8080
.
Чтобы разрешить трафик через порт 8080
, введите следующую команду:
sudo ufw allow 8080/tcp
При запуске приложения WildFly в производственной среде у вас, скорее всего, будет балансировка нагрузки или обратный прокси -сервер, и рекомендуется, чтобы доступ к порту 8080 был ограничен только вашей внутренней сетью.
Настроить аутентификацию 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: Noviello
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 'Noviello' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'Noviello' to file '/opt/wildfly-18.0.1.Final/standalone/configuration/mgmt-users.properties'
Added user 'Noviello' to file '/opt/wildfly-18.0.1.Final/domain/configuration/mgmt-users.properties'
Added user 'Noviello' with groups to file '/opt/wildfly-18.0.1.Final/standalone/configuration/mgmt-groups.properties'
Added user 'Noviello' with groups to file '/opt/wildfly-18.0.1.Final/domain/configuration/mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
eg 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="UGllcm8xMmVfIQ==" />
Новый пользователь будет добавлен в файлы свойств, используемые для аутентификации.
Тест установки WildFly
Чтобы получить доступ к странице WildFly по умолчанию, откройте браузер и введите свой IP-адрес или доменное имя, указав порт 8080
: http://TUO_DOMINIO_O_IP>:8080
Предполагая, что установка прошла успешно, вы увидите страницу приветствия WildFly.
Войдите в консоль администрирования WildFly.
Интерфейс командной строки
Для доступа к консоли администрирования WildFly из командной строки вы можете использовать скрипт jboss-cli.sh
.
Перейдите в каталог bin WildFly и запустите скрипт с параметром --connect
:
cd /opt/wildfly/bin/
./jboss-cli.sh --connect
Вам будет предложено ввести административный логин и пароль, созданные ранее, или первый вход будет выполнен автоматически:
Authenticating against security realm: ManagementRealm
Username: Noviello
Password:
После входа приглашение консоли изменится на [standalone@localhost:9990 /]
. Введите help
, чтобы получить список команд и их синтаксис.
Отсюда вы можете развертывать и отменять развертывание приложений, управлять пользователями и группами, а также настраивать и контролировать сервер WildFly.
веб интерфейс
Если вы предпочитаете управлять своим сервером из графического интерфейса, WildFly также предоставляет веб-консоль.
По умолчанию консоль администрирования WildFly доступна только с локального хоста по http://localhost:9990/console
. Войдите в систему, используя пользователя, которого вы создали ранее.
Если вы хотите получить доступ к консоли из удаленных мест, вам нужно внести небольшие изменения в wildfly.service
, wildfly.conf
и launch.sh
.
Откройте wildfly.conf
и добавьте WILDFLY_CONSOLE_BIND=0.0.0.0
в конец файла:
sudo nano /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
и отредактируйте следующие строки $WILDFLY_HOME/bin/domain.sh
и $WILDFLY_HOME/bin/standalone.sh
, результат должен быть примерно таким:
sudo nano /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
f
Перезапустите службу, чтобы изменения вступили в силу:
sudo systemctl restart wildfly
Откройте wildfly.service
и отредактируйте строку ExecStart
следующим образом:
sudo nano /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/
Перезагрузите конфигурацию системного администратора:
sudo systemctl daemon-reload
Перезапустите службу WildFly, выполнив:
sudo systemctl restart wildfly
Предполагая, что ваш брандмауэр не блокирует порт 9990
, вы сможете получить доступ к консоли администратора WildFly по адресу http://TUO_DOMINIO_O_IP:9990/console
.
Вывод
Вы успешно установили WildFly на свой сервер Debian 10. Вам следует посетить официальную документацию WildFly и узнать больше о функциях WildFly.