Apache の新しい安定版バージョン 2.4.1 がリリースされた。
Apache HTTP Server 2.4.1 Released
The Apache Software Foundation and the Apache HTTP Server Project are pleased to announce the GA release of version 2.4.1 of the Apache HTTP Server. This version of Apache HTTP Server is the first GA release of the new 2.4.x branch.
Apache HTTP Server Project
Forest Hill, MD – 21 February 2012 – The Apache Software Foundation (ASF), the all-volunteer developers, stewards, and incubators of nearly 150 Open Source projects and initiatives, today announced version 2.4 of the award-winning Apache HTTP Server. Celebrating its 17th anniversary with an all-time record of nearly 400 million Websites powered worldwide[1], the Apache HTTP Server has been the most popular Web server on the Internet since April 1996.
The Apache Software Foundation Celebrates the 17th Anniversary of the Apache HTTP Server with the release of v2.4 : The Apache Software Foundation Blog
Apache HTTP Server の新しい安定版である 2.4 系列の最初の GA リリース、2.4.1 がリリースされました。
(GA = General Availability あるいは General Acceptance)
・複数の MPM を動的に読み込み可能に
・OCSP (オンライン証明書状態プロトコル) のサポートの大幅な強化
・スクリプト言語 Lua を組み込むモジュール (mod_lua)
・動的なリバースプロキシの設定
・認証、認可の改良
・FastCGI プロキシ
・新しい Expression (式) のパーサ
・小さなデータオブジェクトをキャッシュする API の追加
Apache HTTP Server 2.4.1 がリリースされました — Apache JP
Apache 2.4 と APR 1.4 のインストール
Apache 2.3 からは Apache Portable Runtime (APR) 1.4 が必要らしい。
$ brew search しても見つからなかったので、APR 1.4 をソースコードからデフォルト設定でインストールする。
$ wget http://www.apache.org/dist/apr/apr-1.4.6.tar.gz
$ tar zxvf ./apr-1.4.6.tar.gz
$ cd apr-1.4.6
$ ./configure
$ make
$ sudo make install
APR 1.4 のインストール先は /usr/local/apr/ になる。
続いて、 Apache Portable Runtime Utility (APR-util) 1.4 のインストール。これも Apache をビルドするために必要なライブラリ。
$ wget http://www.apache.org/dist/apr/apr-util-1.4.1.tar.gz
$ tar zxvf ./apr-util-1.4.1.tar.gz
$ cd apr-util-1.4.1
$ ./configure --with-apr=/usr/local/apr
$ make
$ sudo make install
APR-util 1.4 は APR 1.4 と同じく /usr/local/apr/ にインストールされる。
そして、 Apache 2.4 をインストール。
インストール可能な DSO モジュールを --enable-mods-shared=all オプションで全部入り。
$ wget http://www.apache.org/dist/httpd/httpd-2.4.1.tar.gz
$ tar zxvf ./httpd-2.4.1.tar.gz
$ cd ./httpd-2.4.1
$ ./configure --enable-mods-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
$ make
Apache 2.4 の起動。
設定ファイルを何もいじらなくても起動は可能。
$ sudo /usr/local/apache2/bin/apachectl start
これで無事に Apache HTTP Server が起動して、 http://localhost/ にアクセスすると "It works!" と表示される。
以下、蛇足的なあれこれ。
--enable-mods-shared のパラメータ
Apache 2.2 のときは most と all しか指定できなかったけど、 Apache 2.4 ではパラメータが増えてる。
$ ./configure --help
(中略)
--enable-modules=MODULE-LIST
Space-separated list of modules to enable | "all" | "most" | "few" | "none" | "reallyall"
--enable-mods-shared=MODULE-LIST
Space-separated list of shared modules to enable | "all" | "most" | "few" | "reallyall"
--enable-mods-static=MODULE-LIST
Space-separated list of static modules to enable | "all" | "most" | "few" | "reallyall"
PCREが無くてエラー
./configure したときに PCRE がみつからなくてエラー発生。
$ ./configure --enable-mods-shared=all
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
brew で PCRE をインストールして解決。
$ brew search pcre
pcre pcre++
$ brew install pcre
==> Downloading ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.20.
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/pcre/8.20 --enable-utf8 --enable-unic
==> make test
==> make install
/usr/local/Cellar/pcre/8.20: 126 files, 3.0M, built in 69 seconds
Ref. PCRE - Perl Compatible Regular Expressions
Apache Portable Runtime (APR) 1.4 が無くてエラー
make 時にエラー発生。
$ make
(中略)
Undefined symbols:
"_apr_file_link", referenced from:
_post_rotate in rotatelogs.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Apache Portable Runtime Utility (APR-util) 1.4 が無くてエラー
make 時にエラー発生。
$ make
(中略)
exports.c:1894: error: redefinition of 'ap_hack_apr_allocator_create'
exports.c:886: error: previous definition of 'ap_hack_apr_allocator_create' was here
(中略)
exports.c:2518: error: redefinition of 'ap_hack_apr_version_string'
exports.c:1850: error: previous definition of 'ap_hack_apr_version_string' was here
make[2]: *** [exports.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
インストールした Apache 2.4.1 の諸情報
$ /usr/local/apache2/bin/httpd -V
Server version: Apache/2.4.1 (Unix)
Server built: Feb 22 2012 12:51:37
Server's Module Magic Number: 20120211:0
Server loaded: APR 1.4.6, APR-UTIL 1.4.1
Compiled using: APR 1.4.6, APR-UTIL 1.4.1
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/usr/local/apache2"
-D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
インストールした DSO モジュール一覧
$ grep LoadModule /usr/local/apache2/conf/httpd.conf
# have to place corresponding `LoadModule' lines at this location so the
# LoadModule foo_module modules/mod_foo.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule allowmethods_module modules/mod_allowmethods.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule echo_module modules/mod_echo.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule data_module modules/mod_data.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule request_module modules/mod_request.so
#LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule deflate_module modules/mod_deflate.so
#LoadModule xml2enc_module modules/mod_xml2enc.so
#LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule dialup_module modules/mod_dialup.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule unixd_module modules/mod_unixd.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule asis_module modules/mod_asis.so
#LoadModule info_module modules/mod_info.so
#LoadModule cgid_module modules/mod_cgid.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
#LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
#LoadModule rewrite_module modules/mod_rewrite.so
$ ls -la /usr/local/apache2/modules
total 5280
drwxr-xr-x 100 root admin 3400 2 22 12:55 .
drwxr-xr-x 14 root admin 476 2 22 12:55 ..
-rw-r--r-- 1 hoge staff 12499 2 22 12:51 httpd.exp
-rwxr-xr-x 1 root admin 15040 2 22 12:55 mod_access_compat.so
-rwxr-xr-x 1 root admin 10416 2 22 12:55 mod_actions.so
-rwxr-xr-x 1 root admin 16472 2 22 12:55 mod_alias.so
-rwxr-xr-x 1 root admin 9712 2 22 12:55 mod_allowmethods.so
-rwxr-xr-x 1 root admin 9792 2 22 12:55 mod_asis.so
-rwxr-xr-x 1 root admin 14944 2 22 12:55 mod_auth_basic.so
-rwxr-xr-x 1 root admin 37736 2 22 12:55 mod_auth_digest.so
-rwxr-xr-x 1 root admin 27664 2 22 12:55 mod_auth_form.so
-rwxr-xr-x 1 root admin 9840 2 22 12:55 mod_authn_anon.so
-rwxr-xr-x 1 root admin 16024 2 22 12:55 mod_authn_core.so
-rwxr-xr-x 1 root admin 15408 2 22 12:55 mod_authn_dbd.so
-rwxr-xr-x 1 root admin 10632 2 22 12:55 mod_authn_dbm.so
-rwxr-xr-x 1 root admin 10568 2 22 12:55 mod_authn_file.so
-rwxr-xr-x 1 root admin 21800 2 22 12:55 mod_authn_socache.so
-rwxr-xr-x 1 root admin 27208 2 22 12:55 mod_authz_core.so
-rwxr-xr-x 1 root admin 15840 2 22 12:55 mod_authz_dbd.so
-rwxr-xr-x 1 root admin 14904 2 22 12:55 mod_authz_dbm.so
-rwxr-xr-x 1 root admin 15552 2 22 12:55 mod_authz_groupfile.so
-rwxr-xr-x 1 root admin 11360 2 22 12:55 mod_authz_host.so
-rwxr-xr-x 1 root admin 13872 2 22 12:55 mod_authz_owner.so
-rwxr-xr-x 1 root admin 9720 2 22 12:55 mod_authz_user.so
-rwxr-xr-x 1 root admin 40736 2 22 12:55 mod_autoindex.so
-rwxr-xr-x 1 root admin 14736 2 22 12:55 mod_buffer.so
-rwxr-xr-x 1 root admin 69352 2 22 12:55 mod_cache.so
-rwxr-xr-x 1 root admin 36424 2 22 12:55 mod_cache_disk.so
-rwxr-xr-x 1 root admin 41216 2 22 12:55 mod_cgid.so
-rwxr-xr-x 1 root admin 25144 2 22 12:55 mod_charset_lite.so
-rwxr-xr-x 1 root admin 10584 2 22 12:55 mod_data.so
-rwxr-xr-x 1 root admin 112792 2 22 12:55 mod_dav.so
-rwxr-xr-x 1 root admin 60144 2 22 12:55 mod_dav_fs.so
-rwxr-xr-x 1 root admin 22760 2 22 12:55 mod_dav_lock.so
-rwxr-xr-x 1 root admin 22704 2 22 12:55 mod_dbd.so
-rwxr-xr-x 1 root admin 34768 2 22 12:55 mod_deflate.so
-rwxr-xr-x 1 root admin 15464 2 22 12:55 mod_dialup.so
-rwxr-xr-x 1 root admin 15032 2 22 12:55 mod_dir.so
-rwxr-xr-x 1 root admin 14592 2 22 12:55 mod_dumpio.so
-rwxr-xr-x 1 root admin 10616 2 22 12:55 mod_echo.so
-rwxr-xr-x 1 root admin 10312 2 22 12:55 mod_env.so
-rwxr-xr-x 1 root admin 15632 2 22 12:55 mod_expires.so
-rwxr-xr-x 1 root admin 27328 2 22 12:55 mod_ext_filter.so
-rwxr-xr-x 1 root admin 16104 2 22 12:55 mod_file_cache.so
-rwxr-xr-x 1 root admin 20280 2 22 12:55 mod_filter.so
-rwxr-xr-x 1 root admin 23592 2 22 12:55 mod_headers.so
-rwxr-xr-x 1 root admin 10992 2 22 12:55 mod_heartbeat.so
-rwxr-xr-x 1 root admin 26864 2 22 12:55 mod_heartmonitor.so
-rwxr-xr-x 1 root admin 55376 2 22 12:55 mod_include.so
-rwxr-xr-x 1 root admin 28520 2 22 12:55 mod_info.so
-rwxr-xr-x 1 root admin 9504 2 22 12:55 mod_lbmethod_bybusyness.so
-rwxr-xr-x 1 root admin 9504 2 22 12:55 mod_lbmethod_byrequests.so
-rwxr-xr-x 1 root admin 9496 2 22 12:55 mod_lbmethod_bytraffic.so
-rwxr-xr-x 1 root admin 16808 2 22 12:55 mod_lbmethod_heartbeat.so
-rwxr-xr-x 1 root admin 36944 2 22 12:55 mod_log_config.so
-rwxr-xr-x 1 root admin 16752 2 22 12:55 mod_log_debug.so
-rwxr-xr-x 1 root admin 15688 2 22 12:55 mod_log_forensic.so
-rwxr-xr-x 1 root admin 10856 2 22 12:55 mod_logio.so
-rwxr-xr-x 1 root admin 21200 2 22 12:55 mod_mime.so
-rwxr-xr-x 1 root admin 30256 2 22 12:55 mod_mime_magic.so
-rwxr-xr-x 1 root admin 36592 2 22 12:55 mod_negotiation.so
-rwxr-xr-x 1 root admin 104720 2 22 12:55 mod_proxy.so
-rwxr-xr-x 1 root admin 55776 2 22 12:55 mod_proxy_ajp.so
-rwxr-xr-x 1 root admin 44648 2 22 12:55 mod_proxy_balancer.so
-rwxr-xr-x 1 root admin 20504 2 22 12:55 mod_proxy_connect.so
-rwxr-xr-x 1 root admin 14928 2 22 12:55 mod_proxy_express.so
-rwxr-xr-x 1 root admin 20552 2 22 12:55 mod_proxy_fcgi.so
-rwxr-xr-x 1 root admin 10840 2 22 12:55 mod_proxy_fdpass.so
-rwxr-xr-x 1 root admin 45912 2 22 12:55 mod_proxy_ftp.so
-rwxr-xr-x 1 root admin 36248 2 22 12:55 mod_proxy_html.so
-rwxr-xr-x 1 root admin 45648 2 22 12:55 mod_proxy_http.so
-rwxr-xr-x 1 root admin 21848 2 22 12:55 mod_proxy_scgi.so
-rwxr-xr-x 1 root admin 10784 2 22 12:55 mod_ratelimit.so
-rwxr-xr-x 1 root admin 11200 2 22 12:55 mod_reflector.so
-rwxr-xr-x 1 root admin 15608 2 22 12:55 mod_remoteip.so
-rwxr-xr-x 1 root admin 16080 2 22 12:55 mod_reqtimeout.so
-rwxr-xr-x 1 root admin 15808 2 22 12:55 mod_request.so
-rwxr-xr-x 1 root admin 72904 2 22 12:55 mod_rewrite.so
-rwxr-xr-x 1 root admin 42904 2 22 12:55 mod_sed.so
-rwxr-xr-x 1 root admin 23576 2 22 12:55 mod_session.so
-rwxr-xr-x 1 root admin 15200 2 22 12:55 mod_session_cookie.so
-rwxr-xr-x 1 root admin 20784 2 22 12:55 mod_session_dbd.so
-rwxr-xr-x 1 root admin 15872 2 22 12:55 mod_setenvif.so
-rwxr-xr-x 1 root admin 10840 2 22 12:55 mod_slotmem_plain.so
-rwxr-xr-x 1 root admin 16752 2 22 12:55 mod_slotmem_shm.so
-rwxr-xr-x 1 root admin 15752 2 22 12:55 mod_socache_dbm.so
-rwxr-xr-x 1 root admin 15352 2 22 12:55 mod_socache_memcache.so
-rwxr-xr-x 1 root admin 23936 2 22 12:55 mod_socache_shmcb.so
-rwxr-xr-x 1 root admin 15376 2 22 12:55 mod_speling.so
-rwxr-xr-x 1 root admin 238696 2 22 12:55 mod_ssl.so
-rwxr-xr-x 1 root admin 24552 2 22 12:55 mod_status.so
-rwxr-xr-x 1 root admin 15800 2 22 12:55 mod_substitute.so
-rwxr-xr-x 1 root admin 11040 2 22 12:55 mod_unique_id.so
-rwxr-xr-x 1 root admin 15496 2 22 12:55 mod_unixd.so
-rwxr-xr-x 1 root admin 14808 2 22 12:55 mod_userdir.so
-rwxr-xr-x 1 root admin 15824 2 22 12:55 mod_usertrack.so
-rwxr-xr-x 1 root admin 9768 2 22 12:55 mod_version.so
-rwxr-xr-x 1 root admin 15072 2 22 12:55 mod_vhost_alias.so
-rwxr-xr-x 1 root admin 23680 2 22 12:55 mod_watchdog.so
-rwxr-xr-x 1 root admin 25704 2 22 12:55 mod_xml2enc.so
今回の環境
OS: Mac OS X Snow Leopard
$ uname -mrsv
Darwin 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386
$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
参考
Ref.
- Apache HTTP サーバ バージョン 2.4 ドキュメント - Apache HTTP サーバ
- configure - Configure the source tree - Apache HTTP Server
- Welcome! - The Apache Portable Runtime Project
tags: apache mac_os_x
Posted by NI-Lab. (@nilab)