tomact 설치 및 활용

2022. 7. 27. 14:17DevOps/DevOps기초

고양이를 좋아하지만 너무 띠꺼운..아니 너무 못생긴 고양이. 그 이름은 톰켓. java기반의 서블릿 컨테이너이자, 웹서버를 운용할 수 있도록 지원해주는 도구이다.

 

실습환경은 AWS EC2위에서 실행한다.

최소 스팩은 아래와 같다.

OS : Linux

instance : T2.micro

SG : 22, 80, 8080-9000, ICMP Open

 

CLI로 접근한 후 아래의 명령어를 실행하자.

# sudo su -
==> 관리자 권한으로 로그인
# hostnamectl set-hostname tomcat-server
==> 이름을 변경한다
# exit
==> 변경된 이름을 확인하기위해 종료후 제 접속
# amazon-linux-extras install -y java-openjdk11
==> 역시 java를 설치하기 위함이다.
# cd /opt
# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
==> 톰켓을 다운로드 받는다. 버전은 9, 릴리즈는 9.0.65이다.
# tar -xvzf apache-tomcat-9.0.65.tar.gz
# mv apache-tomcat-9.0.65 tomcat
# cd tomcat/bin/
==> 다양한 파일들을 확인할 수 있다.
# ./startup.sh
==> 톰켓서버를 기동시키는 명령어가 담긴 쉘 명령어를 실행시킨다.

이제 해당 ip:8080  포트로 접근하면 잘 되는것을 볼 수 있다.

하지만 여기서 끝이 아니라 메니저 app을 들어갈 수 있어야 한다.

일반적으로 설정이 되어있지 않다면 403에러가 나타나는것을 확인할 수 있다.

CLI로 접근하여 권한 설정 및 계정을 새로 생성하도록 하자.

아래 2곳의 경로의 내용을 수정해야한다.
/opt/tomcat/webapps/host-manager/META-INF/context.xml
/opt/tomcat/webapps/manager/META-INF/context.xml

# vi /opt/tomcat/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" /> -->
==> 최하단의 valve를 주석처리하도록 한다. <!-- -->

# vi /opt/tomcat/webapps/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" /> -->
==> 최하단의 valve를 주석처리하도록 한다. <!-- -->

# vi /opt/tomcat/conf/tomcat-users.xml
==> manager app 에 접근하기 위한 사용자를 지정한다. jenkins가 tomcat에 로그인하기 위해서 기록해야한다.
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
==> role에 대한 정의 이다.
<user username="admin" password="test1234" roles="manager-gui, manager-script, manager-jmx, manager-status"/>
==> 관리자는 모든 기능을 활용할 수 있다.
<user username="deployer" password="test1234" roles="manager-script"/>
==> 개발자라는 유저는 script를 사용할 수 있다.
<user username="tomcat" password="test1234" roles="manager-gui"/>
==> 톰켓이라는 유저는 gui를 사용할 수 있다.

# ln -s /opt/tomcat/bin/startup.sh /usr/local/bin/tomcatup
==> 심볼릭 링크를 추가해 startup.sh를 지정
    systemctl 과 유사한 작업이다.
# ln -s /opt/tomcat/bin/shutdown.sh /usr/local/bin/tomcatdown
==> 심볼릭 링크를 추가해 shutdown.sh를 지정

gui로 이제 관리를 할 수 있게 되었고, 생성된 계정(deployer)을 바탕으로 CLI를 사용해 jenkins가 사용할 수 있게 되었다.

 

'DevOps > DevOps기초' 카테고리의 다른 글

GCP를 활용한 GIT LAB생성  (0) 2022.07.28
Jenkins - Tomcat 연동하기  (0) 2022.07.27
Jenkins, Maven 설치 및 활용하기  (0) 2022.07.27
DevOps와 DevOps 엔지니어의 차이는 뭘까?  (0) 2021.09.05
DevOps란???  (0) 2021.09.02