Как установить WildFly (JBoss) на CentOS 7
Как установить WildFly (JBoss) на CentOS 7
How to Install WildFly (JBoss) on CentOS 7
В этом руководстве объясняется, как установить сервер приложений WildFly на CentOS 7.

Вы должны войти в систему как пользователь с доступом sudo, чтобы иметь возможность устанавливать пакеты в вашей системе CentOS.
Шаг 1: Установите Java OpenJDK
WildFly 9 требует Java SE 8 или более поздней версии. В этом руководстве мы установим OpenJDK , реализацию платформы Java с открытым исходным кодом, которая является разработкой Java по умолчанию и средой выполнения в CentOS 7.
Установите пакет OpenJDK, выполнив:
sudo yum install java-1.8.0-openjdk-devel
Шаг 2: Создать пользователя
Запуск WildFly от имени пользователя root представляет угрозу безопасности и не считается оптимальной практикой.
Чтобы создать нового системного пользователя и группу с именем в wildfly
домашнем каталоге, /opt/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
с помощью следующей команды chown :
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
Затем скопируйте 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 enable wildfly
Убедитесь, что служба работает:
sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago
Main PID: 3680 (launch.sh)
CGroup: /system.slice/wildfly.service
Шаг 5: Настройте брандмауэр
Если ваш сервер защищен брандмауэром и вы хотите получить доступ к экземпляру WildFly из-за пределов локальной сети, вам также необходимо открыть порт 8080.
Используйте следующие команды, чтобы открыть необходимый порт:
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
При запуске приложения WildFly в производственной среде, скорее всего, у вас будет балансировщик нагрузки или обратный прокси-сервер, и рекомендуется ограничить доступ к порту 8080 только для вашей внутренней сети.
Шаг 6. Настройка аутентификации WildFly
Теперь, когда WildFly установлен и запущен, следующим шагом является создание пользователя, который сможет подключаться с помощью консоли администрирования или удаленно с помощью CLI.
Чтобы добавить нового пользователя, используйте 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 at 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 в вашей системе CentOS 7. Теперь вы можете посетить официальную документацию WildFly и узнать больше о возможностях WildFly.