[Spring Boot]네이버 클라우드 서버(Ubuntu20.04)에 tomcat9설치

JANG SEONG SU·2022년 10월 24일
0

Spring Boot 프로젝트

목록 보기
3/5
post-thumbnail

선행조건

  • JDK 설치

Step.

  1. tomcat9 설치
  2. tomcat9 환경 설정

1. tomcat9 tar설치

0. 루트 사용자

$ sudo su

1. tomcat 사용자 추가

$ useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat

tomcat 사용자를 추가하고 디렉토리를 /opt/tomcat로 지정.
/bin/false 는 쉘 명령어 권한이 없다는 뜻이다.

2. tomcat9 tar파일 wget(다운로드)

$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz -P /tmp

tomcat9의 tar 파일을 /tmp에 받는다.

3. tar 파일 압축 해제

$ tar xf /tmp/apache-tomcat-9.0.68.tar.gz -C /opt/tomcat

/tmp/apache-tomcat-9.0.68.tar.gz 을 /opt/tomcat 아래에 압축해제.

4. /opt/tomcat 설정

$ ln -s /opt/tomcat/apache-tomcat-9.0.68 /opt/tomcat/latest

tomcat 버전 업데이트 시 최신버전을 latest에 심볼릭 링크하면 됨.

$ chown -R tomcat: /opt/tomcat

/opt/tomcat의 디렉토리의 소유자를 tomcat 사용자로 지정.

$ sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

/opt/tomcat/latest/bin/*.sh 에 실행 권한 추가.


2. tomcat9 환경 설정

1. tomcat system 설정

$ vi /etc/systemd/system/tomcat.service
# /etc/systemd/system/tomcat.service

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

다음과 같이 입력.

2. tomcat 재시작

$ systemctl daemon-reload
$ systemctl start tomcat
$ systemctl enable tomcat // 서버 작동시 tomcat 자동 실행
$ systemctl status tomcat

3. tomcat 사용자 설정

$ vi /opt/tomcat/latest/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<user name="계정명" password="비밀번호" roles="manager-gui, manager-script, manager-status"/>

위 작업은 tomcat 사용자 설정에서 web-interface 계정 생성하고 추후에 Jenkins서버에서 tomcat에 접근할 때 필요한 정보이다.

4. tomcat 외부 접근 허용 설정 (Jenkins 외부에서 Tomcat서버에 접근할 시)

$ vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml
$ vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml

위 두 명령어에 아래와 같이 수정한다.

<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->//주석처리하기

위 작업은 Jenkins 서버와 Tomcat이 설치된 서버를 따로 배치해두고 Jenkins 서버에서 Tomcat 서버로 접근할 때 접근 허용을 위한 작업이다.

이상 Tomcat 설치 작업 끝.

profile
Software Developer Lv.0

0개의 댓글