[FreeBSD] mod_proxyなどをインストールする方法
問題点
mod_proxyやmod_suexecなどをインストールしたいが、該当するportsが見当たりません。
解決方法
makeのときにWITH_name_MODULESオプションをつけます(詳細を参照してください)。
詳細
/usr/ports/www/apache22でmake show-optionsすると、モジュールのインストール方法が表示されます。
% make show-options Available knobs: By default, modules are compiled as dynamically loadable modules (DSO). Modules knobs philosophy: Modules are split in categories, "make show-categories" shows you which modules they contain. You can enable/disable/customize a category: - To enable a category: WITH__MODULES=yes [WITH_PROXY_MODULES=yes] - To disable a category: WITHOUT_ _MODULES=yes [WITHOUT_DAV_MODULES=yes] - To customize a category: WITH_CUSTOM_ [WITH_CUSTOM_PROXY="proxy proxy_http"] Apache-related WITH_MPM: prefork (default) worker event itk WITH_HTTP_PORT: default: 80 WITH_LDAP: Enable LDAP support (mod_auth_ldap) (implies WIT H_LDAP_MODULES) WITH_(MYSQL|PGSQL|SQLITE): Enable SQL backend for dbd and apr_dbd. When MySQL is chosen, threads are enabled. WITHOUT_V4MAPPED WITH_IPV6_V6ONLY: Don't allow IPv6 sockets to handle IPv4 connections WITHOUT_SSL: Disable SSL support WITH_THREADS: Enable threads support !! USE IT WITH CARE !! WITH_DBM: Choose your DBM: bdb (Berkeley DB), gdbm or ndbm (default) WITH_BERKELEYDB: Choose your BerkeleyDB version: db2, db3, db4, db41, db42, db43, db44 or FreeBSD (1.85, default) WITH_STATIC_SUPPORT: Build statically linked support binaries WITH_STATIC_APACHE: Build a static version of httpd (implies WITH_STATIC_MODULES) WITH_ALL_STATIC_MODULES: All modules will be statically linked. WITH_STATIC_MODULES: List of modules to build modules statics (usefull for slave ports) (They must be already enabled (i.e. WITH_MODULES or with default configuration use 'make show-modules', to check if they are enabled) WITH_MODULES: List of modules you choose WITHOUT_MODULES: Disable selected modules WITH_SUEXEC: Enable suExec support SUEXEC_DOCROOT: SuExec root directory SUEXEC_USERDIR: User subdirectory (default public_html) SUEXEC_SAFEPATH: Set the safepath SUEXEC_LOGFILE: Set log file for suexec (default: /var/log/httpd-suexec.log) SUEXEC_UIDMIN: Minimal allowed UID (default 1000) SUEXEC_GIDMIN: Minimal allowed GID (default 1000) SUEXEC_CALLER: User allowed to call SuExec (default ${WWWOWN} (www)) SUEXEC_UMASK: Defines umask for suexec'd process(default: unset) WITH_DEBUG: Build a debug versoin of apache (set CFLAGS to "-O0 -g -ggdb3" or ${DEBUG_FLAGS} and defines WITH_EXCEPTION_HOOK too) WITH_EXCEPTION_HOOK: Enable fatal exception hook Optionnal patches: WITH_EXPERIMENTAL_PATCHES Add performance patches (generally backported from apr/httpd CVS) Available make targets: show-options: prints this message show-modules: prints list of available modules show-categories: prints list of modules sorted by category Examples: make WITH_STATIC_MODULES="ssl rewrite include" WITH_EXPERIMENTAL_MODULES=yes \ WITH_CUSTOM_AUTH="auth auth_dbm" make WITHOUT_MODULES="access speling status" WITH_PROXY_MODULES=yes make WITH_MODULES="include rewrite auth" Note: If you define your custom options in /etc/make.conf, don't forget to do not use quotes.
すなわち、インストールしたいモジュールがあるカテゴリについて、WITH_category_MODULESオプションをつけます。どのモジュールがどのカテゴリに含まれるかは、make show-categoriesすれば表示されます。
% make show-categories AUTH contains these modules: auth_basic auth_digest AUTHN contains these modules: authn_file authn_dbd authn_dbm authn_anon authn_default authn_alias AUTHZ contains these modules: authz_host authz_groupfile authz_user authz_dbm authz_owner authz_default CACHE contains these modules: cache disk_cache file_cache mem_cache DAV contains these modules: dav dav_fs EXPERIMENTAL contains these modules: bucketeer case_filter case_filter_in ext_filter charset_lite log_forensic optional_hook_export optional_hook_import optional_fn_import optional_fn_export LDAP contains these modules: ldap authnz_ldap MISC contains these modules: actions alias asis autoindex cern_meta cgi charset_lite dbd deflate dir dumpio env expires headers imagemap include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias filter version PROXY contains these modules: proxy proxy_connect proxy_ftp proxy_http proxy_ajp proxy_balancer SSL contains these modules: ssl SUEXEC contains these modules: suexec THREADS contains these modules: cgid
すなわち、mod_proxyはPROXYカテゴリに、mod_suexecはSUEXECカテゴリにあることが分かります。
オプションをつけて有効になるモジュールを確認したいときは、確認したいオプションをつけてmake show-modulesします。例えば、何もオプションをつけないと以下のようになります。
% make show-modules auth_basic: enabled (shared) auth_digest: enabled (shared) authn_file: enabled (shared) authn_dbd: disabled authn_dbm: enabled (shared) authn_anon: enabled (shared) authn_default: enabled (shared) authn_alias: enabled (shared) authz_host: enabled (shared) authz_groupfile: enabled (shared) authz_user: enabled (shared) authz_dbm: enabled (shared) authz_owner: enabled (shared) authz_default: enabled (shared) cache: enabled (shared) disk_cache: enabled (shared) file_cache: enabled (shared) mem_cache: disabled dav: enabled (shared) dav_fs: enabled (shared) bucketeer: disabled case_filter: disabled case_filter_in: disabled ext_filter: disabled charset_lite: enabled (shared) log_forensic: disabled optional_hook_export: disabled optional_hook_import: disabled optional_fn_import: disabled optional_fn_export: disabled ldap: disabled authnz_ldap: disabled actions: enabled (shared) alias: enabled (shared) asis: enabled (shared) autoindex: enabled (shared) cern_meta: enabled (shared) cgi: enabled (shared) charset_lite: enabled (shared) dbd: disabled deflate: enabled (shared) dir: enabled (shared) dumpio: enabled (shared) env: enabled (shared) expires: enabled (shared) headers: enabled (shared) imagemap: enabled (shared) include: enabled (shared) info: enabled (shared) log_config: enabled (shared) logio: enabled (shared) mime: enabled (shared) mime_magic: enabled (shared) negotiation: enabled (shared) rewrite: enabled (shared) setenvif: enabled (shared) speling: enabled (shared) status: enabled (shared) unique_id: enabled (shared) userdir: enabled (shared) usertrack: enabled (shared) vhost_alias: enabled (shared) filter: enabled (shared) version: enabled (shared) proxy: disabled proxy_connect: disabled proxy_ftp: disabled proxy_http: disabled proxy_ajp: disabled proxy_balancer: disabled ssl: enabled (shared) suexec: disabled cgid: disabled auth_basic: enabled (shared) auth_digest: enabled (shared) authn_file: enabled (shared) authn_dbd: disabled authn_dbm: enabled (shared) authn_anon: enabled (shared) authn_default: enabled (shared) authn_alias: enabled (shared) authz_host: enabled (shared) authz_groupfile: enabled (shared) authz_user: enabled (shared) authz_dbm: enabled (shared) authz_owner: enabled (shared) authz_default: enabled (shared) cache: enabled (shared) disk_cache: enabled (shared) file_cache: enabled (shared) mem_cache: disabled dav: enabled (shared) dav_fs: enabled (shared) bucketeer: disabled case_filter: disabled case_filter_in: disabled ext_filter: disabled charset_lite: enabled (shared) log_forensic: disabled optional_hook_export: disabled optional_hook_import: disabled optional_fn_import: disabled optional_fn_export: disabled ldap: disabled authnz_ldap: disabled actions: enabled (shared) alias: enabled (shared) asis: enabled (shared) autoindex: enabled (shared) cern_meta: enabled (shared) cgi: enabled (shared) charset_lite: enabled (shared) dbd: disabled deflate: enabled (shared) dir: enabled (shared) dumpio: enabled (shared) env: enabled (shared) expires: enabled (shared) headers: enabled (shared) imagemap: enabled (shared) include: enabled (shared) info: enabled (shared) log_config: enabled (shared) logio: enabled (shared) mime: enabled (shared) mime_magic: enabled (shared) negotiation: enabled (shared) rewrite: enabled (shared) setenvif: enabled (shared) speling: enabled (shared) status: enabled (shared) unique_id: enabled (shared) userdir: enabled (shared) usertrack: enabled (shared) vhost_alias: enabled (shared) filter: enabled (shared) version: enabled (shared) proxy: disabled proxy_connect: disabled proxy_ftp: disabled proxy_http: disabled proxy_ajp: disabled proxy_balancer: disabled ssl: enabled (shared) suexec: disabled cgid: disabled
WITH_PROXY_MODULESオプションとWITH_SUEXEC_MODULESオプションをつけると、以下のように、"enabled"になります(変わった箇所だけ抜き出します)。
% make WITH_PROXY_MODULES=yes WITH_SUEXEC_MODULES=yes show-modules : proxy: enabled (shared) proxy_connect: enabled (shared) proxy_ftp: enabled (shared) proxy_http: enabled (shared) proxy_ajp: enabled (shared) proxy_balancer: enabled (shared) ssl: enabled (shared) suexec: enabled (shared) :
参考文献
- mod_proxyはいずこ? — 清水川Web (http://www.freia.jp/taka/blog/55)