Sun WebServer 1.0 の /etc/http/httpd.conf ファイルには、サーバー全体、各仮想ファイル、およびポートを構成するための基本指示語が格納されています。主要なブロック型として、server{}
ブロック、url{}
ブロック、port{}
ブロックの 3 つが存在します。この節ではこれらの各型について説明します。
server{}
ブロックの Sun WebServer 1.0 から Sun WebServer 2.0 フォーマットへの変換は比較的容易です。1.0 の大半の指示語は、以下に示す例外を除き、2.0 と同じです。
acl_delegate_depth
指示語、およびアクセス制御を委託するというコンセプトは、Sun WebServer では、すでにサポートされていません。このドキュメントの「Sun WebServer 1.0 の access.acl ファイルの移行」を参照してください。
acl_enable
指示語は、access_enable
に変更されました。
acl_enable
指示語を変換するには /etc/http/httpd.conf のなかから Sun WebServer 1.0 の指示語を検索します。
acl_enable yes |
/etc/http/server1.httpd.conf 中の指示語を以下の指示語に置き換えます。
access_enable yes |
acl_file
指示語は、server{}
ブロックではすでにサポートされていません。これは、サーバーレベルのアクセス制御ファイルが、/etc/http/access.conf として構成されるようになったからです。このファイル名は変更できません。
map
指示語は、server{}
ブロックではすでにサポートされていません。すべての URL マッピングは、Web サイトの map.conf ファイルで行わなければなりません。
mime_add
指示語は、Sun WebServer 2.0 ではすでにサポートされていません。すべての mime 型は、サーバーレベルまたはサイトレベルの mime.types ファイルに指定しなければなりません。
mime_add
指示語を変換するには 以下に示されている Sun WebServer 1.0 の指示語が存在すると仮定します。
server { mime_add "image/.jpeg" "JPG" } |
mime.types ファイルが /etc/http/server1.httpd.conf に指定されていることを確認します。
このファイルがすべてのサーバーで共有されている場合は、変更はすべての httpd デーモンに影響を与えます。
server { mime_file "/etc/http/mime.types } |
新しい MIME マッピングを /etc/http/mime.types ファイルに追加します。
image/jpeg JPG |
以下に示されている Sun WebServer 1.0 server{}
ブロックが /etc/http/httpd.conf に存在すると仮定します。
server { server_root "/var/http/demo/" server_user "root" mime_add "image/jpeg" "JPG" mime_default_type text/html acl_enable "yes" acl_file "/etc/http/access.acl" acl_delegate_depth 3 map /cgi-bin/ /var/http/cgi-bin/ cgi } |
/etc/http/server1.httpd.conf にある server{}
ブロックを変更します。
server { server_root "/var/http/demo/" server_user "http" mime_file "/etc/http/mime.types" mime_default_type text/html access_enable "yes" } |
MIME マッピングを (2) で指定した /etc/http/mime.types ファイルに追加します。
image/jpeg JPG |
Sun WebServer 1.0 では仮想ホストのすべての設定パラメータは、/etc/http/httpd.conf ファイルにひとまとめに定義されていました。Sun WebServer 2.0 では仮想ホストのグローバル情報はサーバーレベルの構成ファイルに定義され、より固有な情報はサイトレベルの構成ファイルに定義されています。
url{}
ブロックを 2.0 に変換するにはhthost コマンド行ユーティリティを使って新しい Web サイトを 2.0 サーバーに追加します。
Sun WebServer 1.0 の値またはこれらの値と同等な Sun WebServer 2.0 の値で作成された新しい構成ファイルに変更します。
Web サイト (ウィジェット) を現サーバー (server1) に追加します。
# hthost add -i server1 -h widgets -s /var/http/server1/websites/widgets |
以下のエントリがサーバーレベルの構成ファイル /etc/http/server1.httpd.conf に追加されます。
url //widgets { site_enable "yes" site_path "/var/http/server1/websites/widgets" site_config "conf/widgets.site.conf" } |
また、新しい Web サイトが /var/http/server1/websites/widgets/ に作成されます。以下の構成ファイルがディレクトリ /var/http/server1/websites/widgets/conf/ に格納されます。
widgets.site.conf
access.conf
realms.conf
map.conf
content.conf
servlets.properties
Sun WebServer 1.0 の url{}
ブロックの大半の設定パラメータは、サイトレベルの構成ファイル widgets.site.conf に書き込まれます。ただし、仮想ホストが待機するポートの設定は除きます。各仮想ホストでは、どの IP アドレスとポートの接続を各仮想ホストが受け付けるかを指定しなければなりません (1.0 ではこの情報は、hosts_supported
指示語を使った port{}
ブロックに格納)。IP アドレスとポートの組合せは、Sun WebServer 2.0 では「接続終端」と呼ばれています。すべての Web サイトでは、接続終端を指定しなければなりません (ただし、デフォルトの Web サイトは除きます。デフォルトの Web サイトはすべてのインターフェイスをに対応するので、接続終端を定義できません)。接続終端の詳細は、httpd.conf (4) を参照してください。
仮想ホストおよびウィジェットを使用するには、ポート 80 の IP アドレス 129.128.127.126 の接続およびポート 1880 のすべての IP アドレスの接続を受け付け、/etc/http/server1.httpd.conf に以下のエントリを記述します。
url //widgets { site_enable "yes" site_path "/var/http/server1/websites/widgets" site_config "conf/widgets.site.conf" conn_end_points 129.128.127.126:80:1880 } |
IP アドレスをコロン (:) の左に指定しなかった場合、HTTP 1.1 仮想ホストではデフォルトとして「すべての IP アドレス」がとられます。また、指定されたすべての接続終端は port{}
ブロックでマッピングしなければならないことに注意してください。
Sun WebServer 1.0 の url{}
ブロックの設定指示語の大半は、Sun WebServer 2.0 のサイトレベルの構成ファイル /var/http/server1/websites/widgets/conf/widgets.site.conf に直接コピーできます。ただし、以下のものは除きます。
Sun WebServer 2.0 のすべての URL マッピングは、別個のファイル map.conf に格納されています。
以下に示す Sun WebServer 1.0 の指示語が /etc/http/httpd.conf に書かれてると仮定します。
url //widgets { map /cgi-bin/ /var/http/shared/cgi-bin/ cgi } |
以下の行をウィジェットサイトの /var/http/server1/websites/widgets/conf/map.conf ファイルに追加します。
map /cgi-bin/ /var/http/shared/cgi-bin/ cgi |
mime_add
指示語を変更するには 以下に示す Sun WebServer 1.0 の指示語が /etc/http/httpd.conf に書かれていると仮定します。
url //widgets { mime_add "image/jpeg" "JPG" } |
/var/http/server1/websites/widgets/conf/widgets.site.conf に存在する mime_file
指示語のコメントを解除します。
url //widgets { mime_file "conf/mime.types" } |
新しい MIME マッピングを /var/http/server1/websites/widgets/conf/mime.types ファイルに追加します。
image/jpeg JPG |
Sun WebServer 2.0 の port{}
ブロックには、2 つの大きな変更があります。つまり、hosts_supported
指示語が無効になり (ホストが待機するポートは、url{}
ブロックの conn_end_points
指示語を使って表示されている)、またすべてのポートに ip_address
を指定しなければならなくなりました。IP アドレス 0.0.0.0 は、「マシン上のすべての有効 IP アドレス」を意味する特殊なアドレスです。
port{}
ブロックを変換するには 以下に示す Sun WebServer 1.0 port{}
ブロックが存在すると仮定します。
port 80 { ip_address 129.128.127.126 keepalive_enable "yes" request_timeout 180 hosts_supported widgets } |
/etc/http/server1.httpd.conf にあるウィジェットの url{}
ブロックを変更し、conn_end_points
を正しく指定します。
url //widgets { site_enable "yes" site_path "/var/http/server1/websites/widgets" site_config "conf/widgets.site.conf" conn_end_points 129.128.127.126:80 } |
port{}
ブロックを /etc/http/server1.httpd.conf (hosts_supported
指示語は存在しない) に追加します。
port 80 { ip_address 129.128.127.126 keepalive_enable "yes" request_timeout 180 } |
port{}
ブロックを変換するには 以下に示す Sun WebServer 1.0 の port{}
ブロック例が存在すると仮定します。
port 1880 { keepalive_enable "yes" request_timeout 180 hosts_supported widgets } |
/etc/http/server1.httpd.conf にあるウィジェットの url{}
ブロックを変更し、conn_end_points
を正しく指定します。
url //widgets { site_enable "yes" site_path "/var/http/server1/websites/widgets" site_config "conf/widgets.site.conf" conn_end_points :1880 } |
値が 0.0.0.0 である ip_address
指示語を /etc/http/server1.httpd.conf の port{}
ブロックに追加します。
port 1880 { ip_address 0.0.0.0 keepalive_enable "yes" request_timeout 180 } |