웹서버/Apache

[Tips] Apache apxs 툴을 통해 Apache 모듈 작성하기

투칼론 2020. 3. 10. 01:21
반응형

 

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 웹서버를 재기동해야 한다.