Установка и настройка Oracle WebLogic на CentOS 7

В этом руководстве описан процесс установки и базовой настройки Oracle WebLogic на операционной системе CentOS 7 (64‑бит). Oracle WebLogic — корпоративный Java EE‑middleware, часто используемый для развёртывания масштабируемых приложений. В статье показаны шаги для развёртывания Admin Server и двух Managed Servers, объединённых в кластер.
Кому пригодится это руководство: системным администраторам, инженерам DevOps и разработчикам, которые разворачивают WebLogic в тестовой или начальной production‑среде.
В статье используются реальные команды и вывод консоли; код и журналы сохранены в исходном виде.
Основные понятия (в одну строку)
- Admin Server — центральный сервер администрирования домена WebLogic.
- Managed Server — рабочая нода, выполняющая приложения.
- Domain — логическое пространство конфигурации WebLogic (набор серверов, ресурсов, политики безопасности).
- Template (шаблон) — архив с конфигурацией домена, который можно распаковать на Managed Server.
Что будет в конце
- Рабочая среда с Admin Server (порт 7001) и двумя Managed Servers в кластере.
- Шаблон домена, который можно копировать на другие ноды для быстрого развёртывания.
Important: большинство шагов выполняются от имени непользователя root — создавайте отдельного пользователя (например, weblogic owner) и держите владельца installation файлов вне root.
Ссылки по теме
- Руководство Oracle WebLogic и официальные патчи — на сайте Oracle. (В этом руководстве используются оффлайн‑инсталляторы и JDK RPM.)
1. Предварительные заметки
В примере используется CentOS 7.4 x86_64. Большинство шагов аналогичны в Red Hat и Oracle Linux. В production чаще применяют Oracle Linux, но процедуры установки WebLogic идентичны.
Мы настроим один Admin Server и два Managed Servers. Администрирование кластера выполняется через консоль Admin Server.
Важно: установка JDK и WebLogic должна выполняться от непользователя (non‑root). Создайте отдельного пользователя-«владельца» для WebLogic.
2. Фаза установки
Шаг 1 — установка JDK на каждый хост (Admin и Managed). В примере загружается JDK 8u131 и устанавливается RPM.
[root@weblogic_mgr opt]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
--2018-06-09 12:57:05-- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
Resolving download.oracle.com (download.oracle.com)... 23.49.16.62
Connecting to download.oracle.com (download.oracle.com)|23.49.16.62|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm [following]
--2018-06-09 12:57:10-- https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
Resolving edelivery.oracle.com (edelivery.oracle.com)... 104.103.48.174, 2600:1417:58:181::2d3e, 2600:1417:58:188::2d3e
Connecting to edelivery.oracle.com (edelivery.oracle.com)|104.103.48.174|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1528549151_b1fd01d854bc0423600a83c36240028e [following]
--2018-06-09 12:57:11-- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1528549151_b1fd01d854bc0423600a83c36240028e
Connecting to download.oracle.com (download.oracle.com)|23.49.16.62|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 169983496 (162M) [application/x-redhat-package-manager]
Saving to: ‘jdk-8u131-linux-x64.rpm’
100%[==============================================================================>] 169,983,496 2.56MB/s in 64s
2018-06-09 12:58:15 (2.54 MB/s) - ‘jdk-8u131-linux-x64.rpm’ saved [169983496/169983496]
[root@weblogic_mgr opt]# yum localinstall -y jdk-8u131-linux-x64.rpm
После установки задайте JAVA_HOME и обновите PATH в профиле пользователя (root и пользователь‑владелец WebLogic должны иметь корректные переменные):
[root@weblogic_mgr opt]# vi /root/.bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
export PATH
Загрузите профиль и проверьте версию Java:
[root@weblogic_mgr opt]# source /root/.bash_profile
[root@weblogic_mgr opt]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Шаг 2 — создайте непользователя (в примере — shahril) и настройте домашние каталоги и переменные окружения для WebLogic‑владельца.
[root@weblogic_mgr opt]# useradd -s /bin/bash shahril Установите пароль и переключитесь на пользователя:
[root@weblogic_mgr opt]# passwd shahril
[...]
[root@weblogic_mgr opt]# su - shahril
[shahril@weblogic_mgr ~]$ pwd
/home/shahril Настройте переменные окружения пользователя WebLogic (пример best practice):
- ORACLE_BASE — базовый каталог установки Oracle.
- ORACLE_HOME — каталог программ Oracle/необязательно для клиента Oracle.
- MW_HOME — базовый каталог middleware.
- WLS_HOME — каталог WebLogic Server.
- WL_HOME — каталог Admin/Managed server.
- DOMAIN_BASE — базовая директория доменов.
- DOMAIN_HOME — конкретный домен (например, TEST).
[shahril@weblogic_mgr wls]$ vi /home/shahril/.bash_profile
export ORACLE_BASE=/home/shahril/wls/oracle
export ORACLE_HOME=$ORACLE_BASE/product/fmw12
export MW_HOME=$ORACLE_HOME
export WLS_HOME=$MW_HOME/wlserver
export WL_HOME=$WLS_HOME
export DOMAIN_BASE=$ORACLE_BASE/config/domains
export DOMAIN_HOME=$DOMAIN_BASE/TEST
export JAVA_HOME=/usr/java/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
export PATH
[shahril@weblogic_mgr wls]$ source /home/shahril/.bash_profile
[shahril@weblogic_mgr wls]$ mkdir -p $ORACLE_BASE
[shahril@weblogic_mgr wls]$ mkdir -p $DOMAIN_BASE
[shahril@weblogic_mgr wls]$ mkdir -p $ORACLE_HOME
[shahril@weblogic_mgr wls]$ mkdir -p $ORACLE_BASE/config/applications
[shahril@weblogic_mgr wls]$ mkdir -p /home/shahril/wls/oraInventory Шаг 3 — создайте oraInst.loc и wls.rsp (файлы инвентаря и response‑файл). oraInst.loc указывает местоположение oraInventory, а wls.rsp используется для безголовой установки WebLogic.
[shahril@weblogic_mgr wls]$ pwd
/home/shahril/wls
[shahril@weblogic_mgr wls]$ vi oraInst.loc
inventory_loc=/home/shahril/wls/oraInventory
inst_group=shahril
[shahril@weblogic_mgr wls]$ vi wls.rsp
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
ORACLE_HOME=/home/shahril/wls/oracle/product/fmw12
INSTALL_TYPE=WebLogic Server
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
Шаг 4 — скачайте инсталлятор WebLogic (в примере fmw_12.1.3.0.0_wls.jar) и выполните команду mv для корректного имени файла, затем запустите установку в silent‑режиме.
[shahril@weblogic_mgr ~]$ cd $ORACLE_BASE
[shahril@weblogic_mgr oracle]$ wget http://download.oracle.com/otn/nt/middleware/12c/wls/1213/fmw_12.1.3.0.0_wls.jar?AuthParam=1530174357_1de6ededa212d8bc86524a0fb78ac0df
[...сохранение файла...]
[shahril@weblogic_mgr oracle]$ mv fmw_12.1.3.0.0_wls.jar?AuthParam=1530174357_1de6ededa212d8bc86524a0fb78ac0df fmw_12.1.3.0.0_wls.jar Запуск инсталляции:
[shahril@weblogic_mgr wls]$ java -jar /home/shahril/wls/oracle/fmw_12.1.3.0.0_wls.jar -silent -responseFile /home/shahril/wls/wls.rsp -invPtrLoc /home/shahril/wls/oraInst.loc
Launcher log file is /tmp/OraInstall2018-06-10_12-44-24PM/launcher2018-06-10_12-44-24PM.log.
Extracting files.......
Starting Oracle Universal Installer
[...лог установки...]
The installation of Oracle Fusion Middleware 12c WebLogic Server and Coherence 12.1.3.0.0 completed successfully.
Logs successfully copied to /home/shahril/wls/oraInventory/logs. После успешной установки можно переходить к конфигурации домена и серверов.
3. Фаза конфигурации
Основные уровни конфигурации:
- Конфигурация WebLogic (серверные параметры, SSL, порты)
- Конфигурация домена (создание домена, пользователи, политики безопасности)
В примере создаётся домен TEST и AdminServer с портами 7001 (HTTP) и 7002 (SSL).

Пример создания домена через WLST (WebLogic Scripting Tool):
[shahril@weblogic_mgr wls]$ cd $WL_HOME
[shahril@weblogic_mgr wlserver]$ cd common/bin/
[shahril@weblogic_mgr bin]$ ./commEnv.sh
[shahril@weblogic_mgr bin]$ ./wlst.sh
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Initializing WebLogic Scripting Tool (WLST) ...
[...интерактивный WLST...]
wls:/offline> readTemplate('/home/shahril/wls/oracle/product/fmw12/wlserver/common/templates/wls/wls.jar')
wls:/offline/base_domain>cd('Servers/AdminServer')
wls:/offline/base_domain/Server/AdminServer>set('ListenAddress','172.17.0.6')
wls:/offline/base_domain/Server/AdminServer>set('ListenPort',7001) ## Port that will be assign to each domain
[...настройка SSL, пароль weblogic...]
wls:/offline/base_domain/Security/base_domain/User/weblogic>cmo.setPassword('Test1234')
wls:/offline/base_domain/Security/base_domain/User/weblogic>setOption('OverwriteDomain','true')
wls:/offline/base_domain/Security/base_domain/User/weblogic>writeDomain('/home/shahril/wls/oracle/config/domains/TEST')
wls:/offline/TEST/Security/TEST/User/weblogic>closeTemplate()
wls:/offline>exit()
Exiting WebLogic Scripting Tool. Запуск Admin Server:
[shahril@weblogic_mgr bin]$ cd $DOMAIN_HOME
[shahril@weblogic_mgr TEST]$ cd bin/
[shahril@weblogic_mgr bin]$ ./startWebLogic.sh &
[1] 19303
[shahril@weblogic_mgr bin]$ .
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m
[...журнал старта...]
Jun 10, 2018 1:11:51 PM UTC Notice WebLogicServer BEA-000331 Started the WebLogic Server Administration Server "AdminServer" for domain "TEST" running in development mode.
Jun 10, 2018 1:11:52 PM UTC Notice WebLogicServer BEA-000365 Server state changed to RUNNING. Проверка слушающих портов (пример):
[shahril@weblogic_mgr bin]$ netstat -apn|grep -i :70
tcp 0 0 172.17.0.6:7001 0.0.0.0:* LISTEN 19360/java
tcp 0 0 172.17.0.6:7002 0.0.0.0:* LISTEN 19360/java Упаковка домена в шаблон для Managed Servers (pack/unpack) — позволяет создать шаблон TEST_template.jar, который копируется на Managed Server и распаковывается там.
[shahril@weblogic_mgr bin]$ $WL_HOME/common/bin/pack.sh -domain=$DOMAIN_HOME -template=$WL_HOME/common/templates/domains/TEST_template.jar -template_name=TEST -managed=true
[...результат: TEST_template.jar создан...]
[shahril@weblogic_mgr ~]$ scp -r /home/shahril/wls/oracle/product/fmw12/wlserver/common/templates/domains/TEST_template.jar 172.17.0.7:/home/shahril/wls/ На Managed Server распакуйте шаблон:
[shahril@weblogic_node1 ~]$ cd $WL_HOME
[shahril@weblogic_node1 wlserver]$ $WL_HOME/common/bin/unpack.sh -template=/home/shahril/wls/TEST_template.jar -domain=$DOMAIN_HOME Запуск Managed Server (пример для Node_Server01):
[shahril@weblogic_node1 wlserver]$ cd $DOMAIN_HOME
[shahril@weblogic_node1 TEST]$ cd bin/
[shahril@weblogic_node1 bin]$ ./startManagedWebLogic.sh Node_Server01 t3://172.17.0.6:7001 &
[...журнал старта Managed Server...]
Jun 10, 2018 3:29:48 PM UTC Notice WebLogicServer BEA-000332 Started the WebLogic Server Managed Server "Node_Server01" for domain "TEST" running in development mode. 4. Фаза тестирования
Откройте консоль Admin Server: http://172.17.0.6:7001/console и авторизуйтесь (в примере weblogic/Test1234). Через Environment → Servers добавьте Managed Servers и создайте кластер.



При добавлении Managed Server в GUI нажмите кнопку с соответствующей иконкой:

Заполните IP и порт Managed Server, затем задайте имя кластера и добавьте сервер в кластер.


После старта Managed Server обновите консоль, и вы увидите, что нода присоединилась к кластеру и находится в статусе RUNNING.


Поздравляем — кластер WebLogic создан.
Практические рекомендации и сценарии использования
- Используйте Oracle Linux в production для полной совместимости с Oracle‑пакетами и поддержкой.
- Для автоматизированных развёртываний используйте pack/unpack + стандартные response‑файлы и конфигурационный management (Ansible/Terraform + Vault для паролей).
- Для контейнеризации рассматривайте официальные образы Oracle WebLogic на Docker (в связке с Kubernetes Operator для WebLogic) — альтернативный подход к масштабированию.
Чек‑листы и роли
Чек‑лист для системного администратора (подготовка хоста):
- Установлен JDK (JAVA_HOME).
- Пользователь WebLogic создан и директории имеют правильные права.
- Firewall/SELinux настроены (порты 7001/7002 и порты Managed Servers открыты).
- Доступ к загрузочным файлам Oracle (rpm/jar) и место для oraInventory.
Чек‑лист для администратора WebLogic (конфигурация домена):
- Домены созданы и записаны в DOMAIN_HOME.
- Пользователь weblogic создан с безопасным паролем и хранится в секретном хранилище.
- SSL ключи/сертификаты подготовлены (не полагаться на DemoIdentity в production).
- NodeManager настроен и проверен для автозагрузки Managed Servers.
Чек‑лист для DevOps (развёртывание приложений):
- Проверены CLASSPATH и версии Java.
- Конфигурация JDBC, JNDI и Datasources протестированы на тестовом кластере.
- CI/CD настроен на deploy артефактов в локальные staging среды.
Критерии приёмки
- Admin Server и все Managed Servers запускаются и достигают статуса RUNNING через консоль.
- Шаблон домена успешно создан и распаковывается на Managed Servers без ошибок.
- Приложение деплоится в кластер и доступно через HTTP/HTTPS.
- Логи старта не содержат критических ошибок (CRITICAL/FATAL) и слушающие порты корректны.
Рекомендации по безопасности
- Не используйте DemoIdentity.jks в production. Поддерживайте персональные сертификаты в keystore и доверенные CA.
- Храните пароли WebLogic в безопасном хранилище (Vault, HSM или Managed Secret Storage).
- Включите TLS для административных подключений (Admin port/SSL).
- Минимизируйте доступ по сети: разрешите доступ в консоль только с доверенных адресов или через VPN.
Устранение неполадок: частые ошибки и решения
- Сервер не стартует (статус STARTING/ADMIN): проверьте логи AdminServer.log и Node log в %DOMAIN_HOME%/servers/*/logs.
- Managed Server не присоединяется к Admin Server: проверьте параметр -Dweblogic.management.server URL (t3://admin:7001), сетевую связность и часы/ntpd.
- Ошибки SSL/сертификатов: убедитесь, что truststore корректно указывает на CA и что alias ключа совпадает.
- Ошибки при pack/unpack: проверьте права на файлы шаблона, каталог и соответствие версий WebLogic.
Debug‑хитрости:
- Включите более подробный логгинг в domain конфигурации для диагностики сетевых/кластера сообщений.
- Для отладки NodeManager используйте прямой вызов WLST и попытайтесь подключиться вручную.
Альтернативные подходы и когда они подходят
- Docker + Kubernetes: подходит для микросервисных деплоев, автоматического масштабирования и облачных сред. Для WebLogic есть официальный Operator от Oracle, который упрощает lifecycle.
- Oracle WebLogic в виртуальных машинах/VMs: проще в поддержке при традиционной инфраструктуре без оркестрации.
- Tomcat/Payara/Jetty: рассмотрите, если вам не требуется полный стек Java EE, и вам нужна лёгкая контейнеризация.
Контрпример: если у вас простое веб‑приложение без зависимостей Java EE, WebLogic будет избыточен — используйте более лёгкие контейнеры.
Мини‑методология развёртывания (SOP)
- Подготовка хостов: обновление ОС, установка JDK, создание пользователя weblogic.
- Подготовка директорий: ORACLE_BASE, oraInventory, DOMAIN_BASE.
- Скачивание и установка WebLogic в silent режиме с wls.rsp.
- Создание домена через WLST (readTemplate, set параметров, writeDomain).
- Запуск Admin Server, создание шаблона pack.sh.
- Распространение шаблона на Managed Servers и unpack.sh + startManagedWebLogic.sh.
- Консольная проверка и добавление Managed Servers в кластер.
- Тестирование деплоя приложения и мониторинг логов.
Тесты и критерии приёмки (короткий набор)
- Тест 1: доступ к Admin Console по http://172.17.0.6:7001 — ожидание 200 OK.
- Тест 2: Managed Server присоединён к Admin и имеет статус RUNNING.
- Тест 3: простое web‑приложение деплоится и отвечает на запросы через кластерный адрес.
- Тест 4: проверка failover — остановка одной Managed ноды и подтверждение, что кластер продолжает обслуживать запросы.
Критерии успешности: все тесты проходят без критических ошибок, время реакции системы в пределах ожидаемых SLA окружения.
Факто‑бокс
- Примеры портов: Admin HTTP 7001, Admin SSL 7002, Managed Server по умолчанию 8001 в примере.
- JDK: 1.8.0_131 (в примере).
- Версия WebLogic: 12.1.3.0.0 (в примере).
Глоссарий (1‑строчные определения)
- WLST — WebLogic Scripting Tool, скриптовая оболочка для управления WebLogic (Jython).
- NodeManager — вспомогательный компонент для запуска/остановки Managed Servers.
- pack/unpack — утилиты для создания шаблона домена и развёртывания на других нодах.
Заключение
Вы установили и настроили Oracle WebLogic на CentOS 7: подготовили JDK, создали пользователя и окружение, установили WebLogic в silent‑режиме, создали домен TEST, упаковали шаблон и развернули Managed Server, добавили ноды в кластер через консоль. В руководстве также приведены чек‑листы, сценарии тестирования и рекомендации по безопасности и отладке.
Notes: для production требуется дополнительно внедрить централизованное логирование, мониторинг (например, Prometheus/ELK), резервные копии конфигурации и безопасное хранение секретов.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента