Tokomon - Digimon
티쿠스 IT 블로그

Linux

[Linux] 웹로직12c & 아파치2.4 연동 가이드 (1) - WLS 설치

티쿠스 2022. 12. 8. 15:02

<Table of Contents>

Ⅰ. OVERVIEW

Ⅱ. WEBLOGIC SERVER 설치 

1. WEBLOGIC SERVER-12.2.1.4 설치 (SILENT)
2. MANAGED SERVER 구성 및 기동
3. SERVER START/STOP SCRIPTS 생성
4. WEB APPLICATION 배포

Ⅲ. APACHE HTTP SERVER 설치

1. 패키지파일 다운로드
2. APR-1.7.0 설치
3. APR-UTIL-1.6.1 설치
4. PCRE-8.44 설치
5. OPENSSL-1.1.1G 설치
6. HTTPD-2.4.43 설치
7. APACHE 세부 설정

Ⅳ. WLS & APACHE 연동

1. WEBLOGIC SERVER – APACHE HTTP SERVER 연동

 

목차 중, Overview와 WebLogic Server 설치에 관한 파트입니다.

 

 

Ⅰ. Overview

이 문서는 WebLogic Server Apache HTTP Server의 설치 및 연동에 대한 간략한 가이드를 제공한다.

 

테스트 환경은 아래와 같다.

Product Version
OS Oracle Linux Server release 7.8
WebLogic Oracle WebLogic Server 12.2.1.4
Oracle WebLogic Server Proxy Plugins 12.2.1.4
JDK JDK 1.8.0_251
Apache Apache HTTP Server 2.4.43
OpenSSL OpenSSL-1.1.1g
APR APR-1.7.0
APR-UTIL-1.6.1
PCRE PCRE-8.44

 

 

Ⅱ. WebLogic Server 설치

 

1. WebLogic Server-12.2.1.4 설치 (Silent)

 

1) JDK 다운로드 및 설치

■ JDK 다운로드 링크

https://java.oracle.com/
(Oracle 로그인 필요)

➩  Newest Downloads 
➩  Java SE <버전>
➩  JDK Download
➩  Linux x64 RPM Package

➩ FileZila 를 통한 jdk rpm 파일 전송

cmd> sudo yum -y install jdk-8u251-linux-x64.rpm

 

 

2) 자바 홈 지정 및 jdk 설치 확인

cmd> java -version
cmd> vi ~/.bash_profile

➩ 위처럼 자바 홈 관련내용 추가

cmd> . ~/.bash_profile
cmd> java -version

 

 

3) 설치 디렉터리 소유권 설정

cmd> sudo mkdir -p /sw/was
cmd> cd /sw
cmd> sudo chown -R app:app was

 

 

 

4) WebLogic Server 다운로드 및 설치

cmd> sudo mkdir -p /sw/was
cmd> cd /sw
cmd> sudo chown -R app:app was

➩ FileZila를 통한 WLS jar 파일 전송

WLS 다운로드 링크

https://download.oracle.com/
(Oracle 로그인 필요)

  Middleware
➩  WebLogic Server
➩  See all Oracle WebLogic Server downloads
➩  Oracle WebLogic Server 12.2.1.4

 

cmd> cd ~/install
cmd> cat <<EOF > oraInst.loc
inst_group=app
inventory_loc=/home/app/oraInventory
EOF

➩ Oracle Install Location 파일 작성

cmd> java -jar fmw_12.2.1.4.0_wls.jar -silent \
-invPtrLoc /home/app/install/oraInst.loc \
ORACLE_HOME=/sw/was/weblogic/12.2.1.4 \
DECLINE_AUTO_UPDATES=true \
INSTALL_TYPE=”WebLogic Server”

➩ 설치파일 실행

 

 

5) 도메인 생성

cmd> cd /sw/was/weblogic/12.2.1.4/oracle_common/common/bin
cmd> cat <<EOF > domain.py
selectTemplate('Basic WebLogic Server Domain', '12.2.1.3.0')
loadTemplates()
cd('/Security/base_domain/User/weblogic')
set('Name', 'weblogic')
cmo.setPassword('weblogic1')
cd('/Servers/AdminServer')
set('Name', 'AdminServer')
set('ListenAddress', '')
set('ListenPort', 7001)
setOption('OverwriteDomain', 'true')
setOption('ServerStartMode' ,'prod')
writeDomain('/sw/was/weblogic/12.2.1.4/domains/base_domain')
closeTemplate()
exit()
EOF
cmd> ./wlst.sh ./domain.py

 

 

6) Log 레벨 변경

 

(6-1) Admin Console 접속 후 [잠금 및 편집] – [환경] – [서버] – [AdminServer(관리)] 클릭

 

(6-2) [로깅] – [일반] 클릭 – [고급] 클릭

 

(6-3) 로그 파일, 표준 출력 부분의 심각도 레벨을 ‘Info’로 변경 후 저장

 

(6-4) 변경 내용 활성화

 

 

2. Managed Server 구성 및 기동

 

1) testap1 서버에서 Admin 기동 후, Admin Console 접속

➩ 베이스 도메인으로 간편하게 이동하기 위한 alias 설정

cmd> gobase
cmd> ./startWebLogic.sh

➩ 로그인 정보 입력 후 정상기동 확인

 

2) Admin 서버의 수신 주소 설정

 

(2-1) Admin Console 접속 후 [잠금 및 편집] 클릭

 

(2-2) [환경] – [서버] – [Admin Server] 클릭

 

(2-3) [구성] – [일반] – [수신 주소] 부분에 IP주소 입력 후 [저장] 클릭

➩ 192.168.56.101은 해당 서버의 사설 IP

 

(2-4) [변경 내용 활성화] 클릭

 

(2-5) Admin 서버 재기동

cmd> gobase
cmd> ./startWebLogic.sh

➩ RUNNING 상태 확인

 

(2-6) Admin Console 재접속

 

 

3) 서버 복제 기능을 통해 M1 서버 생성

 

(3-1) [잠금 및 편집] 클릭

 

(3-2) [환경] – [서버] – [Admin Server] 체크박스 선택 – [복제] 클릭

 

(3-3) 서버 이름: M1, 수신 주소: 192.168.56.101, 수신 포트: 7002 입력 후 [확인] 클릭

 

(3-4) [변경 내용 활성화] 클릭

 

 

4) Admin 서버 기동 유지한 채, testap1 터미널 추가 접속

 

5) testap1 새 터미널에서 M1 서버 기동

cmd> gobase
cmd> ./bin/startManagedWebLogic.sh M1 t3://testap1:7001

➩ RUNNING 상태 확인

 

6) Admin Console에서 [환경] – [서버]에서 서버 기동상태 확인

 

3. Server Start/Stop Scripts 생성

1) 도메인 홈 경로에 boot.properties 파일 생성 (Admin 서버)

cmd> gobase
cmd> mkdir -p servers/AdminServer/security
cmd> cat <<EOF > servers/AdminServer/security/boot.properties
      username=weblogic
      password=weblogic1
      EOF

 

2) 접속 시, boot.properties 내용에 따른 인증 확인 (Admin 서버)

➩ Admin 서버 접속 시, boot.properties 내용에 따른 인증 확인

 

 

3) 도메인 홈 경로에 boot.properties 파일 복사 (M1 서버)

cmd> mkdir -p servers/M1/security
cmd> cp servers/AdminServer/security/boot.properties  servers/M1/security/

 

4) 접속 시, boot.properties 내용에 따른 인증 확인 (M1 서버)

➩ 곧바로 STARTING되는 것 확인

 

➩ 기존 로그인 정보 입력시에는 위와 같은 프로세스 후 STARTING되는 로그 확인

 

5) 도메인 홈 경로에 logs 디렉터리 생성

cmd> gobase
cmd> mkdir logs

 

6) testap1 서버에 Start/Stop 스크립트 생성 및 권한 변경

cmd> chmod 750 st*

 

cmd> cat << EOF > startA.sh
USER_NAME=app
SERVER_NAME=AdminServer
SERVER_PORT=7001
DOMAIN_HOME=/sw/was/weblogic/12.2.1.4/domains/base_domain
LOG_DIR=${DOMAIN_HOME}/logs
 
# Check User Name
IAM=`id -un`
 
# Check Startup User Check
if [ $USER_NAME != $IAM ] ; then
        echo "Error : This user is \"$IAM\". Please login as a \"$USER_NAME\" user."
        exit
fi
 
# Check Process Check
PID=`ps -ef | grep java | grep ${SERVER_NAME} | grep ${SERVER_PORT} | awk '{print $2}'`
if [ "$PID" != "" ] ; then
        echo "ERROR : \"${SERVER_NAME}\" server is already running!!"
        exit
fi
 
USER_MEM_ARGS="-D${SERVER_NAME} -D${SERVER_PORT} -Xms512m -Xmx512m"
USER_MEM_ARGS="${USER_MEM_ARGS} -Djava.security.egd=file:///dev/urandom"
USER_MEM_ARGS="${USER_MEM_ARGS} -Dweblogic.system.BootIdentityFile=./boot.properties"
 
export USER_MEM_ARGS
 
mv ${LOG_DIR}/${SERVER_NAME}.out ${LOG_DIR}/${SERVER_NAME}.`date +'%y%m%d_%H%M%S'`
nohup ./startWebLogic.sh > ${LOG_DIR}/${SERVER_NAME}.out 2>&1 &
sleep 1
tail -f ${LOG_DIR}/${SERVER_NAME}.out
EOF

 

cmd> cat <<EOF > startM1.sh
USER_NAME=app
SERVER_NAME=M1
SERVER_PORT=7002
DOMAIN_HOME=/sw/was/weblogic/12.2.1.4/domains/base_domain
LOG_DIR=${DOMAIN_HOME}/logs
ADMIN_URL=t3://testap1:7001
 
# Check User Name
IAM=`id -un`
 
# Check Startup User Check
if [ $USER_NAME != $IAM ] ; then
  echo "Error : This user is \"$IAM\". Please login as a \"$USER_NAME\" user."
  exit
fi
 
# Check Process Check
PID=`ps -ef | grep java | grep ${SERVER_NAME} | grep ${SERVER_PORT} | awk '{print $2}'`
if [ "$PID" != "" ] ; then
  echo "ERROR : \"${SERVER_NAME}\" server is already running!!"
  exit
fi
 
USER_MEM_ARGS="-D${SERVER_NAME} -D${SERVER_PORT} -Xms512m -Xmx512m"
USER_MEM_ARGS="${USER_MEM_ARGS} -Djava.security.egd=file:///dev/urandom"
USER_MEM_ARGS="${USER_MEM_ARGS} -Dweblogic.system.BootIdentityFile=./boot.properties"
USER_MEM_ARGS="${USER_MEM_ARGS} -XX:+HeapDumpOnOutOfMemoryError"
 
export USER_MEM_ARGS
 
mv ${LOG_DIR}/${SERVER_NAME}.out ${LOG_DIR}/${SERVER_NAME}.`date +'%y%m%d_%H%M%S'`
nohup ./bin/startManagedWebLogic.sh ${SERVER_NAME} ${ADMIN_URL} > ${LOG_DIR}/${SERVER_NAME}.out 2>&1 &
sleep 1
tail -f ${LOG_DIR}/${SERVER_NAME}.out
EOF

 

cmd> cat << EOF > stopA.sh
SERVER_URL=t3://testap1:7001
. ./bin/setDomainEnv.sh
java weblogic.WLST stop.py ${SERVER_URL}
EOF

cmd> cat << EOF > stopM1.sh
SERVER_URL=t3://testap1:7002
. ./bin/setDomainEnv.sh
java weblogic.WLST stop.py ${SERVER_URL}
EOF

cmd> cat << EOF >  stop.py
connect(url=sys.argv[1])
shutdown(force='true')
exit()
EOF

 

4. Web Application 배포

 

1) webapp 생성

 

(1-1) /sw 경로에 app 디렉터리 생성, webapp 생성

 

(1-2) WEB-INF/web.xml, weblogic.xml 생성

cmd> cat <<EOF > web.xml
<web-app/>
EOF
cmd> cat <<EOF > weblogic.xml
<weblogic-web-app/>
EOF

 

(1-3) index.jsp 생성

cmd> cd /sw/app/webapp
cmd> cat <<EOF > index.jsp
Welcome!
EOF

 

 

2) webapp 배포

 

(2-1) Admin Console 접속 – [잠금 및 편집] 클릭 – [배치] 클릭

 

(2-2) 현재 위치를 ‘192.168.56.101/sw/app’로 설정하고 webapp 체크 후 [다음] 클릭

 

(2-3) [이 배치를 애플리케이션으로 설치] 체크

 

(2-4) 배치 대상 선택 : M1 체크

 

(2-5) [다음 위치에서 배치를 액세스할 수 있음] 체크

 

(2-6) 변경 내용 활성화

 

(2-7) 배치 결과 확인

 

(2-8) [콘트롤] – [webapp] 체크 – [시작] – [모든 요청 서비스] – [예] 클릭

 

(2-9) 서비스 상태 ‘활성’ 확인

 

(2-10) 브라우저에서 webapp이 정상적으로 배포되어 있는지 호출테스트