Как установить WildFly на Ubuntu

WildFly — это мощный сервер приложений Java с открытым исходным кодом, известный своей высокой производительностью и гибкой архитектурой. Он поддерживается компанией Red Hat в рамках сообщества JBoss и представляет собой быструю и безопасную среду для запуска Java-приложений корпоративного уровня. В этом руководстве рассказывается, как установить WildFly на Ubuntu 24.04, настроить его как системную службу и настроить важные параметры безопасности. Выполнив эти шаги, вы упростите развертывание и управление Java-приложениями как в среде разработки, так и в производственной среде.

Предварительные условия

Перед развертыванием WildFly на Ubuntu 24.04 убедитесь в наличии следующих требований:

  • Сервер Ubuntu 24.04: Свежая или существующая установка с правами администратора (доступ sudo).
  • Комплект средств разработки Java: Для работы WildFly требуется среда Java, обычно OpenJDK 11 или выше.
  • Достаточное количество системных ресурсов: Хотя WildFly может работать с минимальными ресурсами, выделите достаточно процессора, оперативной памяти и хранилища для бесперебойной работы.
  • Подключение к Интернету: Для загрузки пакетов и обновлений необходима достаточная пропускная способность.
  • Пользователь без права рута: Для повышения безопасности WildFly должен работать под выделенным пользователем.

Знание основных команд Linux поможет при устранении неполадок и изменении конфигурации. Большинство шагов связано с использованием терминала, поэтому знакомство с администрированием командной строки будет полезным.

Шаг 1: Обновление системы

Обновление операционной системы гарантирует наличие последних исправлений безопасности и улучшений пакетов. Используйте следующие команды для обновления системы:

sudo apt update
sudo apt upgrade -y

Эта команда обновляет репозитории пакетов и обновляет все устаревшие пакеты. Регулярное обновление помогает снизить риски производительности и безопасности. Перезагрузите сервер, если обновления ядра или библиотек ядра требуют этого:

sudo reboot

После перезагрузки перейдите к следующим шагам.

Шаг 2: Установите Java OpenJDK

WildFly — это сервер приложений на базе Java. Перед развертыванием WildFly необходимо установить соответствующую версию Java Development Kit. Следующая команда устанавливает OpenJDK по умолчанию, доступный в репозиториях Ubuntu:

sudo apt install default-jdk -y

После установки проверьте версию Java:

java --version

В результате должна появиться версия OpenJDK, равная 11 или выше. Убедитесь, что установка завершилась успешно, поскольку WildFly полагается на Java для всех своих основных функций. Если существуют дополнительные версии JDK, установите версию по умолчанию, используя:

sudo update-alternatives --config java

Выберите предпочтительную для вашей среды установку Java. Правильная установка Java поможет избежать проблем с развертыванием в дальнейшем.

Шаг 3: Создайте выделенного пользователя и группу для WildFly

Запуск WildFly под выделенным пользователем предотвращает потенциальные нарушения безопасности, которые могут скомпрометировать учетную запись root. Создайте пользователя и группу с именем wildfly в каталоге /opt, где будет располагаться WildFly:

sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Эта пара команд добавляет группу и пользователя, который не может войти в систему в интерактивном режиме. Установка WildFly под этим пользователем ограничивает доступ к файлам и процессам, способствуя созданию более безопасной среды. Если каталог /opt/wildfly еще не существует, он будет создан во время установки и настройки.

Шаг 4: Загрузите последний бинарный пакет WildFly

Последние стабильные бинарные пакеты можно найти на официальном сайте WildFly или на странице релизов на GitHub. Определите последнюю финальную версию WildFly. В качестве примера используйте следующую команду для загрузки версии 27.0.0.Final в каталог /tmp:

wget https://github.com/wildfly/wildfly/releases/download/27.0.0.Final/wildfly-27.0.0.Final.tar.gz -P /tmp

Убедитесь, что файл был сохранен правильно, проверив загруженный пакет в каталоге /tmp. Если там находится другая версия, просто замените URL соответствующим образом. Для дополнительной безопасности можно проверить контрольные суммы и подлинность файлов.

Шаг 5: Извлечение и перемещение файлов WildFly

Скачанный архив представляет собой файл .tar.gz, который необходимо извлечь перед установкой. Перейдите в каталог /tmp и распакуйте его в каталог /opt:

sudo tar xf /tmp/wildfly-27.0.0.Final.tar.gz -C /opt/.

После извлечения создайте символическую ссылку /opt/wildfly, указывающую на папку WildFly:

sudo ln -s /opt/wildfly-27.0.0.Final /opt/wildfly

Эта симлинк облегчает обновление версий. Вместо того чтобы изменять пути при каждом обновлении WildFly, достаточно перенаправить символическую ссылку на новую папку. Далее настройте права собственности на каталог, чтобы пользователь и группа wildfly могли получить к нему доступ:

sudo chown -RH wildfly:wildfly /opt/wildfly

Флаг -RH также обеспечивает правильное владение симлинками. Для успешного запуска очень важно, чтобы все подкаталоги в каталоге /opt/wildfly принадлежали пользователю wildfly.

Шаг 6: Настройте WildFly как службу Systemd

Настройка WildFly в качестве службы systemd упрощает управление, позволяя автоматически запускать, останавливать и проверять состояние с помощью стандартных команд Linux. Это рекомендуемый подход для Ubuntu 24.04.

Создание каталога конфигурации

Начните с создания специальной папки для файлов конфигурации WildFly:

sudo mkdir -p /etc/wildfly

Использование папки /etc/wildfly позволяет отделить пользовательскую конфигурацию от основного пути установки.

Копирование файлов конфигурации

В архиве WildFly есть примеры скриптов для интеграции с systemd:

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo chmod +x /opt/wildfly/bin/*.sh
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Файл wildfly.conf содержит переменные окружения, такие как WILDFLY_BIND или WILDFLY_CONSOLE_BIND. Сценарий launch.sh содержит команды, которые systemd использует для запуска сервера в автономном или доменном режиме. Пометка скриптов как исполняемых гарантирует, что systemd сможет запустить их должным образом.

Включение и запуск службы

Перезагрузите systemd, чтобы распознать новый файл службы:

sudo systemctl daemon-reload

Затем включите службу, чтобы она автоматически запускалась при перезагрузке:

sudo systemctl enable wildfly.service

Наконец, запустите службу:

sudo systemctl start wildfly.service

Чтобы убедиться, что WildFly запущен, проверьте его статус:

sudo systemctl status wildfly.service

Если служба не запускается, возможные причины — неправильная конфигурация Java, проблемы с владением файлами или несоответствие версий. Изучите журналы ошибок, выполнив команду:

journalctl -u wildfly.service

Устранение сообщений об ошибках, появляющихся здесь, обычно восстанавливает нормальную работу.

Шаг 7: Настройте правила брандмауэра

По умолчанию WildFly отвечает на порту 8080. Для удаленного управления обычно используется порт 9990. В системах Ubuntu для управления брандмауэром обычно используется UFW (Uncomplicated Firewall). Убедитесь, что эти порты открыты, если это необходимо для удаленного доступа.

sudo ufw allow 8080/tcp
sudo ufw allow 9990/tcp

Чтобы проверить эти правила:

sudo ufw status

При размещении приложения в производстве часто целесообразно ограничить административные консоли доверенным IP-адресом. Ограничение доступа к порту 9990 снижает риск несанкционированных изменений.

Шаг 8: Доступ к административной консоли WildFly

После запуска WildFly проверьте установку, направив браузер на http://<server-ip>:8080/. Для локального тестирования используйте http://localhost:8080/. Страница приветствия указывает на то, что служба работает.

Добавление пользователя-администратора

WildFly включает в себя простой сценарий для создания административных пользователей. Этот пользователь будет управлять сервером через веб-консоль или CLI. Запустите этот скрипт:

sudo /opt/wildfly/bin/add-user.sh

Следуя подсказкам, введите имя пользователя и пароль. Когда вас попросят указать область и роль, укажите «ManagementRealm» и «admin» соответственно, чтобы получить полные привилегии управления. Выберите надежный пароль.

Включите удаленное управление

Чтобы получить удаленный доступ к консоли управления, откройте в браузере адрес http://<server-ip>:9990/. Если это не удается, проверьте, установлен ли адрес привязки консоли в файле /etc/wildfly/wildfly.conf или standalone.xml на 0.0.0.0 или соответствующий IP. Если изменения были внесены, перезапустите WildFly:

sudo systemctl restart wildfly.service

Наконец, войдите в систему с административными учетными данными, созданными с помощью сценария add-user.sh. Эта консоль позволяет развертывать приложения, редактировать конфигурации и просматривать настройки подсистем.

Шаг 9: Обеспечение безопасности установки WildFly

После установки и настройки WildFly необходимо усилить меры безопасности, чтобы среда оставалась защищенной от угроз:

  • Используйте сложные пароли: Всегда выбирайте сложные пароли для учетных записей администраторов, сочетающие прописные и строчные буквы, цифры и специальные символы.
  • Ограничьте доступ к консоли: Ограничьте удаленный доступ только доверенными IP-адресами, если это возможно. Измените правила брандмауэра или настройте сетевую безопасность, чтобы блокировать потенциальных злоумышленников.
  • Отключите ненужные службы: Если не используется режим домена, избегайте открытия портов, связанных с доменом. Минимизация открытых портов уменьшает площадь атаки на сервер.
  • Включите HTTPS/SSL: где необходимо, настройте TLS для защиты передаваемых данных. Генерирование самоподписанного сертификата или использование сертификата, подписанного ЦС, может быть выполнено через подсистему безопасности сервера.

Упор на безопасность с самого начала позволяет избежать сложностей и избежать проблем с соблюдением требований для корпоративных развертываний.

Шаг 10: Тестирование и проверка установки

Проверка работоспособности подтверждает правильность настроек сервера, учетных данных пользователей и брандмауэра. Тщательная проверка включает в себя:

Проверка состояния службы

Убедитесь, что служба активна и включена при запуске:

sudo systemctl status wildfly.service

Развертывание примера приложения

Создайте (или загрузите) небольшое веб-приложение на Java (например, простой файл hello-world.war) и поместите его в папку /opt/wildfly/standalone/deployments/. WildFly развернет его автоматически. Проверьте в консоли или журналах сервера, чтобы убедиться, что развертывание прошло успешно. Зайдите в приложение в браузере по адресу:

http://<server-ip>:8080/hello-world.

Просмотрите журналы

Просмотрите файл журнала WildFly standalone/log/server.log на предмет ошибок или предупреждений:

sudo tail -f /opt/wildfly/standalone/log/server.log

Постоянный мониторинг журналов помогает обнаружить ошибки конфигурации на ранней стадии. Ищите специфические исключения или сообщения об ошибках, которые могут указывать на конфликты библиотек или нехватку ресурсов.

Дополнительно: Интеграция Nginx в качестве обратного прокси-сервера

Для установок производственного уровня или для обслуживания нескольких приложений на одном сервере конфигурация обратного прокси с Nginx может упростить управление.

Установите Nginx

Выполните эту команду, чтобы установить Nginx на Ubuntu:

sudo apt install nginx -y

Настройка Nginx в качестве обратного прокси

Создайте новый файл конфигурации, например, /etc/nginx/sites-available/wildfly.conf:

server {
    listen 80;
    server_name your_server_ip_or_domain;

    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Включите конфигурацию, создав символическую ссылку:

sudo ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/

Удалите или отключите сайт по умолчанию, если он конфликтует с новой конфигурацией:

sudo rm /etc/nginx/sites-enabled/default

Затем протестируйте и перезагрузите Nginx:

sudo nginx -t
sudo systemctl restart nginx

Теперь запросы к http://your_server_ip_or_domain/ автоматически перенаправляются на сервер WildFly на порт 8080. Такой подход позволяет сохранить внешний интерфейс на порту 80 (или 443 для HTTPS) и скрыть порт сервера приложений от публичного доступа. SSL-сертификаты и расширенное кэширование также можно настроить в Nginx.

Дополнительные ресурсы и советы по устранению неполадок

  • Документация WildFly: Посетите официальную документацию для получения подробной информации о подсистемах и настройках безопасности.
  • Системные журналы: Проверьте журналы journalctl или каталог /var/log, чтобы устранить проблемы системного уровня, такие как проблемы с путями к Java или конфликты брандмауэров на уровне ОС.
  • Конфликты портов: Если другой процесс использует порт 8080 или 9990, измените смещения в файле standalone.xml или уничтожьте конфликтующий процесс. Для выявления конфликтов используйте sudo lsof -i :8080.
  • Домашняя среда Java: Если WildFly жалуется на отсутствие Java или несоответствие версий, определите переменные окружения JAVA_HOME и JRE_HOME в файле /etc/wildfly/wildfly.conf.
  • Режим домена против автономного режима: WildFly имеет режим домена для организации работы нескольких серверов. Если режим домена не предназначен, убедитесь, что переменная WILDFLY_MODE в wildfly.conf установлена на standalone.

Поздравляем! Вы успешно установили WildFly. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт WildFly.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x