AWS-3Tier

[AWS-3Tier] Web/Was 서버에 apache, tomcat 설치하기

후루루탕후루 2022. 1. 7. 02:43

1. web - apache 설치

2. was - tomcat 설치

 

 

우선 앞전까지의 내용들을 모두 진행하고,, 이를 테라폼으로 리소스관리를 했다면 

apply 한 번으로 아래와 같이 web/was/bastion , alb, nlb가 모두 생성된다.

 

우선 cmd 창을 통해 베스쳔으로 접속,,하기 전에 베스쳔으로 미리 개인키를 옮겨 놓자.

 

#옮기는 이유?

-> 베스쳔에서 web과 was 서버로 접속해야 하는데, 이때 개인키가 있어야만 접속을 할 수 있기 때문이다.

 

그 후.ssh 폴더로 이동 후, ssh -i 커맨드를 이용해 접속해주자.

#커맨드 창에서
scp -i ssw.key ssw.key ec2-user@[베스쳔의 ip]:/home/ec2-user/.ssh
cd .ssh
ssh -i ssw.key ec2-user@[베스쳔의 IP]

####꼭 키를 옮겨놓아야만 bastion을 통해 web과 was에 접속이 가능하다!!!####

그리고 scp 명령어는 key가 아니더라도 갖가지 파일들을 옮기는데 자주 쓰이기 때문에 꼭꼭!! 숙지해둘 것!!

 

암튼 베스쳔에서 확인 해보면, 아래와 같이 .ssh 경로에 key 파일을 확인할 수 있다.

또한 sudo su 명령어를 통해 root 사용자로 바꾼 후, key의 권한까지 설정해준다.

sudo su
chmod 600 [key]

 사전 작업이 끝났으니 이제 본격적으로 web서버에 apache를 설치할 차례.

 

1.1 web 접속

ssh -i [개인 key] ec2-user@[web의 private ip]

 

1.2 apache 설치

sudo su
yum install httpd -y
systemctl status httpd
systemctl start httpd

아파치를 설치하고 나면 후의 프록시 연동을 위한 health check 파일까지 만들어준다.

 

vi /var/www/html/health.html
systemctl restart httpd

 i 를 눌러 아래사진과 같은 확인 문구 작성 후 esc + :wq를 통해 저장 후 나와준다.

이후 아파치를 restart 시켜줌!

이 작업은 이후 프록시 연동 시, alb의 dns 주소를 새 탭에 입력했을 때 apache 서버가 작동하는지 확인할 수 있도록 해준다.

 

 

2.1 was로 접속

exit을 통해 베스쳔으로 나가준 후, 똑같이 was 서버로 접속해준다.

exit
exit
ssh -i ssw.key ec2-user@10.0.4.11

 

 

2.2 tomcat 설치

이제 본격적으로 톰캣 설치..할텐데...

tomcat은 apache 보다 더 까다롭다. 사실 톰캣만 보면 안 까다로운데 펫클리닉이..ㅋㅋㅋ

 

우선  tomcat 설치 이전에, JAVA가 깔려있어야 한다.

sudo amazon-linux-extras install java-openjdk11 -y

그리고 아래의 톰캣 홈페이지에서 링크주소를 따와준다.

https://tomcat.apache.org/download-90.cgi

 

 

Apache Tomcat® - Apache Tomcat 9 Software Downloads

Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version

tomcat.apache.org

 

링크 주소 복사 후, wget 명령어를 통해 파일을 다운 해준다.

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz

이후, 아래의 명령어들을 통해 유저 추가 및 권한 추가를 해준다.

sudo groupadd --system tomcat		#tomcat그룹 만들기
sudo useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat  #tomcat user추가 (bin/false를 홈 폴더로 지정
sudo tar xf apache-tomcat-9.0.56.tar.gz -C /usr/share/   #user/share 밑에 tomcat 압축해제
sudo ln -s /usr/share/apache-tomcat-9.0.56/ /usr/share/tomcat   #user/share폴더 아래 tomcat이라는 심볼릭 링크 생성
sudo chown -R tomcat:tomcat /usr/share/tomcat	#tomcat폴더에 권한 주기
sudo chown -R tomcat:tomcat /usr/share/apache-tomcat-9.0.56
cd /etc/systemd/system		#Tomcat을 시작/종료 할 수 있도록 시스템에 등록하는 작업
vi tomcat.service

vi 편집기를 통해 아래 내용을 넣어야 한다.

[Unit]
Description=Tomcat Server
After=syslog.target network.target

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

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop
[Install]
WantedBy=multi-user.target

그리고 톰캣을 사용하기 위해 tomcat-users도 건드려준다.

이는 Manager App을 사용하려면 사용자 계정을 등록해줘야 되기 때문에 하는 작업이다.

vi /usr/share/tomcat/conf/tomcat-users.xml

아래 내용 삽입
<role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-status,manager-jmx"/>

위와 같이 사용자 등록이 끝난 후, webapps/manager 폴더와 webapps/hosts-manager 양 쪽의 META-INF/context.xml 파일을 수정해주면 된다.

 

vi /usr/share/tomcat/webapps/host-manager/META-INF/context.xml
vi /usr/share/tomcat/webapps/manager/META-INF/context.xml

####두 경로 모두 들어가서 주석처리를 해주어야 함!!!####

위의 사진의 부분을 주석처리 해주면 됨

이는 Tomcat 9에서는 localhost에서만 Manager App에 접근 할 수 있도록 설정되어 있는데, 이것을 해제하는 작업이다.

-> 다른 장비에서의 접속이 가능해짐.

 

이제 다 왔다.....!!!!!!

톰캣 상태확인 & 시작만 하면 된다.

systemctl status tomcat
systemctl start tomcat

여기까지 하면 Tomcat 설치는 끝!!!!!!!

 

이제 petclinic 배포&연동 + proxy 설정만 끝낸다면 3Tier는 완성이다.