Ubuntu 22.04.2 LTS 서버 버전에서 웹서버인 아파치와 WAS인 톰캣을 연동해보겠습니다.
apt-get upgrade
apt-get install apache2
입력하여 아파치를 설치합니다.
설치 후, 아파치 상태 확인
systemctl status apache2
Active에 active(running)이라고 초록색으로 표시가 되었다면 현재 기동중이라는 의미입니다.
그러면, 로컬호스트에서 해당 우분투 ip로 접속 시 다음과 같이 보여집니다.
여기까지 되었다면 아파치는 정상적으로 설치되어 기동 중입니다.
apt-get install tomcat9
입력하여 톰캣을 설치한다.
설치 후, 톰캣 상태 확인
systemctl status tomcat9
마찬가지로 톰캣도 정삭정으로 작동중이라고 표시됩니다.
그러면, 해당 우분투 서버 ip:8080(아직 아파치 서버와 연동하지 않았으므로 포트번호를 붙여야 합니다)으로 접속 시 다음과 같은 화면이 나타납니다.
It works ! 라는 문구가 떠 있다면 정삭적으로 기동 중이라는 뜻입니다.
그러면 이제 WEB서버인 apache와 WAS서버인 tomcat을 연동을 해보겠습니다.
연동을 위해선 추가 패키지 설치가 필요합니다.
apt-get install libapache2-mod-jk
libapache2-mod-jk
패키지는 아파치와 톰캣을 연동시키는 하나의 모듈입니다.
해당 패키지를 설치하면 /etc/libapache2-mod-jk/
경로에 workers.properties
파일과 httpd-jk.conf
심볼릭링크 파일이 생깁니다.
workers.properties
파일은 아파치와 톰캣사이에 연동과정에서 전달하는 worker 즉, 일하는 자를 정하는 파일이고 httpd-jk.conf
파일은 링크가 아파치 모듈 중 jk.conf
라는 파일로 이어지는데 이 파일은 workers.properties
의 경로와 로깅 경로를 지정하는 파일입니다.
workers.properties 파일은 vi 편집기로 엽니다.
workers.tomcat_home=/ust/share/tomcat8
이 부분을 tomcat의 설치 경로로 변경해줍니다.
저 같은 경우는 /usr/share/tomcat9
으로 변경했습니다.
workers.java_home=/usr/lib/jvm/default-java
이 부분은 openjdk 설치 경로를 입력합니다. 보통 default-java
가 심볼릭 링크로 openjdk
를 링크해주니 가리키지 않고 있을때만 고쳐줍니다.
만약 JAVA가 설치되어있지 않다면 apt-get install default-jdk
로 설치합니다.
이 부분을 보시면 worker.list는 worker의 이름 목록을 나타냅니다. 여러개를 설정하여 로드밸런싱을 수행할 수도 있지만 저는 연동이 목적이므로 추가하진 않았습니다.
vi /etc/apache2/sites-available/000-default.conf
입력하여 vi 편집기를 엽니다.
아파치 소스 ROOT파일인 DocumentRoot /var/www/html
에 앞에 #을 붙여 주석처리를 하고
DocumentRoot /var/lib/tomcat9/webapps/ROOT
JkMount /* ajp13_worker
새로운 소스 경로와 worker를 지정해줍니다.
vi /etc/tomcat9/server.xml
입력하여 vi 편집기를 엽니다.
그러면 톰캣 서버 연동 설정들이 쭈욱 나올텐데
<!--
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectport="8443" /> -->
부분을 주석해제하고 다음과 같이 수정합니다.
<Connector protocol="AJP/1.3"
address="0.0.0.0"
port="8009"
redirectport="8443"
secretRequired="false" />
추가한 secretReauired
는 톰캣 8.5버전부터 생긴 보안 기능을 사용하지 않는다는 의미입니다.
secretRequired
는 id와 password를 받아 연결하거나 아니면 기능을 꺼야 AJP커넥터를 이용할 수 있습니다.
service apache2 restart
service tomcat9 restart
코드로 아파치와 톰캣을 재시작한 후 호스트에서 우분투 서버의 ip만 입력해도 tomcat서버가 나오는 것을 확인할 수 있습니다.
이제, 정적인 html,css 파일 뿐 만이 아니라 동적인 WAS파일도 홈페이지에 나타낼 수 있게 되었습니다.