프로젝트를 지원하다보면 여러가지 WAS기반하에 서비스를 구축하는 경우가 많습니다.

사용제품의 경우 기술지원으로 설치와 관련하여 고민할것이 없고, 오픈소스의 경우(대표적인 Tomcat) 난이도가 어렵지 않고 레퍼런스가 많아 그렇게 애를 먹지는 않습니다.

하지만 JBoss는 좀 애매한 위치에 있는 제품이 아닌가 생각합니다. 상용제품이긴 하지만 레드헷에서 제공하는 기술지원의 만족도가 그다지 높지는 않아 보입니다.(개인적인 사견인 만큼 관련되신 분들은 오해 하지 말아주세요.)

본인의 경우는 Enterprise 제품의 세팅(WebLogic, WebSphere, JEUS, JBoss...)을 많이 경험하지 않아 Tomcat과 달리 삽질을 많이 하는 편입니다.

 

jboss는 Community 번전과 Enterprise 버전으로 나뉘는데, 살짝 설치했던 기억으로 두 제품이 다르다는 걸 알았습니다. 이번 포스팅을 eap (Enterprise Application Platform) 로 잡은것은 실제 프로젝트 현장에서 많이 사용하고 있기 때문입니다.

 

1. 설치 및 실행

 

- 설치는 전혀 어렵지 않습니다.

바이너리 버전과 압축버전 두가지가 있지만 압축버전을 다운받아서 임의 디렉토리에 압축을 풀어놓습니다.

압축을 풀면 다음과 같은 디렉토리 경로가 나옵니다.

 

 

 

 

각 디렉토리별 대략적인 정보입니다. 정확한건 관련 문서를 봐야겠네요.

 

/appclient : 잘 모름

/bin   - jboss 실행파일 

/bundles -

/docs -  docs & example

/domain -  virtual host형태로 사용할때 설정

/modules - jdbc driver 등의 모듈설정 및 jar 파일 위치

/standalone - 단독으로 사용할때 설정

 

테스트에서는 standalone모드로 설정 및 배포를 실시했습니다.

 

/bin 디렉토리에서 standalone.bat 파일로 실행합니다.

제 경우에는 jdk path 관련 오류가 발생했습니다. Default JAVA_HOME 을 jdk1.5에 맞춰놓았던지라 이부분을 jdk1.6으로 변경해서 다시 실행했습니다.

JBOSS_HOME/bin/standalone.bat 파일의 중간쯤에

set JAVA_OPTS= 설정부분이 있습니다. 근처에 jdk1.6이상의 JAVA_HOME 설정을 잡아줍니다.

 

set JAVA_HOME=c:\Program Files\Java\jdk1.6

 

 

Default 관리콘솔은 9990 포트를 사용합니다.

http://127.0.0.1:9990/  로 접속합니다.

id/pw를 물어봅니다.

관리용 콘솔을 응용프로그램으로 연동하고자 한다면  http://127.0.0.1:9990/management 를 호출하여 사용합니다.

이경우 json포맷으로 각 응답값이 전달되는 형태입니다.

 

default id/pw가 admin/admin 입니다만 혹시 적용이 안될경우 직접 재설정을 해주시면 됩니다.

 

 

1-1. 관리자 계정 reset 하기

 

 1). {jboss_home}/stanalone/configuration/mgmt.properties를 에디터로 열어서 설정되어 있는 계정정보를 주석처리/삭제 합니다.

 

 

 

2). {jboss_home}/add-user.bat 를 실행합니다. 

 

 

관리자 계정을 설정할 것이기 때문에 엔터(Default a 선택) 를 합니다.

 

Enter the details of the new user to add.
Realm (ManagementRealm) :

 

추가할 계정의 상세정보 즉, 범위를 물어봅니다. 어떤 Realm의 종류가 있는지는 모르겠으나 Default 관리영역이 선택되었으므로 그냥 엔터를 칩니다.

 

Enter the details of the new user to add.
Realm (ManagementRealm) :
Username : admin

이후 사용하고자 하는 계정과 비밀번호를 입력합니다.

 

그리고 다시 mgmt.properties를 열어보면 admin의 비밀번호가 암호화 된 상태로 추가된 것을 확인할 수 있습니다.

 

 

이제 변경된 아이디와 암호를 입력하고 메인화면으로 넘어갑니다.

 

 

3. Project Deploy(배포) 

 

 

 

 

왼쪽 메뉴의 Server ==> Manage Deployments를 선택합니다.

현재 deploy되어 있는 목록과 상태가 나오고 우측 상단에 각종 컨트롤 버튼이 나옵니다.

새로운 Spring MVC Project 를 배포해 보도록 합니다.

 

Deploy 방법은 Managed, Unmanaged 크게 두가지입니다.

 

1). Managed는 war와 같은 archive 형태 파일을 업로드 해서 동적으로 배포하는 형태입니다.

Add 버튼을 클릭하면 파일업로드 창이 나오고 eclipse등에서 export한  war파일을 선택합니다.

 

 

 

파일업로드가 완료되면 key, Name, Runtime Name등이 설정됩니다. Name과 Runtime Name의 형태는 기억해 주시기 바랍니다.

두번째 타입인 Unmanaged Deployment에서도 이와 동일한 방식으로 입력해야 하기 때문입니다.

 

 

제대로 저장이 되면 위와 같이 목록에 추가되었음을 확인할 수 있습니다. 이제 En/Disable 버튼을 클릭해서 활성화 시키도록 하겠습니다. 

 

 

상태창이 잠깐 나왔다 들어가고 우측상단에 Success enable 메시지와 함께 배포목록의 상태가 변경됩니다.

 

배포명하위의 각 목록을 클릭하면 하단에 상세정보가 보입니다.

브라우져에서 접속테스트를 하기위한 ContextRoot를 찾아야 합니다.

 

 

 

Context Root 정보는 가운데 web을 클릭하면 하단에서 조회가능합니다.

 

이제 위 정보를 이용해서 브라우져에서 접속테스트를 합니다.

jboss의 Default HTTP/1.1 접속포트는 8099 입니다.

http://localhost:8099/testSpring6/

 

 

 

 

 

오늘은 여기까지...

 

다음엔 Unmanaged Deploy와 Datasource 추가하여 연동하는 부분을 포스팅하도록 하겠습니다.