* Apacheの設定内容の移行 [#k7b1a4f7]
Apache1.3 から Apache2.0 へ移行する際、設定内容を引き継ぐため、必要な内容の抽出を行ないます。基本的に、ここは一般的な内容よりも、''備忘録としての意味合いが強い''です。
** モジュールの確認 [#e34e7d56]
*** 静的モジュール [#y3f42314]
Apache は、モジュールを追加することで、さまざまな機能拡張ができるようになっています。現在組み込まれているモジュールは、-l で確認できます。
[root@pokota root]# httpd -l
Compiled-in modules:
http_core.c
mod_so.c
suexec: disabled; invalid wrapper /usr/sbin/suexec
mod_so がある場合、動的モジュールがサポートされています。詳しくは次節を参照してください。
*** 動的モジュール [#y30d57fa]
httpd.conf をみて、Load_Module されているモジュールを確認します。うちでは、後から追加したモジュールとして、下記のものがありました。厳密に言うと、ディストリビューションで既に組み込まれていたものがあるので、明示的に自分で追加していないものもあります。
- php関係
- tomcatコネクタ関係
- ssl関係
その他の動的モジュールについても、一応 Load_Module の一覧を掲載しておきます。
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule env_module modules/mod_env.so
LoadModule config_log_module modules/mod_log_config.so
LoadModule agent_log_module modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule includes_module modules/mod_include.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so
LoadModule action_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
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule anon_auth_module modules/mod_auth_anon.so
LoadModule db_auth_module modules/mod_auth_db.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
#LoadModule auth_ldap_module modules/mod_auth_ldap.so
#LoadModule digest_module modules/mod_digest.so
#LoadModule proxy_module modules/libproxy.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 usertrack_module modules/mod_usertrack.so
#LoadModule example_module modules/mod_example.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule bandwidth_module modules/mod_bandwidth.so
#LoadModule put_module modules/mod_put.so
#LoadModule throttle_module modules/mod_throttle.so
#LoadModule define_module modules/mod_define.so
LoadModule jk2_module modules/mod_jk2.so
<IfDefine HAVE_PERL>
LoadModule perl_module modules/libperl.so
</IfDefine>
<IfDefine HAVE_PHP>
LoadModule php_module modules/mod_php.so
</IfDefine>
<IfDefine HAVE_PHP3>
LoadModule php3_module modules/libphp3.so
</IfDefine>
<IfDefine HAVE_PHP4>
LoadModule php4_module modules/libphp4.so
</IfDefine>
<IfDefine HAVE_DAV>
LoadModule dav_module modules/libdav.so
</IfDefine>
<IfDefine HAVE_ROAMING>
LoadModule roaming_module modules/mod_roaming.so
</IfDefine>
<IfDefine HAVE_SSL>
LoadModule ssl_module modules/libssl.so
</IfDefine>
** 各種設定 [#y0d540bd]
基本ですが、httpd.conf 内の各種設定です。
まずはサーバ名の設定です。
ServerName omoshiro-joho.com
ドキュメントルートの設定です。
DocumentRoot /home/httpd
名前変換を行なうように設定します。ここが On になっていないと、IPアドレスの逆引きができずに、問題が起こる可能性があります。
HostnameLookups On
PUT メソッドと DELETE メソッドを使うための設定です。両メソッドは、Firefox のブックマーク同期に使っています。
# For PUT,DELETE Add 2005/03/19
<Directory /home/httpd/hoge/page>
Script PUT /hoge/put
Script DELETE /hoge/del
</Directory>
エイリアスの指定を行ないます。これをセキュリティ関係(所定階層のアクセス排除など)に利用している場合は、忘れず設定する必要があります。
ScriptAlias /hoge/cgi-bin/ /home/httpd/hoge/cgi-bin/
Alias /hoge/ /home/httpd/hoge/html/
CGI および SSI の使用を可能にしておきます。
#
# To use CGI scripts:
#
AddHandler cgi-script .cgi
#
# To use server-parsed HTML files
#
AddType text/html .shtml
AddHandler server-parsed .shtml
バーチャルホストの指定を行ないます。
NameVirtualHost *
<VirtualHost *>
ServerName omoshiro-joho.com
ServerAdmin root@localhost
DocumentRoot /home/httpd
</VirtualHost>
<VirtualHost *>
ServerName another-domain.com
ServerAdmin root@localhost
DocumentRoot /home/httpd/hoge
</VirtualHost>
Directory ディレクティブで、トップディレクトリの各属性を決定します。全てのディレクトリで CGI の実行などを許可しています。AllowOverride は All で、必要な場合は全て下位ディレクトリの .htaccess ファイルで対応するようにしています。
Options Includes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
*** 履歴 [#mcbda12d]
- 2005年09月17日 初版