The 'Apache2.4' service is successfully installed. 라는 문구가 뜬다면 정상적으로 설치된 것이다. 아래 Errors 문구는 무시해도 된다.
액세스 허용.
3) 아파치 실행
C: 경로로 옮긴 Apache24 - bin 경로에 보면 ApacheMonitor.exe 라는 파일이 있다. 해당 파일을 실행한다.
파일을 실행하면 작업표시줄에 아파치 모니터 아이콘이 보인다.
실행 버튼을 클릭한다.
4) 테스트
localhost 또는 본인 PC 아이피를 입력 후 아래와 같은 화면이 뜬다면 성공!
아파치 설치시 기본 포트는 80으로 지정되어 있다. 때문에 포트 번호를 입력하지 않아도 된다.
이제 아파치와 톰캣을 연동해보자.
아파치 톰캣 연동
아파치와 톰캣을 연동하는 방법은 3가지가 있다.
mod_jk(Tomcat connector)
mod_proxy
mod_proxy_ajp
본 포스팅에서는 관련 자료가 가장 많았던 mod_jk를 이용했다.
mod_jk는 톰캣의 AJP 프로토콜을 사용하여 아파치와 연동하는데 필요한 모듈이다.
(AJP : 아파치로 들어오는 요청을 위임할 수 있는 바이너리 프로토콜)
프로세스를 간단하게 설명하면, 사용자의 요청이 톰캣에서 처리해야하는 경우(서블렛을 필요로 하는 경우) 아파치는 AJP포트(기본 8009)에 접속해 요청을 전달한다. 톰캣은 아파치로부터 요청을 받아 처리 후 처리 결과는 아파치에게 되돌려준다. 이 때, 전달 역할을 하는 것이 mod_jk라는 것이다.
worker.list : 사용할 톰캣의 리스트. workes1은 alias의 개념으로 생각하면 된다.
worker.workers1.port=8009
포트 번호는 사용 중인 톰캣의 server.xml에서 AJP 프로토콜 설정이 되어있는 포트 번호를 입력해야 한다.
worker.workers1.host=localhost
아파치가 설치된 아이피 또는 localhost를 입력한다.
worker.workers1.type=ajp13
ajp13은 ajp 프로토콜을 의미한다.
4) 설정 파일 임포트(httpd.conf)
이제 설정 파일을 httpd.conf에 임포트만 하면 종료이다.
httpd.conf 파일은 Apache24 - conf 경로에 있다.
임포트 전에 기본 설정값으로 몇 가지를 알고 넘어가야 하는 부분이 있다.
# least PidFile.
#
Define SRVROOT "c:/Apache24"
ServerRoot "${SRVROOT}"
#
# Mutex: Allows you to set the mutex mechanism and mutex file directory
# for individual mutexes, or change the global defaults
#
(37 ~ 40라인쯤)Define SRVROOT : 아파치의 설치 경로에 대한 문자열(변수)을 지정한 것이다. 아파치 설치 파일을 C: 경로로 옮긴 이유는 이 때문이다. 물론 사용자가 원하는 경로로 수정할 수 있다.
ServerRoot "${SRVROOT}" : ServerRoot 설정에 SRVROOT 변수를 대입하한다. 아파치 서버가 설치된 디렉토리 경로를 지정함으로써 앞서 생성한 mod_jk.conf에서 로그 파일, worker 프로퍼티의 디렉토리 경로를 찾는데 사용된다. 이에 따라 아파치 설치 경로를 작성하지 않아도 된 것이다.
아파치의 기본 포트는 80이다.(57 ~ 60라인쯤)
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
#
# Dynamic Shared Object (DSO) Support