__________________________________________________________________________ ApacheのDSO(Dynamic Shared Object)メモ __________________________________________________________________________ 2000/02/08 PHPをインストールしたりするときApacheがDSOサポート有効になっていないとダメ なのでconfigureする時のDSO関係のオプションを少し調べました。 と言っても、配布されているInstallファイルに書いてあることですけど。 # 確認は、RedHat Linux6.1J + Apache1.3.17で行いました。 # 間違ってたらご指摘いただけると嬉しいです。 ■ --enable-module=so ( --enable-rule=SHARED_COREも必要な場合もある ) ・DSOサポートを有効にする。 ・このモジュール(mod_so)自体は組み込みモジュールとなります。 ・(DSOでなくて)組み込みモジュール(Compiled-in modules)は、インストール後、 # /usr/local/apache/bin/httpd -l とすることで確認できます。 ■ --enable-shared=モジュール名 ・(有効なモジュールの中から)指定したモジュールをDSOとしてビルドする。 ・このオプションを付けると、--enable-module=soは省略できる。 ・/usr/local/apache/libexec/にインストールされる。 ・モジュール名に、"max"か"remain"を記入すると、特別な意味を持ちます。 --enable-shared=max : 有効になっているモジュールで起動時に必要な モジュール以外すべてDSOとする。 --enable-shared=remain : 有効にでないモジュールを有効にしてすべて DSOとする。 ■ --enable-module=モジュール名 ・モジュールを有効にする。 ・モジュール名に、"all"か"most"を記入すると、特別な意味を持ちます。 --enable-module=all : すべてのモジュールを有効にする。 (mod_auth_digest以外) --enable-module=most : すべてのプラットフォームで使用できるモジュールだけ 有効にする。 (`all'から`auth_db', `log_agent', `log_referer', `example', `so' and `mmap_static'を除いたもの) ■ 実際に configure する時 # OPTIM="-O2" ./configure --enable-shared=max --enable-module=all これでほとんどDSOになります。 コンパイルしてから/usr/local/apache/conf/httpd.conf内で不必要なモジュールを コメントアウトすれば良いのではないでしょうか。後から必要なものが出てきたら コメント外して有効にするだけで済むし。 それか、 # OPTIM="-O2" ./configure --enable-shared=remain コンパイルすると、デフォルトで有効なモジュールは組み込みモジュールとなり、 それ以外(デフォルトで無効なモジュール)がDSOとなる。これが単純でいいかも。 後からちゃんとhttpd.conf内で不要なモジュールを無効にするというのが前提です。 なんでもかんでもロードしておくのは良くないと思いますので。 ■ 以下、Installファイルに書いてあったモジュールのリストをそのまま。 ・(+)がデフォルトで有効になっているモジュール (-)が無効になっているモジュール ・"mod_モジュール名"というフォーマットになっています。 _________________________________________________________________________ LIST OF AVAILABLE MODULES Environment creation (+) mod_env .......... Set environment variables for CGI/SSI scripts (+) mod_setenvif ..... Set environment variables based on HTTP headers (-) mod_unique_id .... Generate unique identifiers for request Content type decisions (+) mod_mime ......... Content type/encoding determination (configured) (-) mod_mime_magic ... Content type/encoding determination (automatic) (+) mod_negotiation .. Content selection based on the HTTP Accept* headers URL mapping (+) mod_alias ........ Simple URL translation and redirection (-) mod_rewrite ...... Advanced URL translation and redirection (+) mod_userdir ...... Selection of resource directories by username (-) mod_speling ...... Correction of misspelled URLs Directory Handling (+) mod_dir .......... Directory and directory default file handling (+) mod_autoindex .... Automated directory index file generation Access Control (+) mod_access ....... Access Control (user, host, network) (+) mod_auth ......... HTTP Basic Authentication (user, passwd) (-) mod_auth_dbm ..... HTTP Basic Authentication via Unix NDBM files (-) mod_auth_db ...... HTTP Basic Authentication via Berkeley-DB files (-) mod_auth_anon .... HTTP Basic Authentication for Anonymous-style users (-) mod_digest ....... HTTP Digest Authentication HTTP response (-) mod_headers ...... Arbitrary HTTP response headers (configured) (-) mod_cern_meta .... Arbitrary HTTP response headers (CERN-style files) (-) mod_expires ...... Expires HTTP responses (+) mod_asis ......... Raw HTTP responses Scripting (+) mod_include ...... Server Side Includes (SSI) support (+) mod_cgi .......... Common Gateway Interface (CGI) support (+) mod_actions ...... Map CGI scripts to act as internal `handlers' Internal Content Handlers (+) mod_status ....... Content handler for server run-time status (-) mod_info ......... Content handler for server configuration summary Request Logging (+) mod_log_config ... Customizable logging of requests (-) mod_log_agent .... Specialized HTTP User-Agent logging (deprecated) (-) mod_log_referer .. Specialized HTTP Referrer logging (deprecated) (-) mod_usertrack .... Logging of user click-trails via HTTP Cookies Miscellaneous (+) mod_imap ......... Server-side Image Map support (-) mod_proxy ........ Caching Proxy Module (HTTP, HTTPS, FTP) (-) mod_so ........... Dynamic Shared Object (DSO) bootstrapping Experimental (-) mod_mmap_static .. Caching of frequently served pages via mmap() Development (-) mod_example ...... Apache API demonstration (developers only) _________________________________________________________________________ (+) = enabled per default [disable with --disable-module] (-) = disabled per default [enable with --enable-module ]