엄..--
그럼...
저는 지금까지 Static 모듈로 세팅할때..
# ./configure \
--prefix=/usr/local/apache \
--add-module=../mod_throttle/mod_throttle.c \
--activate-module=src/modules/php4/libphp4.a \
--enable-module=so \
--enable-shared=max
# make; make install
DSO 모듈로 세팅할때는..
# ./configure \
--prefix=/usr/local/apache \
--enable-rule=SHARED_CORE \
--enable-module=so \
--enable-shared=max
# make; make install
이정도만 하는데...
그럼 둘다 차이가 없는건가요?
전자에서는 필요한것은 미리 Static하게 아파치 코어에 붙여
놓은뒤..
추후 DSO 모듈을 로드해서 사용하고..
후자는 아무것도 없이 설치된 후.. DSO 모듈을 로드해서
사용한다..
맞나요?
그럼 Static과 DSO의 차이는 크게 없는건가요?? 움..--a
아니.. 좀더 정확히 하면..
Static으로 세팅하든 DSO로 세팅하든..
추후 AA라는 모듈을 DSO로 로드해서 사용하면..
둘다 차이가 없단 말인지요....
[산이]님이 남기신 글:
>
>[하얀피]님이 남기신 글:
>
>>안녕하세요.
>>아파치 옵션중에 이해가 안되는 것이...
>>
>>산이님의 책자를 보면..
>>--enable-shared=max 가..
>>부트스트래핑
so 모듈을 제외한 모든 모듈에 대해 DSO를
>>enable/disable 시키는 것이라고 하셨는데...
>>
>>저는 보통..
>># ./configure \
>>--prefix=/usr/local/apache \
>>--add-module=../mod_throttle/mod_throttle.c \
>>--activate-module=src/modules/php4/libphp4.a \
>>--enable-module=so \
>>--enable-shared=max
>># make ; make install
>>이정도를 사용하고 있거든요?
>>제가 위에서 사용하는 --enable-shared=max의
정의를..
>>좀더 자세히 알고 싶습니다.
>>
>
>+ enabling mod_so for DSO support
>
>DSO 모듈은 기본적으로 so 모듈을 필요로 하기 때문에
>어느 하나가 DSO 로 빌드되면 자동으로 so 모듈은
정적으로
>붙습니다.
>
>--enable-shared=max
>
>standard/ 디렉토리에서
>
>mod_access.so mod_asis.so mod_cgi.so mod_imap.so mod_mime.so
mod_status.so
>mod_actions.so mod_auth.so mod_dir.so mod_include.so mod_negotiation.so
mod_userdir.so
>mod_alias.so mod_autoindex.so mod_env.so mod_log_config.so
mod_setenvif.so
>
>이정도의 모듈이 DSO 로 빌드됩니다.
>모두 다 DSO 로 빌드되지 않고 mod_rewrite, mod_auth_db 이와 같은
모듈은
>제외됩니다. 그 기준은 아파이 버전마다 다를 수
있으므로
>반드시 INSTALL 파일을 열어서 확인해야 합니다.
>즉 INSTALL 파일에서 `LIST OF AVAILABLE MODULES' 에서
>(+) 로 표시되어 있는(기본적으로
enable 됨) 모듈을 DSO 로 빌드함을
>의미합니다.
>
>또한 enable-module 로 지정한 모듈(3'th 모듈 제외)도 정적으로
붙지
>않고 이것을 DSO 모듈로 빌드합니다.
>
>즉
>
>--enable-module=rewrite \
>--enable-shared=max
>
>이렇게 지정하면 rewrite 모듈은 정적으로 붙지 않고 DSO
모듈로
>만들진다는 것을 말합니다.
>
>바꾸어 말하면 --enable-shared=max 이 옵션은 enable 되는
모듈을
>모두 DSO 로 빌드하겠다는 의미가 되겠죠.
>
>따라서 위의 경우에서 rewreit 모듈은 정적으로 붙이고
>이것을 제외한 나머지 enble 되는 모듈을 DSO 로 빌드하고자
한다면
>하나씩 저정해야 합니다.
>
>그리고 주의할점이 있는데
>
>--enable-shared=rewrite
>
>이런 하나의 옵션을 사용하면 rewrite 모듈은 DSO 로
만들어지지
>않습니다. 즉 rewrite 모듈은 기본적으로 disable 되어
있고
>enable 에 대한 아무런 언급이 없기 때문에 결국 DSO 로
만드러지지
>않습니다. 이것은 다음과 같이 지정해야 정답입니다.
>
>--enable-module=rewrite \
>--enable-shared=rewrite
>
>참고로 --enable-shared=remain 이라는 옵션이 있는데
이것은
>아직 enable 되어 있지 않은 모듈을 모두 DSO 로 빌드하겠다는
의미입니다.
>
>
>
>>P.S.. Static 모듈로 운영되는 APM 서버는...
>>php 업그레이드시..
반드시 APM 전체를 리빌드 해야 하나요?
>>
>
>MySQL 은 제외하고 Apache 를 다시 빌드해야 합니다. 만약
>PHP 와 같은 모듈이 정적으로 붙어있으면 역시 Apache + PHP
를
>다시 빌드해야 합니다.
>
>>P.S2.. chattr +i 로 잠긴 파일들을 검색할 순 없을까요?
>
>shell> lsattr *
>
>이렇게 검색할 수 있습니다.
>
>또는
>
>shell> lsattr /{root,usr,lib,var,tmp,bin,sbin,home,boot,etc}/* | grep
'\-i\-'
>
>========================================
========================================
|