* 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日 初版

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS