본문 바로가기
리눅스(Linux)/CentOS

[Amazon Linux 2/CentOS 7] 아파치 톰캣(Apache Tomcat) 9.0 설치하는 법

by 연구자 공학코드 2022. 2. 19.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

아마존 리눅스(Amazon Linux 2)에 아파치 톰캣(Apache Tomcat) 9.0을 설치하는 방법을 소개한다. 톰캣 설치 전에 자바가 설치되어 있지 않다면 아래의 글에서 자바를 설치하도록 하자.

 

2022.02.16 - [개발/리눅스] - [Amazon Linux 2] 자바(Java) 8 설치하는 법

 

1. YUM(Yellow dog Updater, Modified)으로 설치가능한 패키지 확인

YUM 명령어를 통해 톰캣을 설치할 수 있으면 간단하겠지만 현재 기준으로는 7.0만 설치가 가능하다.

sudo yum list | grep tomcat

설치가능한 tomcat 패키지 목록

2. 톰캣 웹사이트에서 9.0 버전 다운로드 주소 확인

그러므로 톰캣 웹사이트에 가서 9.0 버전 파일의 주소를 확인하고 다운로드한다.

아파치 톰캣 웹사이트 주소: https://tomcat.apache.org/download-90.cgi

 

다운로드 페이지

Core 파일 중에 tar.gz 파일의 주소를 복사하고 아래와 같이 명령어를 작성하여 입력한다.

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.58/bin/apache-tomcat-9.0.58.tar.gz

아파치 톰캣 9.0이 다운로드 된 화면

3. 아파치 톰캣 9.0을 실행할 계정과 그룹 생성

아래의 명령어를 입력하여 아파치 톰캣 9.0을 실행한 계정과 그룹을 생성한다. 참고로 말하면 보안 측면에서 WAS를 기동하는 계정을 별도로 사용하는 것이 좋다. 이 계정은 로그인하지 않을 것이기 때문에 로그인하지 않는 것으로 설정하는 옵션을 입력한다.

sudo groupadd tomcat
useradd -s /bin/nologin -g tomcat tomcat

생성 명령어를 입력한 화면

4. 아파치 톰캣 설치

아래의 명령어를 입력하여 2.에서 다운받은 아파치 톰캣을 압축해제한다.

tar xvfz apache-tomcat-9.0.58.tar.gz

압축해제 명령어를 입력한 화면

아래의 명령어를 입력하여 아파치 톰캣 디렉토리를 톰캣 계정의 홈 디렉토리로 이동한다.

sudo mv apache-tomcat-9.0.58 /home/tomcat

이동 명령어를 입력한 화면

아래의 명령어를 입력하여 톰캣 서비스 파일을 생성한다.

sudo vi /etc/systemd/system/tomcat.service

톰캣 서비스 파일 생성 명령어를 입력한 화면

아래의 내용을 서비스 파일에 입력한다.

[Unit]
Description=Apache Tomcat 9.0 Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/home/tomcat/apache-tomcat-9.0.58/temp/tomcat.pid
Environment=CATALINA_HOME=/home/tomcat/apache-tomcat-9.0.58
Environment=CATALINA_BASE=/home/tomcat/apache-tomcat-9.0.58
Environment='CATALINA_OPTS=-Xms256M -Xmx256M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/home/tomcat/apache-tomcat-9.0.58/bin/startup.sh
ExecStop=/home/tomcat/apache-tomcat-9.0.58/bin/shutdown.sh
#ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

서비스 파일에 입력한 화면

아래의 명령어를 입력하여 서비스를 등록시킨다.

sudo systemctl daemon-reload

재기동 명령어를 입력한 화면

아래의 명령어를 입력하여 톰캣 서비스가 아마존 리눅스가 부팅될 때 자동으로 실행되도록 설정한다.

sudo systemctl enable tomcat.service

자동 실행 명령어를 입력한 화면

아래의 명령어를 입력하여 톰캣 홈 디렉토리 이하의 파일들의 권한을 일괄로 톰캣으로 변경한다.

 

 

sudo chgrp -R tomcat /home/tomcat/
sudo chown -R tomcat /home/tomcat/

그룹 변경 명령어를 입력한 화면
소유자 변경 명령어를 입력한 화면

5. 아파치 톰캣 실행 및 테스트

아래의 명령어를 입력하여 톰캣 서비스를 실행한다.

sudo systemctl start tomcat

톰캣 서비스 실행 명령어를 입력한 화면

'http://IP주소:8080' 으로 이동하여 정상적으로 실행되는지를 확인한다.

정상적으로 톰캣이 실행된 화면

아마존 EC2 대시보드로 가서 공인(Public) IPv4 주소를 확인하고 보안 규칙을 설정하면 정상적으로 접속이 가능할 것이다.

공인 IPv4 주소가 나타나 있는 화면
보안 규칙이 정상적으로 적용된 화면

 

6. 톰캣 디렉토리 읽기 권한 부여(Amazon Linux 2만 해당함)

ec2-user 계정으로 /home/tomcat 디렉토리를 읽으려고 하면 접근 거부가 나타날텐데 그 경우 아래와 같이 명령어를 입력하여 ec2-user 계정을 tomcat 그룹에 추가한다.

sudo usermod -aG tomcat ec2-user
groups

계정 그룹을 조정한 화면

groups 명령어를 입력했을때 tomcat이 없으면 운영체제를 재기동 후에 다시 확인하면 잘 반영이 되어 있을 것이다.

728x90
반응형

댓글