Sun WebServer のインストール

Sun WebServer 1.0 httpd.conf ファイルの移行

Sun WebServer 1.0 の /etc/http/httpd.conf ファイルには、サーバー全体、各仮想ファイル、およびポートを構成するための基本指示語が格納されています。主要なブロック型として、server{} ブロック、url{} ブロック、port{} ブロックの 3 つが存在します。この節ではこれらの各型について説明します。

server{ } ブロック

server{} ブロックの Sun WebServer 1.0 から Sun WebServer 2.0 フォーマットへの変換は比較的容易です。1.0 の大半の指示語は、以下に示す例外を除き、2.0 と同じです。

acl_delegate_depth

acl_delegate_depth 指示語、およびアクセス制御を委託するというコンセプトは、Sun WebServer では、すでにサポートされていません。このドキュメントの「Sun WebServer 1.0 の access.acl ファイルの移行」を参照してください。

acl_enable

acl_enable 指示語は、access_enable に変更されました。

acl_enable 指示語を変換するには
  1. /etc/http/httpd.conf のなかから Sun WebServer 1.0 の指示語を検索します。


    acl_enable				yes
  2. /etc/http/server1.httpd.conf 中の指示語を以下の指示語に置き換えます。


    access_enable 		yes

acl_file

acl_file 指示語は、server{} ブロックではすでにサポートされていません。これは、サーバーレベルのアクセス制御ファイルが、/etc/http/access.conf として構成されるようになったからです。このファイル名は変更できません。

map

map 指示語は、server{} ブロックではすでにサポートされていません。すべての URL マッピングは、Web サイトの map.conf ファイルで行わなければなりません。

mime_add

mime_add 指示語は、Sun WebServer 2.0 ではすでにサポートされていません。すべての mime 型は、サーバーレベルまたはサイトレベルの mime.types ファイルに指定しなければなりません。

mime_add 指示語を変換するには
  1. 以下に示されている Sun WebServer 1.0 の指示語が存在すると仮定します。


    server {
    	mime_add			"image/.jpeg"			"JPG"
    }
  2. mime.types ファイルが /etc/http/server1.httpd.conf に指定されていることを確認します。


    注 -

    このファイルがすべてのサーバーで共有されている場合は、変更はすべての httpd デーモンに影響を与えます。



    server {
    	mime_file 			"/etc/http/mime.types
    }
  3. 新しい MIME マッピングを /etc/http/mime.types ファイルに追加します。


    image/jpeg 			JPG

server{ } ブロックの変換
  1. 以下に示されている 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	
    }
  2. /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"
    }
  3. MIME マッピングを (2) で指定した /etc/http/mime.types ファイルに追加します。


    image/jpeg				JPG

url{ } ブロック

Sun WebServer 1.0 では仮想ホストのすべての設定パラメータは、/etc/http/httpd.conf ファイルにひとまとめに定義されていました。Sun WebServer 2.0 では仮想ホストのグローバル情報はサーバーレベルの構成ファイルに定義され、より固有な情報はサイトレベルの構成ファイルに定義されています。

Sun WebServer 1.0 url{} ブロックを 2.0 に変換するには
  1. hthost コマンド行ユーティリティを使って新しい Web サイトを 2.0 サーバーに追加します。

  2. Sun WebServer 1.0 の値またはこれらの値と同等な Sun WebServer 2.0 の値で作成された新しい構成ファイルに変更します。

2.0 Web サイトを作成するには
  1. 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) を参照してください。

Web サイトの接続終端の設定
  1. 仮想ホストおよびウィジェットを使用するには、ポート 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 に直接コピーできます。ただし、以下のものは除きます。

map

Sun WebServer 2.0 のすべての URL マッピングは、別個のファイル map.conf に格納されています。

マップ指示語を変更するには
  1. 以下に示す Sun WebServer 1.0 の指示語が /etc/http/httpd.conf に書かれてると仮定します。


    url //widgets {
    	map 		/cgi-bin/			/var/http/shared/cgi-bin/			cgi
    }
  2. 以下の行をウィジェットサイトの /var/http/server1/websites/widgets/conf/map.conf ファイルに追加します。


    map 		/cgi-bin/			/var/http/shared/cgi-bin/			cgi

mime_add

mime_add 指示語を変更するには
  1. 以下に示す Sun WebServer 1.0 の指示語が /etc/http/httpd.conf に書かれていると仮定します。


    url //widgets {
    	mime_add 				"image/jpeg"					"JPG"
    }
  2. /var/http/server1/websites/widgets/conf/widgets.site.conf に存在する mime_file 指示語のコメントを解除します。


    url //widgets {
    	mime_file				"conf/mime.types"
    }
  3. 新しい MIME マッピングを /var/http/server1/websites/widgets/conf/mime.types ファイルに追加します。


    image/jpeg					JPG

port{ } ブロック

Sun WebServer 2.0 の port{} ブロックには、2 つの大きな変更があります。つまり、hosts_supported 指示語が無効になり (ホストが待機するポートは、url{} ブロックの conn_end_points 指示語を使って表示されている)、またすべてのポートに ip_address を指定しなければならなくなりました。IP アドレス 0.0.0.0 は、「マシン上のすべての有効 IP アドレス」を意味する特殊なアドレスです。

特定の IP アドレスの port{} ブロックを変換するには
  1. 以下に示す Sun WebServer 1.0 port{} ブロックが存在すると仮定します。


    port 80 {
    	ip_address									129.128.127.126
    	keepalive_enable			"yes"
    	request_timeout				180
    	hosts_supported					widgets
    }
  2. /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
    }
  3. port{} ブロックを /etc/http/server1.httpd.conf (hosts_supported 指示語は存在しない) に追加します。


    port 80 {
    	ip_address									129.128.127.126
    	keepalive_enable			"yes"
    	request_timeout				180
    }
全 IP アドレスの port{} ブロックを変換するには
  1. 以下に示す Sun WebServer 1.0 の port{} ブロック例が存在すると仮定します。


    port 1880 {
    	keepalive_enable				"yes"
    	request_timeout					180
    	hosts_supported					widgets
    }
  2. /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
    }
  3. 値が 0.0.0.0 である ip_address 指示語を /etc/http/server1.httpd.confport{} ブロックに追加します。


    port 1880 {
    	ip_address									0.0.0.0
    	keepalive_enable			"yes"
    	request_timeout				180
    }