2016-12-07
참조 : https://httpd.apache.org/docs/current/ko/dso.html

아파치 서버에서 현재 사용 되는 모듈을 확인 하려면, 아래와 같이 httpd -l 을 쳐보면 알 수 있다.
# httpd -l Compiled in modules: core.c mod_so.c http_core.c
근데 모듈이 너무 적게 표시된다. 그 이유는 해당 명령어로는 정적 모듈만 표시되기 때문이다.
그렇다면 실제로 쓰이고 있는 더 많은 모듈들은 어떻게 알 수 있을까?
우선 이건 서버나 운영체제 마다 설정 되어 있는 형식이 달라서 확실하게 꼬집어서 말해줄 수가 없다.
간단히 필자가 현재 사용중인 CentOS의 설정을 예로 들어본다면,

우선 httpd.conf 파일에 들어가 보면 이런 구문이 있다.
. . . Include conf.modules.d/*.conf . . .
해당 위치에 모듈관련 파일들을 .conf파일들로 넣어 놓고, .conf로 끝나는 파일들을 전부 include 하고 있는 것이다.
그래서 해당 파일들중에 하나를 열어 보면,
. . . LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so . . .
위와 같은 식으로 여러 모듈들이 동적으로 로드 되고 있다.

그리고 이런 모듈이 제대로 로드가 되는지의 여부는, 아파치를 시작하거나 재시작시에 해당 모듈이 제대로 로드 되지 않으면, 오류가 뜨고, 제대로 로드 된다면 오류가 안뜨는 것이다.
물론, 로드만 제대로 될 뿐이지, 해당 모듈이 제대로 동작하는지에 대한 것은 모듈마다 따로 판단 되어야 할 문제이다.