Як встановити 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.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.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