Tomcat 설치

Violet_Evgadn·2023년 4월 25일
0

CI&CD 자동화

목록 보기
7/28

다음 단계는 실행되고 있는 Tomcat 서버에 빌드(Packaging) 결과물인 war파일을 실행시킴으로써 실제 Application이 동작하는 것을 보는 과정이다.

하지만 이를 위해선 Tomcat 서버가 실행될 필요성이 있기 때문에 먼저 Tomcat을 설치하고 실행시켜보자.


1. https://tomcat.apache.org 접 후 Tomcat 9 버전 설치

2. 설치한 파일 압축 해제 & C 드라이브에 폴더 생성 & 생성한 폴더에 압축 해제한 Tomcat 파일 옮기

설치한 apache-tomcat에는 많은 디렉터리와 파일이 존재하는데 이 중 중요한 것은 conf와 webapps이다.

  • conf : Tomcat의 각종 설정과 관련된 디렉터리
  • webapps : Tomcat이 관리할 Web Application이 저장되는 디렉터리

3. 압축 해제한 Tomcat이 존재하는 디렉터리 접근 & bin 디렉터리 접근

4. "stratup.bat" 명령 실행시켜보기

위 사진처럼 정상적으로 실행이 되지 않고 아래 사진과 같은 JRE 관련 에러가 터지는 경우도 존재한다.

이는 컴퓨터에 JRE나 JDK가 설치되지 않아 Tomcat을 실행하지 못하는 경우이다.

따라서 Tomcat을 실행시키기 위해 JRE나 JDK를 먼저 설치하고 환경 변수를 설정한 뒤 다음 단계를 실행해야 한다.

  • startup.bat : Tomcat을 구동시키는 명령어
  • shutdown.bat : 구동시킨 Tomcat을 종료시키는 명령어

5. localhost:8080 접근해보기

사진처럼 Apache Tomcat에 정상 접근할 수 있다면 성공이다.

이제 Apache Tomcat에 대한 기본 설정 및 Jenkins를 활용하기 위한 몇 가지 설정들을 해 볼 것이다.


Jenkins 설정

먼저 Jenkins를 설정하기 이전 Visaul Studio Code를 미리 설치해두는 것을 추천한다.

설정 과정에서 활용은 할 테지만 필수는 아니다. 하지만 CLI를 통해 파일을 수정하는 것은 아마 매우 불편할 것이기 때문에 이왕이면 설치하기를 추천한다.(정말 많이 쓰이는 Tool이니 설치해도 후회는 없을 것이다!)

1. 압축 해제한 Tomcat이 존재하는 디렉터리 접근

2. "code ." 명령어 입력

이는 현재 Directory를 통째로 Visual Studio Code에 띄울 수 있는 명령어이다.

앞으로 할 작업들은 Tomcat 설정 값을 변경하는 작업으로써 GUI에서 수행하면 더 편하기 때문에 Visual Studio Code를 통해 작업하도록 하자.

3. conf 파일 수정

conf > server.xml에서 "Connector port" 검색

Tomcat을 구동시킬 Port를 설정하기 위한 과정이다.

Connector port="8080"이기 때문에 localhost:8080을 입력하면 구동되고 있는 Tomcat Server에 접근할 수 있었던 것이다.

만약 8080이 아닌 다른 Port를 활용하고 싶을 경우 이를 변경해준다.

conf > tomcat-users.xml

Tomcat을 활용하는 User에 대한 권한을 추가하기 위한 과정이다.

Tomcat rolename 설명

  • manager-gui
    • Access to HTML interface
    • (번역) Tomcat의 HTML 파일들에 접속할 수 있는 권한
  • manager-script
    • Access to the tools-friendly plain text interface that is described in this document, and to the "Server Status" page.
    • (번역) 도구(CI Tool 등) 친화적인 Plain text interface와 서버 상태를 표시하는 페이지에 접속할 수 있게 해주는 권한
    • Tomcat을 외부 Tool을 통해 접속하고 설정하고 싶을 경우 이 권한이 있어야 함
  • manager-jmx
    • Access to JMX proxy interface and to the "Server Status" page.
    • (번역) 서버 상태 페이지와 JMX proxy interface에 접근 가능
    • JMX Proxy : Tomcat 내부를 가져와 설정하기 위한 경량 Proxy. JMX Proxy를 활용하여 Tomcat 내부를 모니터링할 수 있고 설정을 변경함으로써 원하는 방식으로 Tomcat을 실행시키게 할 수 있
  • manager-status
    • Access to the "Server Status" page only.
    • (번역) 서버 상태 페이지에만 접근 가능
    • manager-script와 manager-jmx 권한을 가지고 있다면 자연스럽게 manager-status 권한도 가지게 되는 것이다.

User 설정 방법 및 설명

User를 추가하는 방법은 간단하다.

<user> 태그를 활용하면 되는데, Parameter들은 아래와 같다.

  • username : User의 ID
    • password : User의 Password
    • roles : 위에서 설명한 Tomcat rolename 중 지정해 줄 권한들을 구분자(,)를 통해 입력

위 사진 에서 지정한 User들은 아래와 같다.

  • admin
    • 패스워드 : admin
    • 위에 설정한 권한을 모두 가지고 있는 계정
  • deployer
    • 패스워드 : deployer
    • manager-script 권한을 가지고 있는 계정
    • 배포 과정에 필요한 외부 Tool들이 사용해야 하는 User
      • Jenkins가 사용할 User
  • tomcat
    • 패스워드 : tomcat
    • manager-gui 권한을 가지고 있는 계정

4. webapps 설정 변경

webapps > manager > META-INF > context.xml 파일

위 사진에서 "Valve className ~"은 Tomcat Server의 접근을 막기 위한 설정이다.

현재 설정은 127.0.0.1, 즉 자기 자신의 컴퓨터에서만 Tomcat Server에 접근할 수 있도록 설정되어 있다.

우리는 다른 컴퓨터에서도 우리의 컴퓨터 Tomcat Server에 접근할 수 있게 하기 위하여 Valve 부분을 주석 처리하겠다.

webapps > host-manager > META-INF > content.xml

위와 동일한 이유로 host-manager의 Valve 부분도 주석 처리한다.

5. Tomcat 재실행 후 Manager App 버튼 클릭

6. 위에서 설정했던 계정 중 manager-gui 권한을 가진 tomcat 계정으로 로그인

7. 권한 설정이 잘 된 것을 확인


Tomcat 설치 시 발생하는 문제 해결

Console 한글 깨짐

Tomcat을 실행하려고 startup.bat을 실행시키면 대부분의 경우 이렇게 한글이 깨져 나올 것이다.

사실 한글이 깨져도 Tomcat이 제대로 동작만 된다면 문제는 없겠으나, Tomcat 실행 과정에서 문제가 발생했을 때 로그를 확인할 수 없기 때문에 에러 이유를 찾기 어려워질 것이다.

또한 로그 중에서는 Tomacat 구동 시간 등 성능에 관련된 기록들도 몇 개 존재하므로 이왕이면 한글 깨짐 현상을 해결하고 가는 것이 좋다.

1. 검색 창에서 regedit 검색

2. HKEY_CURRENT_USER > Console > Tomcat 폴더 생성

새로 만들기 > 키(K)를 클릭하면 만들 수 있다.

3. DWORD(32비트)를 새로 생성 후 이름 지정

4. 새로 생성한 파일 더블 클릭 후 값 데이터 & 단위 변경 후 확인

5. 다시 startup.bat을 실행시키면 로그가 깨지지 않음을 볼 수 있다.

Can't load IA 32-bit.dll on a AMD 64-bit platform 에러 해결

AMD 64-bit .dll파일을 32인 Platform에서 로드할 수 없다는 문구이다.

정말 간단한 의미인데, 내 컴퓨터는 64 bit .dll 파일을 로드할 수 없다는 의미이다.

이를 해결하는 법은 32-bit .dll 파일을 설치해주면 될 것이다.

1. http://archive.apache.org/dist/tomcat/tomcat-connectors/native/ 접속

위 사이트는 여러 버전의 tomcat-connectors/native를 제공하고 있는 사이트이다.

우리는 이 중에서 1.1.20/ 을 활용하기로 하겠다. (물론 원하면 다른 버전을 활용해도 된다)

2. 1.1.20/ > binaries/ > win32/ > tcnative-1.dll 파일 다운

http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.1.20/binaries/win32/

위 사이트로 가면 2번에 해야 하는 클릭 과정을 한 번에 수행할 수 있다.

3. 설치한 Tomcat의 bin 디렉터리에 설치한 dll 파일 붙여넣기 & 사용하는 jdk의 bin 디렉터리에 설치한 dll 파일 붙여넣기

  • Tomcat/bin 디렉터리

  • jdk/bin 디렉터리

4. 다시 startup.bat 입력 후 Tomcat 구동 여부 확인

profile
혹시 틀린 내용이 있다면 언제든 말씀해주세요!

0개의 댓글