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.conf と access.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' 値を持つディレクトリにあります。
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 つの主要構成ファイルを置いていました。
httpd.conf: サーバーおよびサーバーのすべての仮想ホストの基本構成情報
access.acl: URL アクセス制御設定値
Sun WebServer 2.0 では、これらのファイルの指示語をサーバーインスタンスのサーバーレベルの構成ファイルと個々の Web サイトのサイトレベルの構成ファイルに区分化します。
サーバーレベルの構成ファイルは、デフォルトでは /etc/http/ にインストールされます。以下の <instance_name> は、ファイルを使った httpd インスタンスの一意名です。Sun WebServer 管理コンソールまたは htserver add コマンドで作成したインスタンス名は、サーバーインスタンスと対応づけられます。
<instance_name>.httpd.conf: サーバーの基本構成情報
access.conf: URL アクセス制御
realm.conf: realm 情報
mime.types: MIME タイプと符号化
サイトレベルの構成ファイルは、デフォルトでは Web サイトのサブツリーにインストールされます。以下の <site_name> は、このファイルを使った Web サイトの名前を意味します。
<site_name>.site.conf: サイトの基本構成情報
access.conf: URL アクセス制御
realm.conf: realm 情報
mime.types: MIME タイプと符号化
map.conf: URL マッピング
content.conf: 内容情報
上記のすべてのファイル名は、ファイル内容を暗示する名前です。唯一固定された構成ファイル名は、/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 1.0 の構成を Sun WebServer 2.0 フォーマットに変換する前に、まず Sun WebServer 2.0 の基本インスタンスをシステムに追加してください。このサーバーには、Sun WebServer 2.0 で使用される一般ファイル構造が格納され、Sun WebServer 1.0 のサーバーの値で変更可能なデフォルトの構成ファイルが与えられます。
以下のコマンドをコマンド行に入力します (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 の /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 } |
Sun WebServer 2.0 では、Sun WebServer 1.0 のアクセス制御にかなりの変更が加えられています。従来の Sun WebServer のアクセス制御構造を新しい Sun WebServer のアクセス制御構造へ移行する前に、Sun WebServer 2.0 のアクセス制御マニュアルをお読みすることをお勧めします。主な変更を以下に示します。
realm というコンセプトが大きく拡大されており、新しい構成ファイル realm.conf が追加されている
アクセス制御の委任が廃止されている
「/sws-administration」URL に対して指定されているアクセス制御が Sun WebServer 全体にわたって使用されており、このアクセス制御によりサーバー管理者 (URL がサーバーレベル access.conf に指定された場合) またはサイト管理者 (URL がサイトレベル access.conf に指定された場合) が決定される
システムのすべてのインスタンスに対して単一のサーバーレベル access.conf ファイルが存在する (このファイルは /etc/http/access.conf に存在する)。このファイルには、「/sws-administration」URL が格納されており、すべてのインスタンスの管理者が定義されている
各 Web サイトには、サイト管理者を指定する独自のサイトレベル access.conf ファイルも存在する
realm では、より多くのユーザーデータソースを使用できるようになりました。realm は、標準 HTPASSWD
データベースまたは NIS+ データベースと比較してユーザーを認証できます
Sun WebServer 1.0 の access.acl ファイルを Sun WebServer 2.0 に移行するには、認証 realm を作成または選択し、マッピングされた URL のアクセス制御構文を変更してから新しい 2.0 構文を反映させ、access.acl ファイルおよび委託されたファイルのアクセス制御を各 Web サイトの access.conf ファイルに収集する必要があります。
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 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 } |
パスワードおよびグループファイルを格納する 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/ |
ユーザーファイルおよびグループファイルを 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 |
ファイルの指示語を 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 に移し換えなければなりません。
以下に示す 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 } |
以下に示す 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 |
これらは、単一の ACL に収集しなければなりません。
url /statistics { realm admins administrators { user joe group adm } + group stat_admins } |
以下の例は、Sun WebServer 1.0 の httpd.conf ファイルおよび access.acl ファイルの Sun WebServer 2.0 への完全変換を示します。以下の例では 2.0 の新しい指示語は、変換において明示的に必要でない限り、無視されます。
以下に示す 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 } |
新しいサーバーを作成します (Sun WebServer 1.0 の値とともに新しいサーバーに対して作成された構成ファイルを変更します)。
# htserver add "server1" |
Web サイト (ウィジェット) を追加します。
# hthost add -i server1 -h widgets -s /var/http/server1/websites/widgets |
サーバーレベルのファイル/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 } |
/etc/http/mime.types を変更します。
application/java class audio/basic au snd |
/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" } |
/var/http/server1/websites/default_site/conf/mime.types を作成します。
application/x-csh csh application/x-sh sh |
/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/ |
/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" } |
/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 の /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 } |
グローバル 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 |
グローバル 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 |
ローカル 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/ |
/etc/http/access.conf を変更します。
url /sws-administration { authentication_type md5 realm serverAdmin + user * } |
/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 * } |
/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 } |