2016년 5월 16일 월요일

Debian에서 Glassfish 설치


Glassfish를 설치하기 전 Java 버전을 먼저 확인한다. Glassfish V3는 JDK 1.7.0, Glassfish V4는 JDK 1.8.0 이상 설치되어 있어야 한다.


scwook@debian:~/Download# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

JAVA 설치 방법은 다음 Post를 참고한다.

http://scwook.blogspot.kr/2016/05/debian-jessie-java.html


Glassfish V3 설치

Glassfish V3은 Oracle 홈페이지에서 받을 수 있다. 다운로드 페이지에서 Linux/Unix/Mac Installer 파일을 다운 받는다.


다운받은 파일을 관리자 권한으로 실행한다.

root@debian:/Downloads# bash ogs-3.1.2.2-unix.sh

설치 화면이 나타나면 Next를 누른다.



Typical Installation을 선택한 후 Next를 누른다.



설치 위치를 /opt/glassfish3로 변경한 후 Next를 누른다.



Next를 누른다.



Install을 누르면 설치가 시작된다.



설치가 완료되면 설정 메뉴가 나타난다. 기본 설정으로 두고 Username과 Password를 입력한 후 Next를 누른다.



설치가 완료되면 Exit를 누른다.


테스트를 위해 다음 주소록 접속한다.

http://localhost:4848 또는 http://[Server IP Address]:4848

Glassfish V4 설치

Glassfish 사이트에 접속하여 Java EE 7 Full Platform 파일을 다운 받는다.




다운 받은 파일의 압축을 풀고 daemon을 실행한다.

root@debian:~# unzip glassfish-4.1.1.zip -d /opt/
root@debian:~# cd /opt/glassfish4/bin/
root@debian:/opt/glassfish4/bin# ./asadmin start-domain
Waiting for domain1 to start ...
Successfully started the domain : domain1
domain  Location: /opt/glassfish4/glassfish/domains/domain1
Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

다음 주소로 접속한다.


필요한 경우 change-admin-password 명령으로 관리자 암호를 설정한다.

root@debian:/opt/glassfish4/bin# ./asadmin change-admin-password

Enter admin user name [default: admin]>admin

Enter the admin password> [아무것도 입력하지 않음]
Enter the new admin password> [새로 설정할 암호] 
Enter the new admin password again> [새로 설정할 암호]

자동 실행
create-service 명령을 사용하면 /etc/init.d/ 폴더에 GlassFish_domain1 실행 스크립트가 생성된다.

root@debian:/opt/glassfish4/bin# ./asadmin create-service

update-rc 명령으로 GlassFish_domain1을 등록한다.

root@debian:/etc/init.d# update-rc GlassFish_domain1 default



Touble Shooting


Problem

원격에서 접속시 다음과 같은 에러가 발생할 경우.



Solution

Secure Admin Access 설정을 해준다.
root@debian:/opt/glassfish4/bin# ./asadmin enable-secure-admin
Enter admin user name>  admin
Enter admin password for user "admin"> 
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.
root@debian:/opt/glassfish4/bin# ./asadmin stop-domain
Waiting for the domain to stop .
Command stop-domain executed successfully.
root@debian:/opt/glassfish4/bin# ./asadmin start-domain
Waiting for domain1 to start ....
Successfully started the domain : domain1
domain  Location: /opt/glassfish4/glassfish/domains/domain1
Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.
root@debian:/opt/glassfish4/bin# 


Problem

다음과 같은 start-domain 에러가 발생할 경우.


Waiting for domain1 to start .Error starting domain domain1.
The server exited prematurely with exit code 1.
Before it died, it produced the following output:

Launching GlassFish on Felix platform

ERROR: Error parsing system bundle export statement: org.osgi.framework; version=1.6.0, org.osgi.framework.launch; version=1.0.0, org.osgi.framework.wiring; version=1.0.0, org.osgi.framework.startlevel; version=1.0.0, org.osgi.framework.hooks.bundle; version=1.0.0, org.osgi.framework.hooks.resolver; version=1.0.0, org.osgi.framework.hooks.service; version=1.1.0, org.osgi.framework.hooks.weaving; version=1.0.0, org.osgi.service.packageadmin; version=1.2.0, org.osgi.service.startlevel; version=1.1.0, org.osgi.service.url; version=1.0.0, org.osgi.util.tracker; version=1.5.0, , org.glassfish.embeddable;org.glassfish.embeddable.spi;version=3.1.1 (org.osgi.framework.BundleException: Exported package names cannot be zero length.)

ERROR: Bundle jaxb-api [1] Error starting file:/opt/glassfish3/glassfish/modules/endorsed/jaxb-api-osgi.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle jaxb-api [1]: Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (osgi.wiring.package=javax.activation))

ERROR: Bundle org.glassfish.metro.webservices-api-osgi [3] Error starting file:/opt/glassfish3/glassfish/modules/endorsed/webservices-api-osgi.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.glassfish.metro.webservices-api-osgi [3]: Unable to resolve 3.0: missing requirement [3.0] osgi.wiring.package; (&(osgi.wiring.package=javax.xml.bind)(version>=2.2.0)) [caused by: Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (osgi.wiring.package=javax.activation)])

ERROR: Bundle org.glassfish.hk2.osgi-adapter [57] Error starting file:/opt/glassfish3/glassfish/modules/osgi-adapter.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.glassfish.hk2.osgi-adapter [57]: Unable to resolve 57.0: missing requirement [57.0] osgi.wiring.package; (&(osgi.wiring.package=com.sun.enterprise.module)(version>=1.1.0)) [caused by: Unable to resolve 35.0: missing requirement [35.0] osgi.wiring.package; (&(osgi.wiring.package=org.jvnet.hk2.config)(version>=1.1.0)) [caused by: Unable to resolve 8.0: missing requirement [8.0] osgi.wiring.package; (osgi.wiring.package=javax.management)]])

ERROR: Bundle org.glassfish.main.core.glassfish [164] Error starting file:/opt/glassfish3/glassfish/modules/glassfish.jar (org.osgi.framework.BundleException: Activator start error in bundle org.glassfish.main.core.glassfish [164].)

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=192m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=64m; support was removed in 8.0

Solution

JAVA 버전을 변경한다.

glassfish V3 -> JDK 1.7
glassfish V4 -> JDK 1.8


Problem

다음과 같이 JAVA_HOME PATH 에러가 날 경우

Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system and accessible in your PATH or by setting JAVA_HOME


Solution

방법 1. JAVA_HOME 위치를 지정해 준다.

root@debian:~# export JAVA_HOME=/opt/jdk1.7.0_79

방법 2. java-wrapper 패키지를 설치한다.

root@debian:~# aptitude install java-wrappers

0 개의 댓글:

댓글 쓰기