본문 바로가기
IT Info/Linux

Linux 아파치(httpd) Tomcat mod_jk 연동 방법 [RHEL, CentOS]

by Myste.Lee 2021. 4. 11.
728x90

이전 포스팅에서 Web(Apache), WAS(Tomcat) 컴파일 설치를 해 보았다

 

이래저래 블로그에 대충 써놓으니 가끔 써먹을 때 아주 유용하다 ㅋㅋ 

 

이번에는 mod_jk 모듈을 이용한 Web/WAS연동을 해보려 한다

사실 별것 아닌데 갑자기 하라고 하면.. 음.. 좀 막힐 때가 있어서 블로그에 작성한다

 

환경은 이전 블로그에 작성한 환경을 기반으로 한다

Apache 컴파일 설치(SSL 적용), Tomcat 설치 완료!

 

플러그인 명(Module)은 mod_jk이다 

AJP(Apache JServ Protocol) 통하여 연동된다, 일종의 아파치/톰캣 사이의 징검다리 역할을 하며 기본 사용 포트는 8009 이다

 

우선 mod_jk를 다운받는다 (갓글에 tomcat connector 검색!)

tomcat.apache.org/download-connectors.cgi

#다운 받은 파일을 서버에 업로드 후 압축을 풀어 준다(tar -zxvf)

항상 제조사 또는 정보 제공자의 README를 꼭 읽어보자 .. 읽어보니 native의 BUILDING.txt 읽어 보란다..

우리가 필요한 내용이 적혀 있다! 여기서 중요한 apxs 존재 여부를 다시 확인하는 것이 좋다

굳! 이제 명령어로 컴파일을 진행해보자!

압축 해제 경로/native 이동 후

./configure --with-apxs=$APACHE_HOME/bin/apxs 명령어 수행

make && make install 수행

 

아파치 설치 경로/module 이동하여 mod_jk.so 파일 생성 여부를 확인함으로 모듈 설치 여부를 확인할 수 있다

 

그런데... http.conf 또는 conf/extra 경로를 가보아도 별다른 파일이 생성이 되어있진 않다... (불친절..)

그래서 다른 자료를 찾아보면 일일이 파일을 생성하는 경우가 있는데 커넥터 경로에 가보면 conf 디렉터리 안에

httpd-jk.conf, workers.properties, uriworkermap.properties 세 개의 파일 이 있을 것을 볼 수 있다

이 파일을 아파치 conf 및 extra 디렉터리에 복사하여 사용 하자

이렇게 커넥터 모듈 설치 및 기본 준비는 완료되었다

 

#Tomcat Server.xml 수정

98번 줄에 있는 AJP1.3 설정 항목을 수정해준다

<!--

--> 주석 표시이다, 주석만 삭제 후 진행해본다

수정 후 8009 포트 리슨 상태를 확인할 수 있다

#Apache 설정 파일 수정

아파치홈/conf의 httpd.conf 열어 맨 아랫줄에 Include conf/extra/httpd-jk.conf 추가해준다

(위에서 세 개의 파일 경로를 conf/extra로 지정했기 때문에 위의 경로로 지정해줌)

아파치홈/conf/extra의 httpd-ssl.conf 열어 </VirtualHost> 윗줄에 JkMount /* tomcat[별칭] 추가해준다

난 SSL 적용 하였기에 httpd-ssl.conf에 적용 하지만 http에 적용할 경우 httpd.conf 에 작성해준다

 

아파치홈/conf/extra 의 httpd-jk.conf 수정해준다

workers.properties 파일의 기본 경로는 conf/workers.properties 이지만 난 extra에 있기에 수정해 주었다

중요한 내용은 LoadModule 과 JkWorkersFile 이다

아파치홈/conf/extra 의 workers.properties 수정해준다

위의 내용은 무시하고 맨 아래 줄에 추가해준다

worker.list=[별칭]

worker.[별칭].type=ajp13

worker.[별칭].port=8009

worker.[별칭].host=[호스트주소]

기본적인 준비는 끝난 것 같다 

 

따라란 따라란 따라란 따따따~ 

의...ㅇ..?

안되네? 그럴 땐 우린 당황하지 않고 로그를 보면 됩니다

아파치홈/logs/mod_jk.log 열어 봅니다

...반응이 없는거같은데..? ......;;;

 

답은 간단했다 보안 취약으로 인하여 추가로 변경 해주어야 할 부분이 생겼다고 한다

 

아파치홈/conf/extra 의 workers.properties 추가 수정 해준다

worker.tomcat.secret=password      *값은 뭘해도 상관없다.. 이것도 취약한 거 아닌가...?ㅋㅋㅋ

톰캣홈/conf/server.xml 추가 수정해준다

그리고 나서...

 

뙇! 끝!

Worker.list 여러 개 지정하여 도메인 주소 뒤의 여러 분기를 지정할 수 있다

 

#요약

1. tomcat-connector 설치 및 설정파일 배치

2. tomcat server.xml 수정

3. apache httpd.conf, httpd-jk.conf, workers.properties 수정 (SSL 마운트 경우 httpd-ssl.conf 수정)

 

 

728x90

댓글