0. 참고
- weblogic을 사용할 별도의 계정 생성해서 사용
# root 로그인
$ su - root
# weblogic 계정 생성 [원하는 이름으로 만들면됨]
$ adduser weblogic
$ su - weblogic
- OpenJDK가 아닌 Oracle JDK를 이용해야만 설치가 가능하다.
https://www.oracle.com/java/technologies/downloads/
- 자바가 여러개 설치되어있다면 update-alternatives 명령어를 사용해서 OS레벨의 jdk를 변경해주거나 ~/.bash_profile에서 JAVA_HOME을 제대로 잡아주면된다.
https://kimdia200.tistory.com/3
- 현재 windows10-WSL2-Ubuntu.20.04LTS버전에서 설치를 진행 예정(참고)
- 밑에서 설치하는데 필요한 install_wls.sh 이라는 쉘스크립트를 하나 만들어놨으니 다운로드 받으면 설치가 수월함
1. 설치 준비
1.1. WebLogic Server 다운로드
https://www.oracle.com/middleware/technologies/fusionmiddleware-downloads.html
해당 파일을 받아서 ftp로 전송해주자
1.2. 환경변수 설정
일단 사용하는 자바가 OracleJDK가 아니라면 OracleJDK로 변경 해주고
which java 명령어를 사용해 JAVA_HOME을 확인한다.
그후 ~/.bash_profile 파일을 수정해서 환경변수를 설정해줌.
$ vi ~/.bash_profile
------------------------ .bash_profile ---------------------
export JAVA_HOME=/usr
export PATH=$PATH:$JAVA_HOME/bin
----------------------------------------------------------------
위와같이 저장하고(:wq)
# source명령어로 환경변수 반영
$ source ~/.bash_profile
2. 웹로직 설치
2.1. Silent 모드 설치란
설치시 필요한 구성값들을 파일로 부터 읽어와서 설치하는 방법이다.
구성파일은 두개로 response.rsp 파일과 oraInst.loc 파일 총 두개가 필요하다.
(위의 첨부파일에 업로드한 install_wls.sh을 이용하면 자동으로 해준다.)
2.2. Silent 모드로 설치하는 이유?
웹로직은 설치시 그래픽 모드와 콘솔 모드의 설치 방법을 모두 지원하지만
12.1.2 버전 이후 부터는 Installer의 변경에 따라 콘솔 모드 설치를 더 이상 지원하지 않는다.
현재 내 설치환경은 WSL에서 설치를 하므로 GUI환경을 지원하지 않아 Silent 모드로 설치를 해야한다.
그게 아니라면 아래와 같이 DISPLAY environment variable not set. Failed 라는 에러와 고생하게 된다.
2.3. Silent 모드 설치하기
(wls.rsp, oraInst.loc 모두 일단 생성하지 말고 대기)
ResponseFile 예시 (wls.rsp)
[ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
[GENERIC]
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/home/weblogic/weblogic <----사용자정의
#Set this variable value to the Installation Type selected. e.g. WebLogic Server, Coherence, Complete with Examples.
INSTALL_TYPE=WebLogic Server
#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.
MYORACLESUPPORT_USERNAME=
#Provide the My Oracle Support Password
MYORACLESUPPORT_PASSWORD=<SECURE VALUE>
#Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration
DECLINE_SECURITY_UPDATES=true
#Set this to true if My Oracle Support Password is specified
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#Provide the Proxy Host
PROXY_HOST=
#Provide the Proxy Port
PROXY_PORT=
#Provide the Proxy Password
PROXY_PWD=<SECURE VALUE>
#Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]
COLLECTOR_SUPPORTHUB_URL=
oraInst.loc 예시 (oraInst.loc)
inventory_loc=/home/weblogic/oraInventory
inst_group=weblogic
install_wls.sh
실행시 현재 경로에 wls.rsp 파일과 oraInst.loc 파일을 생성해준다.
wls.rsp파일에서의 ORACLE_HOME 변수는 "현재경로/weblogic" 으로 설정되며
oraInst.loc 파일에서의 inventory_loc 변수는 "현재경로/oraInventory" 경로로 설정된다.
쉘 내부에서의 진행 과정은 아래와 같다.
- #Set ENV 주석 = 설치시 필요한 환경변수 설정
(경로가 마음에 들지 않는다면 원하는대로 변경 하면 된다) - #function 주석 = wls.rsp, oraInst.loc파일을 생성하는 함수정의
(딱히 건드릴 필요는 없음!) - #create installFile 주석 = function에서 선언한 함수 실행
- install start 주석 = 명령어를 이용하여 silent모드로 설치 시작
(명령어 : java -jar [인스톨파일명] -silent -responseFile [wls.rsp 파일 절대경로] -invPtrLoc [oraInst.loc 파일 절대경로]
2.4. 도메인 추가하기 (wlst.sh)
wlst.sh 란?
WebLogic Scripting Tools의 약자로 스크립트로 환경변수 호출 샘플이 구성가능 하며 weblogic 세팅을 도와주는 도구.
우리는 이걸로 domain을 하나 추가 하고 사용 할 예정.
$웹로직설치경로/oracle_common/common/bin경로에 wlst.sh가 위치하고있다.
wlst.sh 실행하기
wlst.sh를 실행하면 offline모드로 기동이되는데 여기에 도메인을 생성하는 방법은 두가지로 나뉜다.
- wlst.sh를 실행한뒤 명령어를 한줄 한줄 정성껏 작성해서 실행 시키는 방법
- 명령어들을 하나의 파일로 만들어서 wlst.sh 실행시 변수로 파일 경로를 주어 참조시키는 방법
(ex. sh wlst.sh [참조파일 경로])
나는 2번의 방법으로 할 예정
setDomain.py 작성
selectTemplate('Basic WebLogic Server Domain', '14.1.1.0.0');
loadTemplates();
cd('Security/base_domain/User/weblogic');
set('Name', '계정명');
cmo.setPassword('패스워드');
cd('/');
setOption('ServerStartMode', 'prod');
setOption('JavaHome','/usr'); <-- JAVA_HOME
cd('Servers/AdminServer');
set('Name', 'adminServer'); <-- 서버이름
set('ListenAddress', 'All Local Addresses');
set('ListenPort', 7001); <-- 서버포트
cd('/');
writeDomain('/home/weblogic/weblogic/domains/admin_domain'); <-- 설치경로에 맞게
closeTemplate();
exit();
wlst.sh + setDomain.py로 실행시키기
3. 방화벽 뚫어주기
기본적으로 관리자페이지는 7001로 구성을 했고
추후 managedServer를 하나 추가해서 8001로 웹앱을 배포할꺼기 때문에 방화벽을 확인해줘야한다.
방화벽 관리는 아래 링크 참조
https://kimdia200.tistory.com/4
4. AdminServer 기동 및 접속
4.1. startWebLogic.sh (기본 제공 쉘스크립트 실행)
설치시 기본 제공되는 쉘 스크립트는 ${WEBLOGIC_HOME}/domains/{위에서 생성한 서버명} 경로에 위치한다.
실행 하면 아래와 같이 사용자 계정/비밀번호를 물어보고 입력을 하면 기동하게 된다.
4.2. 관리자 페이지 접속 해보기!
admin_server 구성시 우리는 7001포트를 사용한다고 선언하고 생성 했고 weblogicServer를 기동 완료했기때문에
관리자 페이지에 접속 할 수 있다.
URL은 이와 같다 http://{hostIP}:7001/console
4.3. weblogic 서버 기동시 계정 입력 스킵하기
4.1에서 startWebLogic.sh 실행시 계정명, 패스워드를 입력하는 작업이 있었는데 별도의 properties파일을 생성해서
이런 귀찮은 과정을 스킵 할 수 있다.
우선, 설치경로에서 adminServer 하위 sercurity라는 directory를 생성해주고 boot.properties 파일을 생성한뒤 계정 정보를 입력해주면 된다.
$ cd $WEBLOGIC_HOME/domains/admin_domain/servers/adminServer
$ mkdir security
$ cd security
$ vi boot.properties
----------------------------------------------
# boot.properties 내용
username=계정명
password=비밀번호
----------------------------------------------
(:wq)
다시 startWeblogic.sh 실행
adminServer 실행시 계정 관련한 정보를 입력하지 않아도 정상 기동 되는것을 확인 할 수 있다.
그리고 boot.properties 파일을 이용해서 계정입력을 skip하고 서버를 기동한 경우
기존에 입력해놨던 계정 정보는 암호화 되어 보관된다.
4.4. startWeblogic.sh nohup으로 실행하기
기존 startWeblogic.sh의 경우 서버가 잘 기동되기는 하지만 백그라운드에서 실행 시키는게 아니라
ssh 세션을 종료하면 서버도 기동이 중지된다... 굳이 이런 불편함을 가져갈 이유는 없기 때문에
간단하게 startWeblogic.sh을 nohup으로 실행시켜 백그라운드에서 실행시킴과 동시에 세션 종료시에도 문제없도록
실행 하도록 하자.
startWebLogic.sh 실행시 어떤 로그도 뜨지 않았지만
jps명령어로 프로세스 확인시 NetworkServerContorl, Server 두개의 프로세스가 정상 기동 된걸 확인 할 수 있었다.
또한 curl명령어로도 간단하게 기동 확인 할 수 있다.
5. Managed Server
5.1. 서버 추가하기
잠금 및 편집 버튼을 눌러 수정 모드로 진입한뒤 아래와 같이 진행한다.
5.2. 서버 실행하기
콘트롤 탭으로 가서 server01 체크후 시작을 눌렀지만 에러메시지와 함께 서버가 기동 되지 않는다...
현재 nodeManager가 기동 하고 있지 않기 때문에. admin_domain/bin 경로로 이동해서 직접 쉘로 실행 시켜줘야한다.
실행 방법은 아래와 같다.
$ cd ${WEBLOGIC_HOME}/domains/admin_domain/bin
# $1=start대상 서버명, $2=adminServerIp, $3=adminServerPort
$ sh startManagedWebLogic.sh {targetServerName} {adminServerIp}:{adminServerPort}
근데 여기서도 계정을 물어보고... 백그라운드 실행도 되지 않았기 때문에
adminServer와 같이 security/boot.properties 및 nohup으로 실행 시킬수있는 쉘을 만들어줘도 된다.
5.3. NodeManager 사용하기
NodeManager를 사용하면 5.2와 같이 서버를 별도의 쉘로 실행 시키지 않고
5.1에서 실패했던 gui 관리자 화면에서 마우스 클릭 한번으로 실행 시킬 수 있다.
nodeManager에서 SecureListener옵션을 false로 설정하고 기동해줘야함
(SSL을 사용하지 않는 경우 해당 속성을 비활성화 시켜야 한다고함)
경로는 도메인 하위 nodemanager dir
NodeManager실행하자
위처럼 정상 기동이 완료 되었으면 관리자페이지에서 확인 가능하다
shutdown -> starting -> running 순으로 정상 기동 된것을 확인 할 수 있다.!
NodeManager도 지금 콘솔에서 실행 했으므로
nohup으로 돌릴수 있도록 쉘을 하나 따로 만들어서 별도 관리 하도록 하자
끝
'Middle Ware' 카테고리의 다른 글
[JEUS] 콘솔 사용법, 서버추가, 배포 (0) | 2022.03.28 |
---|---|
[JEUS] 설치 및 기동 (0) | 2022.03.24 |