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> [아무것도 입력하지 않음]
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
자동 실행
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
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 개의 댓글:
댓글 쓰기