Apache 2.2のインストールと基本設定

カテゴリ:Apache 2.2の設定
日時:2010/02/28 00:09

Apacheの設定は2.2から大きく変わっている。

まずは、/etc/make.confで使用するモジュールとMPMを設定する。モジュールはAPACHE2_MODULES、MPMはAPACHE2_MPMSで指定する。

APACHE2_MODULESの設定例。
APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_chche mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias"
MPMの設定例。
APACHE2_MPMS="worker"
以上の設定が終わったら、Apacheをインストールする。PHPも使うので、同時にインストールしておく。
# emerge apache php
Apacheの設定ファイルは、/etc/apache2/以下と/etc/conf.d/apache2で行う。

/etc/conf.d/apache2で設定が必須なのは、APACHE2_OPTSの行のみである。バーチャルホストとPHPを使用する場合は、
APACHE2_OPTS="-D DEFAULT_VHOST -D PHP5"
とする。

昔は長大な設定ファイルだった/etc/apache2/httpd.confは、大幅にシンプルになった。ここで設定すべきことはあまりなく、しかもデフォルトのままでよい。
ServerRoot "/usr/lib/apache2"

モジュールのロード指定

User apache
Group apache

Include /etc/apache2/modules.d/*.conf
Include /etc/apache2/vhosts.d/*.conf
もう1つ、Apache全体にかかわる設定として、/etc/apache2/modules.d/00_default_settings.confと/etc/apache2/modules.d/00_mod_mime.confがある。

まずは/etc/apache2/modules.d/00_default_settings.confの設定。
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
UseCanonicalName Off
AccessFileName .htaccess
ServerTokens Prod
TraceEnable off
ServerSignature On
HostnameLookups Off
ErrorLog /var/log/apache2/error_log
LogLevel warn

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
</Directory>

<FilesMatch "^\.ht">
        Order allow,deny
        Deny from all
</FilesMatch>
ここまではデフォルトのままで問題ない(必要があれば変える)。PHPを使うので、DirectoryIndexのみはindex.phpを追加しておく。
<IfModule dir_module>
        DirectoryIndex index.php index.html
</IfModule>
次に/etc/apache2/modules.d/00_mod_mime.confの設定。ここではSSIを有効化するため、
AddType text/html .html
AddOutputFilter INCLUDES .html
でSSIを.htmlで使えるようにしておく。

以上でApache全体の設定は完了。この後、各種機能の設定を個別に行う。