[Tips] Apache apxs 툴을 통해 Apache 모듈 작성하기
Apache apxs는 Apache 모듈을 작성 시에 사용되는 Apache 웹서버에 번들되어 있는 툴(APache eXtenSion)이다. apxs를 통해 Apache 모듈 - 보통 DSO(Dynamic Share Object) 형태의 shared library를 작성하고, 설치할 때 활용한다.
WebLogic 등과 같은 WAS와 연결 시에 필요한 플러그인 모듈 역시 apxs를 통해 작성되었다고 보면 된다.
사용 순서
1) 모듈 생성
$ [아파치홈]/bin/apxs -g -n 모듈명
예시) 해당 디렉터리에 sample 디렉터리를 생성하고, mod_sample.c 라는 기본 골격을 갖춘 소스 파일을 생성함
$ /usr/sw/apache/bin/apxs -g -n sample
2) 모듈 개발 및 컴파일
우선 모듈 소스(예, mod_sample.c)에 구현하고자 하는 로직을 작성하여 컴파일 한다. 성공적으로 컴파일이 완료되면 다양한 확장자(보통 .o, .lo, .slo, .la)를 가진 파일이 생성된다.
$ [아파치홈]/bin/apxs -c 모듈소스(확장자 .c)
예시)
$ /usr/sw/apache/bin/apxs -c mod_sample.c
성공적으로 완료되면, mod_sample.o, mod_sample.lo, mod_sample.slo, mod_sample.la 파일이 생성됨
3) 모듈 설치
이 단계에서는 작성한 모듈이 로딩될수 있도록 httpd.conf 파일에 LoadModule가 자동 설정되고, $[아파치홈]/modules에 복사된다.
$ [아파치홈]/bin/apxs -i -a -n rewrite 모듈(확장자 .la)
예시)
$ /usr/sw/apache/bin/apxs -i -a -n rewrite mod_sample.la
4) apache 웹서버 재기동
해당 모듈을 로딩하기 위해서는 apache 웹서버를 재기동해야 한다.