본문 바로가기
K-Shield Jr. 10th

[Ubuntu Server 18.04] Apache2, Tomcat9 설치 및 연동하기

by 은박지_ 2023. 3. 22.

가상 인프라 구성

Ubuntu Server 18.04 5개의 가상 서버

 

  • Web Service Server
  • DB Server
  • Development Server
  • Log Server
  • DB Backup Server

 

 

 

고정 IP 설정

5대의 가상 서버는 모두 고정 IP를 사용하고 있는데, Ubuntu Server 설치 단계에서 고정 IP 설정을 빼먹어서 나중에 추가로 설정했다 (참고)

 

etc/netplan/00-installer-config.yaml 파일 수정 

1️⃣ sudo nano etc/netplan/00-installer-config.yaml

network:
    ethernets:
        ens33:
            dhcp : no
            addresses: [192.168.0.x/24]
            gateway4: 192.168.0.2
            nameservers: 
            	addresses: [8.8.8.8, 8.8.4.4]
    version: 2

고정 IP를 설정하려면 dhcp는 no로 변경해야 하고, addresses는 [](대괄호)를 사용해야 한다

 

2️⃣ sudo netplan apply

 

 

 

가상머신 인터넷 설정

강사님 따라서 IP랑 게이트웨이를 192.168.0.x로 설정했는데, 내 가상머신 네트워크는 192.168.190.x로 구성되어 있었다. (이것 때문에 가상머신에서 인터넷이 안 됐다)


그래서 가상머신에 설정한 고정 IP를 192.168.0.x 에서 192.168.190.x로 수정하거나, Virtual Network Editor에서 네트워크를192.168.190.x에서192.168.0.x로 수정하는 방법이 있는데 나는 후자로 진행하였다. 설정 완료된 화면은 아래와 같다.

 

 

가상 인프라 환경 구축

Apache 2.4.29
Tomcat 9.0.16
MariaDB 10.1.48

- Web Service Server : Apache Http Server, Apache Tomcat
- DB Server : MariaDB
- Development Server : Apache Http Server, Apache Tomcat, MariaDB

 

 

 

Apache2 설치

sudo apt-get install apache2

 

 

Tomcat9 설치

sudo apt-get install default-jdk   # jdk 11 version
sudo apt-get install tomcat9

 

Tomcat 테스트

http://ip:port 로 접속해서 It Works 페이지가 나오면 정상적으로 실행되는 상태

- sudo systemctl start tomcat9	
- 윈도우 브라우저에서 http://ip:8080 접속

 

 

 

Apache2 & Tomcat9 연동 설정

libapache2-mod-jk 모듈 사용

 

sudo apt-get install libapache2-mod-jk

 

 

000-default.conf

1️⃣ sudo nano /etc/apache2/sites-available/000-default.conf

2️⃣ 000-default.conf 파일 수정

DocumentRoot /var/www/html
JkMount /* tomcat   # 추가 작성

 

 

workers.properties

1️⃣ sudo nano /etc/apache2/workers.properties

2️⃣ workers.properties 파일 수정

workers.tomcat_home=/usr/share/tomcat9  # Tomcat9 설치 경로
workers.java_home=/usr/lib/jvm/java-11-openjdk-amd64  # JDK 설치 경로
 
worker.list = tomcat   # tomcat 대신 다른 이름 사용 가능
 
worker.tomcat.port = 8009
worker.tomcat.host = localhost 
worker.tomcat.type = ajp13
worker.tomcat.lbfactor = 1

 

 

jk.conf

1️⃣ sudo nano /etc/apache2/mods-available/jk.conf
2️⃣ jk.conf 파일 수정

JkWorkersFile /etc/libapache2-mod-jk/workers.properties   # 기존 코드
JkWorkersFile /etc/apache2/workers.properties             # 수정 코드

 

 

server.xml

1️⃣ sudo nano/etc/tomcat9/server.xml
2️⃣ server.xml 파일 수정

<!-- Define an AJP 1.3 Connector on port 8009 -->
	
	# 주석 해제
	<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    
** port 설정
   - Web Service Server : 8009
   - DB Server : 8010
   - Development Server : 8011
   - Log Server : 8012
   - DB Backup Server : 8013

Apache와 Tomcat은 Web Service Server랑 Development Server에만 설치하면 되는데, 처음에 모르고 5개 서버에 모두 설치해버렸다😅 그리고 포트가 같으면 안 될 것 같아서 모두 다르게 설정했는데 그냥 모두 8009로 해도 문제 없다. 

 

 

 

Apache2 & Tomcat9 연동 테스트

http:ip:port/index.jsp로 접속

 

연동 테스트는 강사님이 배포해주신 ROOT.war 파일 안에 있는 jsp 파일이 정상적으로 출력되는지 확인한다. 그래서 먼저 Windows에 있는 ROOT.war 파일을 Ubuntu Server로 전송해야 한다.

 

war 파일 전송 → Windows to Linux 

in Ubuntu, 

- SSH 설치
  sudo apt install openssh-server


in Windows CMD,

- 전송하려는 파일이 있는 경로로 이동
- scp 파일이름 Ubuntu계정@ip:/home/Ubuntu계정

scp는 SSH 프로토콜을 기반으로 파일을 전송하기 때문에 Ubuntu Server에 openssh가 설치되어 있어야 한다 (참고)

 

Windows CMD에서 Ubuntu Server로 파일 전송 성공

 

 

war 파일 압축 해제

1️⃣ ROOT.war 파일 복사

sudo cp ROOT.war /var/lib/tomcat9/webapps/ROOT


2️⃣ ROOT.war 파일 경로로 이동

cd /var/lib/tomcat9/webapps/ROOT


3️⃣ ROOT.war 파일 압축 해제

sudo jar xvf ROOT.war

 

 

jsp 페이지 접속

1️⃣ Apache2, Tomcat9 Restart

sudo systemctl restart apache2
sudo systemctl restart tomcat9

 

2️⃣ ROOT.war 파일 경로로 이동

윈도우 브라우저에서 http://ip:8080/index.jsp 접속

 

 

 

댓글