Как установить WildFly (JBoss) на Debian 10 Linux

12 set 2022 6 min di lettura
Как установить WildFly (JBoss) на Debian 10 Linux
Indice dei contenuti

Введение

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.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.