Debian GNU/Linux squeeze に Apache 2.2.22 をソースコードからインストールする。
使用可能な Apache モジュールは動的共有オブジェクト (Dynamic Shared Object: DSO) で全部インストールしておく。
$ wget http://www.apache.org/dist/httpd/httpd-2.2.22.tar.gz
$ tar zxvf ./httpd-2.2.22.tar.gz
$ cd httpd-2.2.22
$ ./configure --enable-mods-shared=all
$ make
$ su
# make install
あれ、 apachectl start してもプロセスが起動しない。。。
とりあえず、インストールされた Apache の情報。
$ /usr/local/apache2/bin/httpd -V
Server version: Apache/2.2.22 (Unix)
Server built: Feb 25 2012 11:51:52
Server's Module Magic Number: 20051115:30
Server loaded: APR 1.4.5, APR-Util 1.4.1
Compiled using: APR 1.4.5, APR-Util 1.4.1
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-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=128
-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_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
設定ファイルに記述されているモジュールの情報。
$ 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_default_module modules/mod_authn_default.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_default_module modules/mod_authz_default.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule dbd_module modules/mod_dbd.so
LoadModule dumpio_module modules/mod_dumpio.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule log_config_module modules/mod_log_config.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 cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule ident_module modules/mod_ident.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 mime_module modules/mod_mime.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 cgi_module modules/mod_cgi.so
LoadModule dav_fs_module modules/mod_dav_fs.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 imagemap_module modules/mod_imagemap.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
合計 2812
drwxr-sr-x 2 root staff 4096 2012-02-25 11:53 .
drwxr-sr-x 15 root staff 4096 2012-02-25 11:53 ..
-rw-r--r-- 1 hoge staff 9170 2012-02-25 11:51 httpd.exp
-rwxr-xr-x 1 root staff 28330 2012-02-25 11:53 mod_actions.so
-rwxr-xr-x 1 root staff 40341 2012-02-25 11:53 mod_alias.so
-rwxr-xr-x 1 root staff 25130 2012-02-25 11:53 mod_asis.so
-rwxr-xr-x 1 root staff 30259 2012-02-25 11:53 mod_auth_basic.so
-rwxr-xr-x 1 root staff 71137 2012-02-25 11:53 mod_auth_digest.so
-rwxr-xr-x 1 root staff 26511 2012-02-25 11:53 mod_authn_anon.so
-rwxr-xr-x 1 root staff 31229 2012-02-25 11:53 mod_authn_dbd.so
-rwxr-xr-x 1 root staff 27648 2012-02-25 11:53 mod_authn_dbm.so
-rwxr-xr-x 1 root staff 23788 2012-02-25 11:53 mod_authn_default.so
-rwxr-xr-x 1 root staff 28211 2012-02-25 11:53 mod_authn_file.so
-rwxr-xr-x 1 root staff 30955 2012-02-25 11:53 mod_authz_dbm.so
-rwxr-xr-x 1 root staff 23530 2012-02-25 11:53 mod_authz_default.so
-rwxr-xr-x 1 root staff 31180 2012-02-25 11:53 mod_authz_groupfile.so
-rwxr-xr-x 1 root staff 30995 2012-02-25 11:53 mod_authz_host.so
-rwxr-xr-x 1 root staff 26657 2012-02-25 11:53 mod_authz_owner.so
-rwxr-xr-x 1 root staff 25603 2012-02-25 11:53 mod_authz_user.so
-rwxr-xr-x 1 root staff 88248 2012-02-25 11:53 mod_autoindex.so
-rwxr-xr-x 1 root staff 29985 2012-02-25 11:53 mod_cern_meta.so
-rwxr-xr-x 1 root staff 68605 2012-02-25 11:53 mod_cgi.so
-rwxr-xr-x 1 root staff 330435 2012-02-25 11:53 mod_dav.so
-rwxr-xr-x 1 root staff 177571 2012-02-25 11:53 mod_dav_fs.so
-rwxr-xr-x 1 root staff 52660 2012-02-25 11:53 mod_dbd.so
-rwxr-xr-x 1 root staff 59712 2012-02-25 11:53 mod_deflate.so
-rwxr-xr-x 1 root staff 30143 2012-02-25 11:53 mod_dir.so
-rwxr-xr-x 1 root staff 30811 2012-02-25 11:53 mod_dumpio.so
-rwxr-xr-x 1 root staff 27366 2012-02-25 11:53 mod_env.so
-rwxr-xr-x 1 root staff 35318 2012-02-25 11:53 mod_expires.so
-rwxr-xr-x 1 root staff 57865 2012-02-25 11:53 mod_ext_filter.so
-rwxr-xr-x 1 root staff 46102 2012-02-25 11:53 mod_filter.so
-rwxr-xr-x 1 root staff 52612 2012-02-25 11:53 mod_headers.so
-rwxr-xr-x 1 root staff 31750 2012-02-25 11:53 mod_ident.so
-rwxr-xr-x 1 root staff 43342 2012-02-25 11:53 mod_imagemap.so
-rwxr-xr-x 1 root staff 130885 2012-02-25 11:53 mod_include.so
-rwxr-xr-x 1 root staff 48909 2012-02-25 11:53 mod_info.so
-rwxr-xr-x 1 root staff 77079 2012-02-25 11:53 mod_log_config.so
-rwxr-xr-x 1 root staff 33725 2012-02-25 11:53 mod_log_forensic.so
-rwxr-xr-x 1 root staff 27886 2012-02-25 11:53 mod_logio.so
-rwxr-xr-x 1 root staff 48702 2012-02-25 11:53 mod_mime.so
-rwxr-xr-x 1 root staff 70428 2012-02-25 11:53 mod_mime_magic.so
-rwxr-xr-x 1 root staff 93845 2012-02-25 11:53 mod_negotiation.so
-rwxr-xr-x 1 root staff 39841 2012-02-25 11:53 mod_reqtimeout.so
-rwxr-xr-x 1 root staff 153302 2012-02-25 11:53 mod_rewrite.so
-rwxr-xr-x 1 root staff 37019 2012-02-25 11:53 mod_setenvif.so
-rwxr-xr-x 1 root staff 34234 2012-02-25 11:53 mod_speling.so
-rwxr-xr-x 1 root staff 54797 2012-02-25 11:53 mod_status.so
-rwxr-xr-x 1 root staff 38381 2012-02-25 11:53 mod_substitute.so
-rwxr-xr-x 1 root staff 28703 2012-02-25 11:53 mod_unique_id.so
-rwxr-xr-x 1 root staff 30406 2012-02-25 11:53 mod_userdir.so
-rwxr-xr-x 1 root staff 36186 2012-02-25 11:53 mod_usertrack.so
-rwxr-xr-x 1 root staff 22147 2012-02-25 11:53 mod_version.so
-rwxr-xr-x 1 root staff 36012 2012-02-25 11:53 mod_vhost_alias.so
実は ./configure で一度失敗している
./configure 時に zlib がみつかりません、とエラー。
checking for zlib location... not found
checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures
パッケージ: zlib1g-dev (1:1.2.3.4.dfsg-3)
圧縮ライブラリ - 開発キット
zlib は gzip と PKZIP で使われている deflate 圧縮法を実装したライブラリです。このパッケージは開発をサポートするファイルが含まれています。
Debian -- squeeze の zlib1g-dev パッケージに関する詳細
zlib1g-dev をインストールして、 ./configure しなおしたらエラーも出なくてうまくいった。
# aptitude install zlib1g-dev
それにしても apachectl start しても起動しない。どこかのモジュールが悪さをしてるのかなぁ。。。
追記: 2012-02-26
無事起動できた。
もしかして /etc/hostname と /etc/hosts に書かれているホスト名が一致していなかったのが問題だったのかも?
/etc/hostname には foobar と書いてあって、 /etc/hosts には hoge と書いてあった (途中でホスト名を変えようとしてこんな状況に)。
# cat /etc/hostname
foobar
# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 hoge.localdomain hoge
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Debian OS を再起動してから、なにげなく /etc/hostname の foobar を hoge に修正して /usr/local/apache2/bin/apachectl start したら無事に起動できた。
あれ、そういえばなんで 127.0.1.1 にホスト名が指定されてるの・・・・
Ubuntu10.04のServer(サーバー)版でIPアドレスを固定に変更しホスト名も変更しようと言うことで設定をしていると、ホスト名の部分のIPアドレスとして、「127.0.1.1」が設定されているのが分かった。ネットで調べるとこれは、インストール時に自動的にIPアドレスを取得した場合(DHCPを利用)に、このように設定されれるDebian系のディストリビューションの仕様という事でした。Ubuntu10.04.2のServer版でIPアドレスを固定と自動取得とインストールして動作を確認して、Webの情報と比較して納得。
127.0.1.1って何 - DB@WEB
さっきDebianのレファレンスを見て、そのような仕様であると確認した。(なお、日本語版では127.0.1.1が127.0.0.1に変更されている。)それによれば、固定IPアドレスを使っているなら、127.0.1.1ではなく当該IPアドレスを使えとある。Ubuntuのインストーラーでは最初は自動的にDHCPサーバーを利用しようとするから、このような設定になってしまうのだろう。念のために書いておくと、「red.example.local」の固定IPアドレスが「192.168.x.x」だった場合には、
127.0.0.1 localhost
192.168.x.x red.example.local red
とするのが常套句だ。
Ubuntuと127.0.1.1 - 十日日記(2009-05-26)
javaでプログラミングしてたんだけど、InetAddress.getLocalHost()で自分のIPアドレスを取得すると127.0.1.1が返ってくる。どうやらDebianベースのディストリだとこういうことになるらしい。
IPアドレス取得しても127.0.1.1とか言われちゃうので対処した俺用メモ - とみふらの明るく楽しい日記
ほへー。
tags: apache debian
Posted by NI-Lab. (@nilab)