Sun WebServer のインストール

第 4 章 Sun WebServer 1.0 から Sun WebServer 2.0 への移行

新しい用語と構成

Sun WebServer 2.0 は、Sun WebServer 1.0 とかなり異なります。したがって、Sun WebServer 1.0 構成ファイルは、Sun WebServer 2.0 と互換性のあるファイルに変換しなければなりません。このドキュメントでは、この変換について説明します。Sun WebServer 2.0 の新しい機能の詳細は、Sun WebServer 2.0 マニュアルを参照してください。

Sun WebServer 1.0 と Sun WebServer 2.0 は同じマシン上にインストールすることはできますが、同じロケーションに共存させることはできません。Sun WebServer 2.0 のインストールに先立ち、Sun WebServer 1.0 は完全に削除しなければなりません。Sun WebServer 1.0 は、非デフォルトディレクトリ ("/" 以外のディレクトリ) にインストールした場合にのみ、Sun WebServer 2.0 と共存させることができます。Sun WebServer 1.0 を非デフォルトのディレクトリにインストールする方法については、Sun WebServer 1.0 Installation Guide を参照してください。このドキュメントで紹介する例は、デフォルトのインストール位置 (httpd.confaccess.acl の両方に対して /etc/http/)を使っている Sun WebServer 1.0 構成ファイルを想定しています。Sun WebServer 1.0 パッケージを削除した後 (このパッケージは、Sun WebServer 2.0 をインストールする前に削除しなければならない)、構成ファイルをバックアップディレクトリ/etc/http.bak[.n]/ (たとえば、/etc/http.bak//etc/http.bak.1//etc/http.bak.2/、...) に移します。最新のアンインストール構成ファイルは、最大の `n' 値を持つディレクトリにあります。

インスタンスと Web サイト

Sun WebServer 1.0 では、並行して稼動する HTTP サーバーの複数インスタンスをサポートできましたが、サーバーの起動、停止、再起動の動作は、HTTP デーモンの単一インスタンスの場合がベストでした。Sun WebServer 2.0 では、システム上の各 httpd デーモンに固有名を与えることで複数インスタンスのサポートを改善しています。インスタンスの起動、停止、再起動は、インスタンスの名前を使うことで行えます。詳細は、マニュアルページ htserver(1m) を参照してください。

Sun WebServer 2.0 では、仮想ホストのサポートも充実しています。各仮想ホストを Web サイトやファイルシステム (ホストのドキュメントルート、およびホストの構成ファイルが存在する) におけるホスト自体の該当するサブツリーと関連付けられています。Sun WebServer 1.0 では仮想ホストのすべての構成情報をグローバル構成ファイル httpd.conf に格納しましたが、Sun WebServer 2.0 ではこの情報の大半をサイト構成ファイル (Web サイトのルートを基準にして探される) に格納します。サイト固有の構成情報の大半を単一にファイルではなく Web サイトに格納することで、Sun WebServer 2.0 は Sun WebServer 1.0 よりスケーラビリティが高く、また各 Web サイトの管理が単純化されます。

構成ファイルの位置

Sun WebServer 1.0 では、デフォルトの位置 /etc/http/ に 2 つの主要構成ファイルを置いていました。

Sun WebServer 2.0 では、これらのファイルの指示語をサーバーインスタンスのサーバーレベルの構成ファイルと個々の Web サイトのサイトレベルの構成ファイルに区分化します。

サーバーレベルの構成ファイル

サーバーレベルの構成ファイルは、デフォルトでは /etc/http/ にインストールされます。以下の <instance_name> は、ファイルを使った httpd インスタンスの一意名です。Sun WebServer 管理コンソールまたは htserver add コマンドで作成したインスタンス名は、サーバーインスタンスと対応づけられます。

サイトレベルの構成ファイル

サイトレベルの構成ファイルは、デフォルトでは Web サイトのサブツリーにインストールされます。以下の <site_name> は、このファイルを使った Web サイトの名前を意味します。

上記のすべてのファイル名は、ファイル内容を暗示する名前です。唯一固定された構成ファイル名は、/etc/http/httpd-instances.conf です。各サーバーインスタンス名と基本構成ファイルは httpd-instances.conf にリストされ、各サーバー構成ファイルには他の構成ファイルが名前順にリストされています。

コマンド行ユーティリティ

Sun WebServer 2.0 には、構成ファイルに変更を加えるためのコマンド行ユーティリティが数多く追加されています。これらのユーティリティは、Sun WebServer 2.0 への移行を説明する過程で使用するものです (このドキュメントでもたびたび言及します)。コマンド行から使用できる Sun WebServer ユーティリティの詳細については、Sun WebServer 2.0 のマニュアルページを参照してください。このドキュメントで言及するコマンドについては、htserver(1m)hthost(1m)、および htrealm(1m) マニュアルページを参照してください。構成ファイルについては、httpd.conf(4)httpd.site.conf(4)access.conf(4)、および realms.conf(4) を参照してください。さらに、Sun WebServer 2.0 には、HTTP サーバーのあらゆる管理に使用できる管理コンソール (SUNWhtadm パッケージに存在する) も含まれています。管理コンソールを使用するには、SUNWixklg および SUNWixavm もインストールしなければなりません。

Sun WebServer 2.0 サーバーの作成

Sun WebServer 1.0 の構成を Sun WebServer 2.0 フォーマットに変換する前に、まず Sun WebServer 2.0 の基本インスタンスをシステムに追加してください。このサーバーには、Sun WebServer 2.0 で使用される一般ファイル構造が格納され、Sun WebServer 1.0 のサーバーの値で変更可能なデフォルトの構成ファイルが与えられます。

「server1」という名の新規 Sun WebServer 2.0 インスタンスを作成するには
  1. 以下のコマンドをコマンド行に入力します (root として)。


    # htserver add "server1"
    

    このコマンドは、新しい Sun WebServer 2.0 サーバーレベルの構成ファイルおよびデフォルトの Web サイトを作成します。新しいファイルがインストールされる位置を以下に示します。

    • /etc/http/server1.httpd.conf: サーバー構成ファイル

    • /var/http/server1/: 新しいサーバーのルート

    • /ver/http/server1/websites/default_site/: デフォルト Web サイトのサイトパス

    • /var/http/server1/websites/default_site/conf/: サイト構成ファイルの位置

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
    }

Sun WebServer 1.0 access.acl ファイルの移行

Sun WebServer 2.0 では、Sun WebServer 1.0 のアクセス制御にかなりの変更が加えられています。従来の Sun WebServer のアクセス制御構造を新しい Sun WebServer のアクセス制御構造へ移行する前に、Sun WebServer 2.0 のアクセス制御マニュアルをお読みすることをお勧めします。主な変更を以下に示します。

Sun WebServer 1.0 の access.acl ファイルを Sun WebServer 2.0 に移行するには、認証 realm を作成または選択し、マッピングされた URL のアクセス制御構文を変更してから新しい 2.0 構文を反映させ、access.acl ファイルおよび委託されたファイルのアクセス制御を各 Web サイトの access.conf ファイルに収集する必要があります。

realm

Sun WebServer 1.0では realm 指示語は、ブラウザの識別子 (認証ダイアログボックスに出力される) として以外はほとんど意味をなしませんでした。Sun WebServer 2.0 では、realm が URL へのアクセスを認証するために使用されるユーザーとグループの既存セットを指定します。realm 情報は、realms.conf ファイルに格納されます。HTPASSWD realm には、認証で使用される「ユーザー」ファイルと「グループ」ファイルが存在する関連ディレクトリ (realm.conf で定義されている) も存在します。したがって、Sun WebServer 1.0 ACL の password_file 指示語および group_file 指示語は廃止されました。Sun WebServer 1.0 のすべての realm は、Sun WebServer 2.0 では HTPASSWD realm になります。これは、ユーザーが作成したこれらのデータベースが、Sun WebServer 1.0 で使用可能な唯一のソースだったためです。

Sun WebServer 2.0 realm への移行
  1. 以下に示す Sun WebServer 1.0 のアクセス制御がホストウィジェットの /etc/http/access.acl に存在すると仮定します。


    url /reports {
    	realm															Managers
    	authentication_type		basic
     
    	password_file							/usr/auth/Managers/Maners_users
    	group_file										/usr/auth/Managers/Managers_groups
     
    	+ group														report_managers
    	- user															Joe
    }
  2. パスワードおよびグループファイルを格納する realm を作成します。この作業は、以下のコマンドで行えます。


    # htrealm add -i server1 -h widgets -r Managers -s HTPASSWD
    

    このコマンドは、以下のエントリをサイトウィジェットの realms.conf に追加します。


    realm Managers {
    	realm_source HTPASSWD
    }

    このコマンドはまた、サイトウィジェットに以下のディレクトリを作成します。


    /var/http/server1/websites/widgets/conf/realms/Managers/
  3. ユーザーファイルおよびグループファイルを Managers ディレクトリにコピーします。


    # cp /usr/auth/Managers/Managers_users ¥ 	
    /var/http/server1/websites/widgets/conf/realms/Managers/users
    # cp /usr/auth/Managers/Managers_groups ¥ 	
    /var/http/server1/websites/widgets/conf/realms/Managers/groups
    
  4. ファイルの指示語を Sun WebServer 1.0 の ACL から削除し、新しい ACL を Sun WebServer 2.0 の ACL ファイル /var/http/server1/websites/widgets/conf/access.conf に格納します。


    url /reports {
    	realm 															Managers
    	authentication_type			basic
     
    	+ group 													 report_managers
    	- user															Joe
    }

委託

委託というコンセプトは、Sun WebServer 2.0 では廃止されています。Sun WebServer 1.0 では委託したファイル内に委託アクセス制御を定義していましたが、これらはすべて特定サイトの単一 access.conf に移し換えなければなりません。

委託 ACL の変換
  1. 以下に示す Sun WebServer 1.0 の ACL および委託されたファイルが存在すると仮定します。

    • /etc/http/access.aclのACL


      url /statistics {
      	delegate 		/var/http/acls/.admin_acl
      }
    • /var/http/acls/.admin_aclファイル


      realm 									admin
      password_file		/usr/auth/admin_user
      group_file					/usr/auth/admin_group
       
      + group								stat_admins
    • これらは、単一の ACL に収集しなければならない


      注 -

      realm の admin は、最初に作成されていなければなりません。上の例を参照してください。



      url /statistics {
      	realm 		 admin
      	+ group		stat_admins
      }
委託 ACL (上級) の変換
  1. 以下に示す Sun WebServer 1.0 の ACL および委託されたファイルが存在すると仮定します。

    • access.aclのACL


      url /statistics {
      	delegate 		/var/http/acls/.admin_acl
      }
    • /var/http/acls/.admin_aclファイル (このファイルの所有者は joe:adm)


      realm 									 admins
      password_file			/usr/auth/admin_user
      group_file						/usr/auth/admin_group
       
      + group									stat_admins
  2. これらは、単一の ACL に収集しなければなりません。


    url /statistics {
    	realm					 admins
     
    	administrators {
    		user					 joe
    		group				 adm
    	}
     
    	+ group				stat_admins
    }

Sun WebServer の変換

以下の例は、Sun WebServer 1.0 の httpd.conf ファイルおよび access.acl ファイルの Sun WebServer 2.0 への完全変換を示します。以下の例では 2.0 の新しい指示語は、変換において明示的に必要でない限り、無視されます。

Sun WebServer 1.0 の httpd.conf を 2.0 に変換する
  1. 以下に示す Sun WebServer 1.0 の /etc/http/httpd.conf ファイルが存在すると仮定します。


    server {
    	server_root								"/var/http/demo"
    	server_user								"root"
    	mime_file										"/etc/http/mime.types"
    	mime_default_type			text/html
     
    	acl_enable									"yes"
    	acl_file											"/etc/http/access.acl"
    	acl_delegate_depth		3
    	cache_enable							"yes"
    	cache_small_file_cache_size	8
    	cache_large_file_cache_size	256
    	cache_max_file_size									1
    	cache_verification_time					10
     
    	map			 /cgi-bin/					/var/http/demo/cgi-bin/			cgi
    	map				/sws-icons/			/var/http/demo/sws-icons/
     
    	mime_add		"appication/java"				class
    	mime_add		"audio/basic"								au
    	mime_add		"audio/basic"								snd
    }
     
    url {
    	doc_root									 "/var/http/demo/public"
    	user_doc_enable			"no"
    	user_doc_root					"public_html"
    	cgi_enable							 "no"
    	cgi_dns_enable		"no"
    	cgi_suffix_enable	    "no"
    	cgi_user										"nobody"
    	log_type										"elf"
    	log_prefix								"/var/http/logs/http"
    	log_max_files						7
    	log_cycle_time					1440
    	log_max_file_size		1048576
    	ssi_enable									"no"
    	ssi_exec											"no"
    	ssi_xbithack							"off"
     
    	mime_add								"application/x-csh"		csh
    	mime_add								"application/xsh"				sh
    }
     
    url //widgets {
    	doc_root								 "/var/http/widgets/public"
    	user_doc_enable		"yes"
    	user_doc_root				"public_html"
    	cgi_enable						 "yes"
    	cgi_dns_enable			"yes"
    	cgi_suffix_enable	 "yes"
    	cgi_user									"nobody"
     
    	log_type								"clf"
    	log_prefix						"/var/http/logs/widgets"
    	log_max_files				7
    	log_cycle_time			1440
    	log_max_file_size		1048576
    	ssi_enable							"yes"
    	ssi_exec									"yes"
    	ssi_xbithack					"full"
     
    	map 		/cgi-bin/				/var/http/widgets/cgi-bin/		cgi
    	map 		/sws-icons/		/var/http/widgets/sws-icons/
    }
     
    port 80 {
    	keepalive_enable			"yes"
    	request_timeout				180
    }
     
    port 1880 {
    	ip_address										129.128.127.126
    	keepalive_enable			"yes"
    	request_timeout				180
    	hosts_supported				widgets
    }
  2. 新しいサーバーを作成します (Sun WebServer 1.0 の値とともに新しいサーバーに対して作成された構成ファイルを変更します)。


    # htserver add "server1"
    
  3. Web サイト (ウィジェット) を追加します。


    # hthost add -i server1 -h widgets -s /var/http/server1/websites/widgets
    
  4. サーバーレベルのファイル/etc/http/server1.httpd.conf を変更します。


    server {
    	server_root						"/var/http/server1/"
    	server_user						"root"
    	mime_file								"/etc/http/mime.types"
    	mime_default_type	 	text/html
    	access_enable					"yes"
    	cache_enable						"yes"
    	cache_small_file_cache_size		8
    	cache_large_file_cache_size		256
    	cache_max_file_size									 1
    	cache_verification_time					 10
    }
     
    url {
    	site_path					/var/http/server1/websites/default_site
    	site_config			"conf/default_site.site.conf"
    	site_enable			"yes"
    }
     
    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:1880 :80
    }
     
    port 80 {
    	ip_address							0.0.0.0
    	keepalive_enable	"yes"
    	request_timeout		180
    }
     
    port 1880 {
    	ip_address						129.128.127.126
    	keepalive_enable	"yes"
    	request_timeout			180
    }
  5. /etc/http/mime.types を変更します。


    application/java				class
    audio/basic									au snd
  6. /var/http/server1/websites/default_site/conf/default_site.site.conf を変更します。


    url {
    	doc_root						/var/http/demo/public
     
    	map_file						conf/map.conf
    	realm_file				conf/realms.conf
    	access_file			conf/access.conf
    	content_file		conf/content.conf
    	mime_file					conf/mime.types
     
    	user_doc_enable		"no"
    	user_doc_root				"public_html"
    	cgi_enable							"no"
    	cgi_dns_enable			"no"
    	cgi_suffix_enable	"no"
    	cgi_user									"nobody"
    	log_type									"elf"
    	log_prefix							"/var/http/server1/logs/default"
    	log_max_files					7
    	log_cycle_time				1440
    	log_max_file_size	 1048576
    	ssi_enable							"no"
    	ssi_exec									"no"
    	ssi_xbithack					"off"
    }
  7. /var/http/server1/websites/default_site/conf/mime.types を作成します。


    application/x-csh			csh
    application/x-sh				sh
  8. /var/http/server1/websites/default_site/conf/map.conf を変更します。


    map 		/cgi-bin/				 /var/http/demo/cgi-bin/		cgi
    map			/sws-icons/			/var/http/demo/sws-icons/
  9. /var/http/server1/websites/widgets/conf/widgets.site.conf を変更します。


    url {
    	doc_root						/var/http/widgets/public
     
    	map_file						conf/map.conf
    	realm_file				conf/realms.conf
    	access_file			conf/access.conf
    	content_file		conf/content.conf
    	mime_file					conf/mime.types
     
    	user_doc_enable			"yes"
    	cgi_enable							 "yes"
    	cgi_dns_enable				"yes"
    	cgi_suffix_enable	 "yes"
    	cgi_user									 "nobody"
    	log_type									 "clf"
    	log_prefix							 "/var/http/server1/logs/widgets"
    	log_max_files					7
    	log_cycle_time				1440
    	log_max_file_size		1048576
    	ssi_enable								"yes"
    	ssi_exec										"yes"
    	ssi_xbithack					  "full"
    }
  10. /var/http/server1/websites/widgets/conf/map.conf を変更します。


    map 	/cgi-bin/				 /var/http/widgets/cgi-bin/ 	cgi
    map 	/sws-icons/			/var/http/widgets/sws-icons/
Sun WebServer 1.0 の access.acl を 2.0 に変換する
  1. 以下に示す Sun WebServer 1.0 の /etc/http/access.acl ファイルおよび委託されたファイル /var/http/widgets/widgets.acl が存在すると仮定します。

    • /etc/http/access.acl:


      url "/sws-administration" {
      	authentication_type			md5
      	realm																serverAdmin
      	password_file								 /etc/http/swsadmin.pw
      	+ user															 *
      }
      
      url "/statistics" {
      	authentication_type			basic
      	realm																statsRealm
      	password_file								/var/http/demo/stats/usrs
      	group_file											/var/http/demo/stats/grps
      	+ user															*
      }
      
      url "//widgets" {
      	delegate										/var/http/widgets/widgets.acl
      }
    • /var/http/widgets/widgets.acl:


      url "/" {
      	authentication_type			basic
      	realm																widgetsRealm
      	password_file								/var/http/widgets/users
      	group_file											/var/http/widgets/groups
      
      	+ user						 *
      	- user						 Joe
      	- group						thoseDenied
      }
  2. グローバル serverAdmin realm (/etc/http/realms/ に存在する) を作成し、ユーザーファイルを /etc/http/swsadmin.pw に置き換えます。


    注 -

    この realm がすでに存在する場合は、コピーコマンドのみを実行してください。



    # htrealm add -r serverAdmin -s HTPASSWD
    # cp /etc/http/swsadmin.pw /etc/http/realms/serverAdmin/users
    
  3. グローバル statsRealm を作成し、ユーザーファイルおよびグループファイルを上記「/statistics」URL で指定されているファイルに置き換えます。この新しい realm をデフォルトサイトおよびウィジェットサイトの realms.conf ファイルに追加します。


    注 -

    以下の <hostname> は、ワークステーションのホスト名 (デフォルトサイトの指定に使われる) を意味します。



    # htrealm add -r statsRealm -s HTPASSWD
    # cp /var/http/demo/stats/usrs /etc/http/realms/statsRealm/users
    # cp /var/http/demo/stats/grps /etc/http/realms/statsRealm/groups
    # htrealm add -i server1 -h widgets -r statsRealm -s HTPASSWD ¥ 
     -d /etc/http/realms/statsRealm
    # htrealm add -i server1 -h <hostname> -r statsRealm -s HTPASSWD -d ¥ 
     -d /etc/http/realms/statsRealm
    
  4. ローカル widgetsRealm をウィジェットサイトで作成し、ユーザーファイルとグループファイルを上記で指定されたファイルに置き換えます。


    # htrealm add -i server1 -h widgets -r widgetsRealm -s HTPASSWD
    # cp /var/http/widgets/users ¥ 
    var/http/server1/websites/widgets/conf/realms/widgetsRealm/
    # cp /var/http/widgets/groups ¥ 
    /var/http/server1/websites/widgets/conf/realms/widgetsRealm/
    
  5. /etc/http/access.conf を変更します。


    url /sws-administration {
    	authentication_type				md5
    	realm																	serverAdmin
     
    	+ user																*
    }
  6. /var/http/server1/websites/default_site/conf/access.conf を変更します。


    # Specify /sws-administration ACL here for site administration,
    # 	create a siteAdmin realm and add administrators to that realm
    # url "/sws-administration" {
    # 	authentication_type			md5
    # 	realm																siteAdmin
    # 	+ user															*
    # }
     
    url "/statistics" {
    	authentication_type				basic
    	realm 																statsRealm
     
    	+ user																*
    }
  7. /var/http/server1/websites/widgets/conf/access.conf を変更します。


    # Specify /sws-administration ACL here for site administration
    url "/statistics" {
    	authentication_type				basic
    	realm																	statsRealm
     
    	+ user															*
    }
     
    url "/" {
    	authentication_type				basic
    	realm															 		widgetsRealm
     
    	+ user																*
    	- user																Joe
    	- group															thoseDenied
    }