DevOps

Install Tomcat on Linux(RHEL 8/CentOS)

엘호리스 2024. 2. 18. 15:22

블로그 포스팅 정말 오랜만이긴 한데... 그렇다고 길게 할 생각이 없다.

이유는 비슷한 컨텐츠를 짜집기 하여 재생산 하는 작업을 나보다 ChatGPT가 더 잘하기 때문이다.

원래는 기본기를 다시 한번 다듬는 행위로 포스팅을 하려고 하였는데...

아주 간단한 작업들 조차 머릿속에서 기억이 휘발된 것을 보니... 뇌 속에 있는 기억창고를 정리하고자 순수 텍스트로만 정리하려 한다.

0. Java 설치

0-1. 패키지 관리도구로 설치

# 패키지 관리도구 업데이트
sudo dnf update

# RPM 패키지 관리도구에서 java 목록 검색
sudo dnf list java*

# Java 패키지 설치
sudo dnf install java-21-openjdk java-21-openjdk-devel -y

# Java 실행 확인
java -version

0-2. 오프라인 설치

# https://github.com/openjdk/jdk 등을 통해 java-21-openjdk-devel.tar.gz 파일 확보
# java 폴더 생성
cd /usr/lib
mkdir java
cd java

# 압축 풀기
tar -xzvf openjdk-21.0.2_linux-x64_bin.tar.gz

# 환경변수 세팅
sudo vi /etc/profile

## export 명령어 삽입
export JAVA_HOME=/usr/lib/java/jdk-21.0.2
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

# 적용
source /etc/profile

# alternatives 설정(Optional)
sudo alternatives --install /usr/bin/java java /usr/lib/java/jdk-21.0.2/bin/java 100
sudo alternatives --install /usr/bin/javac javac /usr/lib/java/jdk-21.0.2/bin/javac 100

1. Tomcat 다운로드 및 설치(압축해제)

1-1. Archive 버전 및 다운로드 주소 확인

1-2. 다운로드 및 설치

cd /tmp
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz

sudo mkdir /opt/tomcat
sudo tar -xzvf apache-tomcat-9*.tar.gz -C /opt/tomcat

2. Tomcat 실행 Group/User 생성

# tomcat 그룹 추가
sudo groupadd tomcat
# tomcat 유저 추가
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

# Tomcat 디렉토리의 소유권 tomcat 사용자와 그룹에 부여
sudo chown -R tomcat:tomcat /opt/tomcat

3. system damon 서비스 파일 생성

sudo vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=CATALINA_PID=/opt/tomcat/apache-tomcat-9.0.85/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat/apache-tomcat-9.0.85
Environment=CATALINA_BASE=/opt/tomcat/apache-tomcat-9.0.85

ExecStart=/opt/tomcat/apache-tomcat-9.0.85/bin/catalina.sh start
ExecStop=/opt/tomcat/apache-tomcat-9.0.85/bin/catalina.sh stop

RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

4. Tomcat 서비스 시작 및 활성화

# unit 파일 수정 후 시스템 설정 반영
sudo systemctl daemon-reload
# tomcat 서비스 시작
sudo systemctl start tomcat
# tomcat 서비스 활성화(시스템 부팅후 시작되게 설정)
sudo systemctl enable tomcat

5. 방화벽 설정 (Optional)

firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --zone=public --permanent --add-port=8443/tcp
firewall-cmd --reload