먼저 업데이트가 필요한 패키지가 있다면 업데이트를 해준다.
$ sudo apt update
jdk 11을 다운로드한다.
$ sudo apt install openjdk-11-jdk
아래와 같은 메세지가 나오면 Y를 입력한다. 2~3분 소요된다.
톰캣을 root계정에서 사용하는 것은 보안상 좋지 않기 때문에, 별도의 계정을 만들어 이용한다.
아래 명령어로 tomcat 이라는 계정 그룹을 생성한다.
$ sudo groupadd tomcat
아래 명령어를 입력하여 tomcat 이라는 계정을 생성하고, 그 계정을 tomcat 그룹에 포함시킨다.
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
/opt/tomcat 이 톰캣의 홈 디렉토리가 될 것이다.
설치 파일을 다운로드하기 위해 tmp 디렉토리로 이동한다.
$ cd /tmp
글 작성일 기준 최신 버전인 9.0.44 버전을 다운로드 한다.
톰캣 홈페이지에서 최신 버전을 확인해서 숫자를 입력하면 된다.
tomcat.apache.org/download-90.cgi
$ VERSION=9.0.44
$ wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
아래와 같이 입력. VERSION=부분에 원하는 버전 숫자를 입력한다.
톰캣을 설치할 디렉토리를 생성한다.
$ sudo mkdir /opt/tomcat
방금 받은 파일이 있는 tmp폴더로 이동한 후 다운로드한 톰캣 파일을 해당 디렉토리에 설치한다.
$ sudo tar xzvf apache-tomcat-*tar.gz -C /opt/tomcat --strip-components=1
톰캣을 설치한 디렉토리로 이동한다.
$ cd /opt/tomcat
tomcat 그룹에게 해당 디렉토리에 대한 소유권을 부여한다.
$ sudo chgrp -R tomcat /opt/tomcat
conf 디렉토리에 대한 읽기 권한 및 실행 권한을 부여한다.
$ sudo chmod -R g+r conf
$ sudo chmod g+x conf
tomcat 계정에게 webapps, work, temp, logs 디렉토리에 대한 권한도 부여한다.
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
tomcat에게 자바가 어디에 설치되어 있는지를 알려주어야 한다.
아래 명령어로 자바가 설치된 디렉토리를 확인한다.
$ sudo update-java-alternatives -l
실행하면 아래와 같이 경로정보가 출력된다.
이 경로정보를 이용해 systemd 서비스 파일을 생성한다.
/etc/systemd/system 디렉토리에 tomcat.service 파일을 생성한다.
$ sudo nano /etc/systemd/system/tomcat.service
실행하면 아래와 같은 모습이 나타난다.
아래 내용을 입력해준다.
JAVA_HOME 값에는 앞서 확인했던 자바 경로를 입력한다.
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 <-- 이 부분에 경로입력
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
붙여넣기 하면 아래와 같이 줄바꿈 없이 입력되는데, 이렇게 저장해버리면 service 파일이 실행되지 않는다.
커서를 이동하여 Enter키로 줄을 맞추어 준다.
아래와 같이 정리해주어야 한다.
웹 콘솔을 이용하면 텍스트가 실제와 다르게 표시되는 오류가 종종 있다.
그럴 때는 커서를 해당 텍스트 위쪽으로 쭉 지나가면 정확히 표시된다. (마우스 커서가 아닌, 키 입력 커서이다)
아마 커서가 지나가면서 해당 부분의 텍스트를 아마존 서버에서 불러오는 듯 하다.
줄을 맞춘 후 Ctrl + O, Enter 로 저장하고, Ctrl + X 로 파일을 닫는다.
방금 만든 service 파일을 인식시키기 위해 데몬을 reload 한다.
$ sudo systemctl daemon-reload
드디어! 톰캣을 실행시킨다.
$ sudo systemctl start tomcat
아래 명령어로 톰캣이 제대로 실행되었는지 재확인할 수 있다.
$ sudo systemctl status tomcat
정상 실행중이면 아래와 같이 출력된다.
텍스트가 입력되지 않는다면 파일을 실행 중인 것이므로, Ctrl + C로 빠져나온다.
8080 포트를 열어준다.
$ sudo ufw allow 8080
이제 브라우저에 'http://EC2 아이피 주소:8080' 를 입력하면 Tomcat 9 기본 페이지에 접속된다.
만약 접속되지 않는다면, EC2 보안 그룹에서 8080 포트를 열었는지 확인해야 한다.
'Linux \ Ubuntu' 카테고리의 다른 글
[Tomcat] letsencrypt 인증서로 https적용하기 (0) | 2021.06.12 |
---|---|
[Lightsail] Ubuntu 20.04 root 패스워드 설정하기 (0) | 2021.04.26 |
[EC2] 우분투에 mysql 설치 및 계정 생성, 권한 부여하기 (0) | 2021.03.25 |
[EC2] Ubuntu 20.04 사용자 변경이 안 될 때 변경하는 방법 (0) | 2021.03.23 |
[EC2] 보안 그룹에서 포트 열어주기 (0) | 2021.03.21 |
댓글