# WAS | Tomcat

Tomcat 배포 방법

강냉:) 2023. 4. 5. 15:37

appBase / docBase / xmlBase Deploy

(1) CATALINA_HOME/conf/server.xml 에서 docBase를 사용하여 배포하기 위해 <Host>

하위에 <context> 정보를 추가

) docBase를 사용하여 기본 Tomcat webapps 위치 이외의 경로에 있는 App배포

[weblogic@localhost conf]$ pwd
/apache/tomcat9/apache-tomcat-9.0.21/conf
[weblogic@localhost conf]$ vi server.xml
... skip ...
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context path="/applications" docBase="/app/applications" reloadable="true"/>
…skip…

 

 

(2) appBase는 기본적으로 <Host> 하위에 “webapps”라는 값으로 정의가 되어 있기 때문에, CATALINA_HOME/webapps위치에 배포할 App을 위치시키면 자동적으로 배포가 진행

) /app/applications 소스를 CATALINA_HOME/webapps에 위치 시킨 후 Tomcat 재기동

[weblogic@localhost conf]$ pwd
/apache/tomcat9/apache-tomcat-9.0.21/conf
[weblogic@localhost webapps]$ cp -R /app/applications ./
[weblogic@localhost webapps]$ ls -rtl
합계 12
drwxr-x---.  3 weblogic weblogic 4096  6 24 17:39 ROOT
drwxr-x---. 14 weblogic weblogic 4096  6 24 17:39 docs
drwxr-x---.  6 weblogic weblogic   78  6 24 17:39 examples
drwxr-x---.  5 weblogic weblogic   82  6 24 17:39 host-manager
drwxr-x---.  5 weblogic weblogic   97  6 24 17:39 manager
drwxrwxr-x.  4 weblogic weblogic 4096  6 24 22:53 applications

 

(3) xmlBase로 배포하기 위해 CATALINA_HOME/conf/Catalina/localhost/applications.xml를 생성

) CATALINA_HOME/conf/Catalina/localhost/applications.xml

[weblogic@localhost localhost]$ pwd
/apache/tomcat9/apache-tomcat-9.0.21/conf/Catalina/localhost
[weblogic@localhost localhost]$ vi applications.xml
 
<Context docBase="/app/applications"/>

**xmlBase배포 위치의 기본 값은 CATALINA_HOME/conf/${ENGINENAME/${HOSTNAME}

 

(4) 배포 확인

) http://{IP}:8080/applications/test.jsp

 

Manager-GUI Deploy

Tomcat manager-gui에 브라우저로 접속하여 배포를 진행하는 방법

 

(1) CATALNA_HOME/conf/tomcat-users.xml 파일에 manager-gui권한과 manager-script 권한을 가진 계정을 추가

** 운영 환경에서는 manager-gui권한과 manager-script권한을 한 계정에 주지 않는 것을 권장

) tomcat / secret 계정 추가

[weblogic@localhost conf]$ vi tomcat-users.xml
…skip…


              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation=http://tomcat.apache.org/xml tomcat-users.xsd version="1.0">
        <role rolename="manager-gui"/>
<role rolename="manager-script"/>
        <user username="tomcat" password="secret" roles="manager-gui,manager-script"/>
…skip…
</Host>

 

(2) CATALINA_HOME/webapps/manager/META-INF/context.xml파일에 Tomcat 외부에서 접근하는 Client IP를 허용하는 내용 추가

) 외부에서 192.x.x.x 대역으로 접근하기 위해 아래와 같이 수정

[weblogic@localhost META-INF]$ pwd
/apache/tomcat9/apache-tomcat-9.0.21/webapps/manager/META-INF
[weblogic@localhost META-INF]$ vi context.xml
 
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.\d+\.\d+\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
…skip…
</Host>

 

(3) 오류! 하이퍼링크 참조가 잘못되었습니다.으로 접속하여 Manager App 클릭 후 위에서 생성한 tomcat 계정으로 접속


(4) Manager App
접속 후 컨텍스트 경로와 디렉토리 경로, XML 설정 파일 경로 그리고 WAR파일 위치를 지정하여 Application 배포 가능
) Manager App 페이지

 

) Manager App 페이지에서 /app/applications경로의 소스를 Context Root /applications로 배포

 

) Manager App 페이지에서 WAR 파일을 업로드하여 배포

 

) Manager App 페이지에서 applications.xml을 통해 Context Root /applications로 배포

applications.xml을 미리 생성해 두어야 함

<Context docBase="/app/applications"/>

 

(5) 배포 확인

) http://{IP}:8080/applications/test.jsp