묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
아파치에 mod_gzip.c 모듈을 적용하고싶습니다.
2003.12.02 01:36
제 리눅스 서버 APM 은
rpm이 아닌 소스로 mysql php apache 순서로 컴파일 해서 설치 하였습니다
문제 없이 잘 사용하고 있는데
최근 mod_gzip을 써보고 싶은 생각에
아파치를 만지작 거렸는데 도저히 mod_gzip를 적재 시킬수가 없더군요
리눅서 문서 사이트란 사이트는 다 뒤져서 참고 해도 안되는군요..
mod_gzip.c 라는 300K 정도되는 c 소스 파일을 .../apache/src/modules/extra/
디렉토리에 넣고 컴파일을 했는데 전 안되는군요.. 문서 참고한대루요...ㅠㅠ
mod_gzip 알기전에 아파치 컴파일 한 명령은
#./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a
#make
#make install
입니다
여기저기 찾아보니까 이런게 정적이라는거 같던데...그것두 잘 몰르곘어요..
./configure 옵션에 --enable-shared=max 옵션을 주면 DSO 가 적되된다길래 정적 모듈 설치가안되면
DSO 로로다 하면 될까 해서 저렇게 컴파일해봐두 mod_so.c 모듈도 적재 싪패했구요..
아파치....모듈..... 너무 어렵습니다.. 무엇이 문제 인지 지도 부탁드립니다...
권한이야 root로 했구요.. static 설치 한거같습니다.
# httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_setenvif.c
mod_php4.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec
아파치 모듈 리스트가 저렇습니다. 도저히 mod_gzip.c 는 제 힘으론 적재시킬수가 없네요...
무식이 무기인지라...ㅠㅠ....
오늘도 제로보드 가족님들께 힘든 질문만 던지네요... 용서하시구요... 사뿐한 지도 겸손히 부탁드립니다.
열심히 배우고 싶습니다.
그럼 좋은 하루 되세요~
rpm이 아닌 소스로 mysql php apache 순서로 컴파일 해서 설치 하였습니다
문제 없이 잘 사용하고 있는데
최근 mod_gzip을 써보고 싶은 생각에
아파치를 만지작 거렸는데 도저히 mod_gzip를 적재 시킬수가 없더군요
리눅서 문서 사이트란 사이트는 다 뒤져서 참고 해도 안되는군요..
mod_gzip.c 라는 300K 정도되는 c 소스 파일을 .../apache/src/modules/extra/
디렉토리에 넣고 컴파일을 했는데 전 안되는군요.. 문서 참고한대루요...ㅠㅠ
mod_gzip 알기전에 아파치 컴파일 한 명령은
#./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a
#make
#make install
입니다
여기저기 찾아보니까 이런게 정적이라는거 같던데...그것두 잘 몰르곘어요..
./configure 옵션에 --enable-shared=max 옵션을 주면 DSO 가 적되된다길래 정적 모듈 설치가안되면
DSO 로로다 하면 될까 해서 저렇게 컴파일해봐두 mod_so.c 모듈도 적재 싪패했구요..
아파치....모듈..... 너무 어렵습니다.. 무엇이 문제 인지 지도 부탁드립니다...
권한이야 root로 했구요.. static 설치 한거같습니다.
# httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_setenvif.c
mod_php4.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec
아파치 모듈 리스트가 저렇습니다. 도저히 mod_gzip.c 는 제 힘으론 적재시킬수가 없네요...
무식이 무기인지라...ㅠㅠ....
오늘도 제로보드 가족님들께 힘든 질문만 던지네요... 용서하시구요... 사뿐한 지도 겸손히 부탁드립니다.
열심히 배우고 싶습니다.
그럼 좋은 하루 되세요~
댓글 3
-
하얀피
2003.12.02 18:25
-
정정인
2003.12.03 08:56
답변 감사합니다 ^^;;
제 문제는요 아마도.... mod_so가 적재가 안된다는거 같아요..
그게 있어야 나머지 모듈을 DSO 방식으로 로드가 되는거 같던데
아무리 해두 mod_so 가 httpd -l 의 목록에 뜨질 안네요..
/usr/local/apache/src/modules/standard 디렉토리에 mod_so.c 와 mod_so.o 두개의 파일이 있는것도
확인 했는데 이상하게 어떤 옵션을 주고 ./configure를 해도 도무지 mod_so.c 가 htttpd -l 목록에 뜨질 않네요
저게 떠야 mod_gzip을 로드 할수 있을것 같은데... 문제가 무엇인지 미치곘습니다..
도와주세요...... -
하얀피
2003.12.03 18:26
안녕하세요.
Apache의 개념을 잡지 못한 것 같군요.
아파치는 Static 모듈과 DSO 모듈로 운영할 수 있습니다.
간단하게 설명하면..
Static 모듈은 미리 아파치 코어에 정적으로 붙여놓고 사용하는 것이고
DSO 모듈은 필요 할때마다 불러온뒤 사용하는 것이죠.
즉, 둘다 아파치 운영 방식이므로 mod_gzip 을 로드하여 사용하는데는 무리가 없으며
mod_so와는 전혀 별개의 문제 입니다. 운영 방식의 차이 일뿐...
둘중 어떤 모듈로 서버를 관리 하든 그것은 서버관리자의 자유 입니다.
다만.. Static 모듈은 아파치 모듈이 정적으로 붙어 있기 때문에 DSO 보다 속도가 좋습니다.
DSO 기반 모듈은 패키지 제작자에게 유용한 면이 있는 반면...
서버 시작시 약 20% 느려질 수 있으며 서버의 실행 속도도 5% 정도 느리게 할 수 있습니다.
자세한건 아파치 관련 문서를 읽어보시면 나와있습니다.
서버 세팅을 시작하기 전에 어떤 방법으로 아파치를 운영 할 것인가부터 생각하십시요.
제가 알려드린 컴파일 방식은 Static 으로 사용하는 방법이며 Static으로 하되,
추후 DSO 방식도 사용할 수 있도록 mod_so 모듈을 인에이블 시킨 것입니다.
DSO 방식으로 아파치를 운영 할 것이라면..
# ./configure \
--prefix=/usr/local/apache \
--enable-rule=SHARED_CORE \
--enable-module=so \
--enable-shared=max
# make ; make install
이정도만 해준 뒤 apxs를 이용하여 mod_gzip를 로드시켜 사용하면 되겠지요.
PS. 초기 서버 세팅치 Static 모듈과 DSO 모듈은 APM 설치 순서가 다릅니다.
Static : MySQL -> Apache(configure 까지만..) -> PHP -> Apache....
DSO : MySQL -> Apache -> PHP...
위 리스트는 아파치 코어에 정적으로 붙은 모듈 리스트 입니다.
때문에 .so 가 안붙고 .c 가 붙은 것이지요.
DSO 모듈은 httpd -l의 결과에 나타나지 않습니다.
참고로 mod_so.c 는 다른 모듈을 DSO 방식으로 붙일때 꼭
필요한 모듈로 반드시 아파치에 static 하게 붙어 있어야 합니다.
특별한 경우가 아니면 100% mod_so 모듈은 아파치에 정적으로 붙이는것이 좋습니다.
# ./configure \
--prefix=/usr/local/apache \
--add-module=src/modules/extra/mod_gzip.c \
--activate-module=src/modules/php4/libphp4.a \
--enable-module=so \
--enable-shared=max
# make ; make install