Как установить WildFly (JBoss) на CentOS 7

Как установить WildFly (JBoss) на CentOS 7

How to Install WildFly (JBoss) on CentOS 7

28 Декабря 2019 | CentOS

В этом руководстве объясняется, как установить сервер приложений WildFly на CentOS 7.

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

Вы должны войти в систему как пользователь с доступом 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 wildflysudo 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.Finalwget 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 будет работать в автономном режиме и будет прослушивать все интерфейсы. Вы можете редактировать файл в соответствии с вашими потребностями.

/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 wildflysudo 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/tcpsudo 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 в конце файла.


/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 в вашей системе CentOS 7. Теперь вы можете посетить официальную документацию WildFly и узнать больше о возможностях WildFly.


    Комментарии

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

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