В данной статье, мы рассмотрим вопрос установки и настройки IBM WebSphere Application Server Liberty Profile 8.5.5 на CentOS 7. В данном мануале, будет продемонстрирована установка trial версии WebSphere, но она ничем не отличается от полной версии, так что это не имеет значения.
Итак, поехали!
1) Подготовка и настройка ОС
В нашей работе мы будем использовать новую CentOS 7. На удивление, но «из коробки» ее нужно нехило так допилить до рабочего состояния, так что будьте к этому готовы. Итак, устанавливаем минимальную версию без графики и поехали. Через интерфейс — настройте сразу сеть, чтобы был интернет… это значительно облегчит вашу участь :)
Установим базовое ПО… которого почему-то нет в поставке:
yum install net-tools nano wget
Теперь проверим наш hostname и поправим hosts (поправьте как вам нравится):
nano /etc/hostname nano /etc/hosts
Далее, проверяем название нашего сетевого интерфейса (обычно будет что-то вроде ens32):
ifconfig -a
Чтобы это исправить, надо сначала поправить немного grub:
nano /etc/default/grub
В конце строки «GRUB_CMDLINE_LINUX» нужно добавить «net.ifnames=0 biosdevname=0«. Получится что-то типа такого (не обязательно 1 в 1):
GRUB_CMDLINE_LINUX="rd.lvm.lv=rootvg/usrlv rd.lvm.lv=rootvg/swaplv crashkernel=auto vconsole.keymap=usrd.lvm.lv=rootvg/rootlv vconsole.font=latarcyrheb-sun16 rhgb quiet net.ifnames=0 biosdevname=0"
Создаем новый конфиг и сохраняем результат:
grub2-mkconfig -o /boot/grub2/grub.cfg
Переименовываем наш сетевой интерфейс на нормальный, классический «eth0» и ребутимся:
mv /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-eth0 reboot
Настраиваем сеть:
nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" ONBOOT=yes BOOTPROTO=static IPADDR=1.1.4.185 NETMASK=255.255.248.0 GATEWAY=1.1.1.9 DNS1=1.1.1.10 DNS2=1.1.1.90
Отключаем лишний Network manager и ребутимся:
systemctl stop NetworkManager systemctl disable NetworkManager reboot
Проверяем, обозначен ли в системе как-нить IPv6:
lsmod | grep -i ipv6
Если сообщения будет иметь упоминания об IPv6, а оно будет, то переходим к его отключению:
nano /etc/default/grub
В начале строки «GRUB_CMDLINE_LINUX» нужно добавить «ipv6.disable=1«. Получится что-то типа такого:
GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=rootvg/usrlv...
Создаем новый конфиг и сохраняем результат:
grub2-mkconfig -o /boot/grub2/grub.cfg
Перезагружаемся:
reboot
Проверяем еще раз и убеждаемся, что все красиво:
lsmod | grep -i ipv6
Добавляем в систему EPEL (всякие «отягощенные» лицензиями пакеты) репозиторий для CentOS 7:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm rpm -ivh epel-release-7-2.noarch.rpm yum repolist
Новая ОС использует «главного» демона, управляющего другими демонами. Это systemd, который ввели вместо устаревших скриптов инициализации init.d. Также используется новый фаервол, firewalld вместо iptables. Проверим его работу и откроем нужные нам порты (9080 и 9443):
systemctl status firewalld firewall-cmd --permanent --zone=public --add-port=9080/tcp firewall-cmd --permanent --zone=public --add-port=9443/tcp systemctl restart firewalld
Собственно говоря, на этом настройка ОС заканчивается и мы переходим непосредственно к установке IBM WebSphere Application Server Liberty Profile 8.5.5
2) Установка WebSphere
Нам потребуется учетная запись IBM. После обычной регистрации можно скачать любое ПО (в целях разработки, оно еще называется trial version).
Переходим по ссылке и авторизуемся: http://www-03.ibm.com/software/products/en/appserv-was
Напрямую ПО скачивать не дают. Мы скачиваем универсальный Installation Manager, и потом уже через него мы сможем скачать нужное нам ПО. Содержимое архива BASETRIAL.agent.installer.linux.gtk.x86_64.zip распаковываем в папку was и ее же потом закачиваем на сервер в /root
Даем права и запускаем установку:
chmod -R 775 /root/was cd was ./installc -c
Первым делом, Installation Manager попросит нас ввести наш логин и пароль от учетки IBM. Нажимаем p и вводим учетные данные:
Выбираем для установки только следующие пункты (installation manager, websphere liberty и java sdk для нее):
А вот фиксы ставить не будем. Они не обязательные к установке, к тому же баганутые и устанавливаются с ошибкой:
Далее все проходим по пунктам, архитектура обязательно чтобы была 64. Все модули Liberty также устанавливаем. В общем, все как на скриншоте:
Итоговое сообщение. Что и куда устанавливается:
После этого — ждем. Сколько ждать? Зависит от скорости вашего Интернета и загруженности серверов IBM. Необходимо будет скачать около 500 мб, а то и больше. Запаситесь терпением… Что происходит? Инсталлятор подключает свои репозитории и скачивает с него заказанное ПО. Все красиво.
Сообщение об успешной установке выглядит так:
Теоретически, возможна также установка всего этого через response files, без диалогов. Но этот вариант также требует уже установленного Installation Manager, так что в нашем случае это не актуально..
Итак, все! мы установили IBM WebSphere Application Server Liberty Profile 8.5.5 и необходимую для его работы Java! Поздравляю! Сейчас мы рассмотрим, что можно сделать дальше.
3) Настройка WebSphere
Итак, вебсфера установлена. Что же дальше? Сфера поддерживает наличие множества серверов приложений внутри себя. Мы создадим один такой сервер и запустим его.
а) Запуск WebSphere
Давайте создадим наш тестовый сервер:
/opt/IBM/WebSphere/Liberty/bin/server create PROJECT
Создали. Появилась папка: /opt/IBM/WebSphere/Liberty/usr/servers/PROJECT Все настройки и будущие модули, будут находится именно в ней. Чтобы запустить данный СП, надо добавить в главный его конфиг строку host=’1.1.4.185′ (с нашим IP), над httpPort=’9080′ (это тут: /opt/IBM/WebSphere/Liberty/usr/servers/PROJECT/server.xml). Пример такого конфига: server.xml
Запускаем:
/opt/IBM/WebSphere/Liberty/bin/server start PROJECT
Перейдя по адресу http://1.1.4.185:9080 , увидим следующее:
Это значит, что все хорошо и вебсфера запустилась.
б) Установка модуля администрирования
Этот пункт не является обязательным. Но с модулем администрирования работать с вебсферой удобнее. Через него, можно останавливать и запускать модули по отдельности, без необходимости остановки всего сервера.
Итак, устанавливаем этот модуль:
/opt/IBM/WebSphere/Liberty/bin/featureManager install adminCenter-1.0 --when-file-exists=ignore
Далее, его необходимо обозначить в конфиге server.xml, как мы это уже делали выше. Вот новый обновленный конфиг: server,xml
Для входа в админку под админом, используем учетную запись: admin/password. А под пользователем: nonadmin/nonadminpwd.
Адрес входа на нее: http://1.1.4.185:9080/adminCenter/ Выглядит админка так:
Все! Модуль администрирования установлен.
в) Установка модуля расширений
Также, на Вебсферу нужно установить extended пакеты (расширенный набор библиотек и бинарников), делается это предельно просто:
/opt/IBM/WebSphere/Liberty/bin/featureManager install extendedPackage-1.0
г) Установка модулей
Мы подошли к самому интересному. Установка модулей в Liberty. Как же это сделать? Есть 2 способа, через папку /opt/IBM/WebSphere/Liberty/usr/servers/PROJECT/dropins и /opt/IBM/WebSphere/Liberty/usr/servers/PROJECT/apps
Из каталога dropins модули подхватываются и устанавливаются автоматически. Из каталога apps — их нужно вручную прописать в конфиге server.xml. Пример конфига, к котором подключается модуль через apps: server.xml
Для запуска СП не в фоне и с логами, выполните команду:
/opt/IBM/WebSphere/Liberty/bin/server run PROJECT
д) Плюсы
Тестированием проверено, что достаточно скопировать папку /opt/IBM на другой сервер и все будет работать из коробки. Очень удобно. Т.е. мы можем заранее настроить нужный нам СП и делать поставки целого пакета ПО сразу. А еще «вебсфера либерти» очень легкая и запускается/останавливается очень шустро :)
Удачи!