본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# Middleware

[Weblogic] Domain의 config.xml

by iamlucia 2021. 1. 18.

본 게시글을 Oracle Docs를 직역하며 공부하는 글입니다 :) 


1. Domain Configuration Files

 

각 도메인은 해당 구성을 XML 형태의 문서에 명시하며, 

이러한 명세 파일은 그 도메인의 config 디렉토리에 위치한다.

($DOMAIN_HOME/config/config.xml

 

1) config .xml 

 

 (1) 도메인 디렉토리 

 

  a) 읽기, 쓰기 권한을 모두 가져야 함 

      - 도메인이 생성된 후 아무 변경사항이 없더라도 권한 필요: 도메인이 적절히 기능하기 위해

      - 웹로직 서버가 내부적인 배포(배치)를 수행하고, 서버가 재실행될 때 설정파일은 수정되기(rewrite) 때문에

         해당 권한이 필요  

  b) 비-설정파일(non-configuration file: 설정과 관련없는 파일) 은 해당 디렉토리에 위치하면 안됨

      - 예를 들어, log 파일(.log) 또는 lock 파일(.lok)

      - 어드민 서버는 모든 매니지드 서버 인스턴스의 config 디렉토리를 복제하기 때문에,

         비설정파일을 config 디렉토리에 저장하면 문제가 발생할 수 있다.  

 

 (2) config.xml 이 설정하는 것

   

    a) 도메인의 이름, 각 서버 인스턴스, 클러스터, 자원, 그리고 서비스 등을 설정

    b) 도메인 디렉토리 아래에 있는 하위(sub)디렉토리에 저장된 부가적인 xml 명세파일에 대한 참조도 포함
       - 이렇게 포함되어 있는 파일들은 오라클 웹로직 서버의 하위시스템(subsystem)을 명세하는 데 사용됨

    c) 성능최적화를 위해

       - 웹로직 서버는 대부분의 기본값들을 해당 설정 파일에 저장하지 않음

          : 즉, 사용자가 도메인에 대한 로깅 레벨의 기본값을 따로 수정하지 않는 이상 config.xml은 도메인의 로깅에

         관련된 요소를 포함하지 않음(해당 파일에 그 요소가 적혀있지 않음) 

       - 각 매니지드 서버는 도메인의 설정 파일의 복제본을 가지고 있음 

          : 이 복제본은 read-only이며, 매니지먼트 관리(management process)에 변경이 있을 때에만 업데이트 된다.

 

2) config .xml 의 구조

 

 (1) 부모-자식 요소 (elements)

 

  a) config파일은 여러 XML 요소들로 구성 

  b) <domain>요소와 해당 요소의 모든 자식 요소(child element)들이 명시     

     -  자식 요소의 예 : <server>, <cluster>, <application> 등등  

  c) 자식 요소들은 또 그들만의 자식 요소를 가질 수 있다.     

     - <server>의 자식 요소: <WebServer>, <SSL> , <Log>     

     - <applicatin>의 자식 요소: <EJBComponent>.  <WebAppComponent>

 

  (2) 요소만의 설정가능한 속성들

 

  a) config.dtd 에 정의된 속성은 해당 설정 API에 상응하는 속성     

      - <server>의 속성: ListenPort      

        = weblogic.management.configuration.ServerMBean이 'ListenPort'속성을 가지는 것과 상응 

  b)  설정가능한 이러한 속성은 읽기와 쓰기가 가능   

      - ServerMBean (객체)는 getListenPort 와 setListenPort 메서드를 가진다.

 

3) config.xml 수정

 

 (1) config 파일을 수정하는 방법

    

   a) 웹로직 서버 관리 콘솔,  Fusion Middleware Control (FMWC), WebLogic Scripting Tool (WLST) 사용

      - 대부분의 경우, non-Oracle 도구(vi와 같은 편집툴)로 수정하는 것은 안됨

   b) 도메인이 실행 중에는 설정 파일을 수정하면 문제 발생 가능

      - 오라클 웹로직 서버가 해당 파일을 주기적으로 rewrite하기 때문에 변경사항이 사라질 수 있음 

 

4) config.xml의 보안 자격 증명(Security Credential) 

 

  (1) 도메인 보안에 대한 보안 자격증명과 내장된 LDAP 서버는 모두 암호화된 상태로 config.xml에 저장되어 있다.

 

  (2) 만약, vi와 같은 편집기 툴로 config.xml을 생성한 경우, 이 자격증명을 암호화하여 해당 명세 파일에 복사하여

넣어야 한다. 

 

<security-configuration>
   <credential-encrypted>{ 3DES}encypted-value-here</credential-encrypted>
</security-configuration>
<embedded-ldap>
   <credential-encrypted>{3DES}encypted-value-here</credential-encrypted>
</embedded-ldap>

 

  (3) 웹로직서버의 암호화 유틸리티도 있다: weblogic.security.Encrypt

         : 다음과 같이 자바옵션 형태를 사용하여 필요한 아규먼트를 해당 유틸리티에 전달한다. 

 

java [-Dweblogic.RootDirectory=dirname] [-Dweblogic.management.allowPasswordEcho=true] weblogic.security.Encrypt [password]