19.09.2010

Установка JDK, Maven и Geronimo

Нигде не нашел полных и хороших мануалов по установке этого сервера приложений. Хотя он вполне популярный. Ну и ладно, свой напишем. В этом посте описана только установка без всяких излишеств типа управление Geronimo из GUI.




Шаг 1-й, необязательный.
Для начала желательно поставить спецификации J2EE сервера Geronimo, а также пакет совместимости. Нашел я их в репозитории Oracle, описанном здесь. Итак:
yum install geronimo-specs geronimo-specs-compat

Шаг 2-й.
Теперь нужно поставить J2SE SDK. Зачем SDK, а не JRE - не знаю, такие уж там prerequistes. Ну и пусть, зато JavaDB поставится.
Загружаем последнюю версию с Java SE Downloads
Далее запускаем bin-файл, который нам создаст несколько RPM-пакетов:
# chmod a+x jdk-6u21-linux-x64-rpm.bin
# ./jdk-6u21-linux-x64-rpm.bin
# ls -1 *rpm
jdk-6u21-linux-amd64.rpm
sun-javadb-client-10.5.3-0.2.i386.rpm
sun-javadb-common-10.5.3-0.2.i386.rpm
sun-javadb-core-10.5.3-0.2.i386.rpm
sun-javadb-demo-10.5.3-0.2.i386.rpm
sun-javadb-docs-10.5.3-0.2.i386.rpm
sun-javadb-javadoc-10.5.3-0.2.i386.rpm

# rpm -Uhv jdk-6u21-linux-amd64.rpm

Кому надо - можете себе и JavaDB теперь поставить.
Почистили за собой теперь уже ненужные файлы и пошли дальше.

Частая проблема - отсутствие переменной JAVA_HOME.
# vi /etc/profile
     (до раздела #path manipulation!!!)
    JAVA_HOME=/usr/java/jdk1.6.0_21
и в конец строки export (в самом низу) добавляем ее:
export PATH USER ... ... ... INPUTRC JAVA_HOME

Шаг 3-й.
Второе требование, после JDK - Apache Maven. Это менеджер для сборки пакетов.
Если Вы еще не знакомы, то очень рекомендую хабрастатью Apache Maven — основы.
# cd /usr/java
# wget http://www.sai.msu.su/apache//maven/binaries/apache-maven-2.2.1-bin.tar.gz
# tar -xzf apache-maven-2.2.1-bin.tar.gz
# rm -f apache-maven-2.2.1-bin.tar.gz

Создаем переменные:
# vi /etc/profile
    (до раздела #path manipulation!!!)
    M2_HOME=/usr/java/apache-maven-2.2.1
    M2=$M2_HOME/bin
    MAVEN_OPTS="-Xms256m -Xmx512m"
и в конец строки export(в самом низу) добавляем их:
export PATH USER ... ... ... INPUTRC JAVA_HOME M2_HOME M2 MAVEN_OPTS


Шаг 4-й.
Проверяем.
Подхватываем новые настройки
source /etc/profile
И даем команду, прямо из домашней директории:
# mvn --version
Apache Maven 2.2.1 (r801777; 2009-08-06 19:16:01+0000)
Java version: 1.6.0_21
Java home: /usr/java/jdk1.6.0_21/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.18-194.el5" arch: "amd64" Family: "unix"

Если все, кроме конкретных номеров версий совпало - значит все было найдено. Значит порядок.

Шаг 5-й. Наконец он - Geronimo!
Выбираем на странице загрузок последний релиз. Но не настолько последний, чтобы в названии была буква M (milestone).
На следующей странице будут несколько разделов. Нужен "Java EE 5 Certified".
Далее ситуация такая. Тут придется сделать вводную. То, что я скажу немного неправильно, но зато более или менее доступно. Сервер приложений (такой как Geronimo, GlassFish, JBoss или WebSphere) - это как бы набор контейнеров. Контейнер сервелтов(и JSP) и контейнер EJB. Кроме того целый ряд дополнительных сервисов вроде MQ, CORBA или JMX. Так вот Tomcat (как и Resin) - всего лишь движок сервлетов, но назвать его полноценным Application Server еще нельзя. А на базе Tomcat сделали уже полнофункциональный сервер - Geronimo. Так же его сделали и на базе Jetty. Теперь выбор за Вами.

Итак качаем и ставим:
# cd /usr/java
# wget http://www.sai.msu.su/apache//geronimo/2.2/geronimo-tomcat6-javaee5-2.2-bin.tar.gz
# tar -xzf geronimo-tomcat6-javaee5-2.2-bin.tar.gz
# rm -f geronimo-tomcat6-javaee5-2.2-bin.tar.gz

Здесь правятся конфигурационный файл Geronimo:
# vi /usr/java/geronimo-tomcat6-javaee5-2.2/var/config/config.xml
а переменные в этот конфиг добавляются с файла свойств:
# vi /usr/java/geronimo-tomcat6-javaee5-2.2/var/config/config-substitutions.properties

Шаг 6-й. необязательны
Нужно создать переменную $GERONIMO_HOME

# vi /etc/profile
    (до раздела #path manipulation!!!)
    GERONIMO_HOME=/usr/java/geronimo-tomcat6-javaee5-2.2
=/usr/java/geronimo-tomcat6-javaee5-2.2и в конец строки export(в самом низу) добавляем их:
export PATH USER ... ... ... MAVEN_OPTS GERONIMO_HOME
Перелогиниваемся!

Шаг 7-й.
Запускаем:
# cd $GERONIMO_HOME/bin; java -Djava.endorsed.dirs=../lib/endorsed -javaagent:jpa.jar -jar server.jar

Вообще для старта и остановки есть Tools and commands

Скорее всего с первого раза не заведется. У меня например на 17% прогресса JMXService не мог забиндится на порт 1099, пока я не поменял в var/config/config-substitutions.properties
ServerHostname=0.0.0.0 на ServerHostname=127.0.0.1 (также можно на внешний адрес).
После этого уже на 45% CORBANameService не смог запустить временный сервер имен на порту 1050 (решение в следующем посте) и таких проблем можно огрести на каждом шагу. Google  в помощь.
И, если позволяет безопасность, на время попытки запуска отключите фаервол:
# service iptables stop
это значительно облегчит работу.

Можно попробовать подцепиться сюда:
http://IP.ADD.RE.SS:8080/console
логин: system
пароль: manager
поменять только не забудьте :-)

Комментариев нет:

Отправить комментарий