EMWAC HTTPS ガイドブック
Copyright (C) 1995,1996 東京理科大学,佐藤喜一郎
1995/09/16
1995/10/14 改題
1995/11/30 管理編追加
1995/12/29 cgi編のbugfix
1996/03/04 NT 3.51 ResKit
1997/09/01 Update
EMWAC HTTPS とは
EMWAC HTTPS は 英国の Edinburgh University Computing Service 内にある,
European Microsoft Windows NT Academic Centre (EMWAC)
で作成された,Microsoft Windows NT 専用の フリーソフト の HTTP サーバです。
EMWAC HTTPS を Windows NT Workstation/Server で稼働させれば,
あなたも,WWWの情報発信へ参加できます。
今となっては,常識かもしれませんが,
HTTPS はWindows NT のサービスプログラムとして作られています。
一般のアプリケーションソフトとして作られているサーバとは異なり,
サービスプログラムであるため,ユーザーがログオンしていない状態でも動作します。
そのため,サービスを提供しながら,サーバでの作業が行えます。
(というか,不用意にログオフしてもHTTPサーバが止まるということがありません。)
EMWAC HTTPS の機能
CERN httpd, NCSA httpd と比べれば機能はかなり制限されていますが,
Webサーバとしての最低限の機能は持っています。
機能,及びオプション指定できるものとしては
- MIME type mapping の指定
- Datasource を Network Drive へ設定可能
- アクセス LOG file の作成
- EventLOG へのエラー出力
- Directory Browsing の指定
- CGI script への対応 (C の sample source 付き)
- Clickable Mapへの対応
- WAISとの連携
などが挙げられます。
また,HTTPSの機能を大幅に拡張した商用版が,
Purveyorという名前で販売されています。
EMWAC HTTPSの入手法
Windows NT 3.5 Resource Kit Utilities にバージョン0.94が,また,
Windows NT 3.51 Resource Kit Utilities にはバージョン0.96が標準添付されています。
最新版は,EMWACのFTPサーバより入手できます。
URL
Intel i386, alpha AXP, MIPS R4x00, PowerPC 版が用意されています。
これらはファイル名hsxxxx.zipのxxxxの部分で容易に区別できるはずです。
国内では,RingServer Projectでミラーを行っています。
[
ASHAHIネット,
AIST,
ETL,
CRL,
埼玉大学,
NACSIS,
]
HTTPSの最新版はバージョン0.991です。
0.991は0.98のバグフィックスのみですので,0.98での新機能・変更点を述べます。
このバージョンでは,かなりのCGI関連のバグフィックスがなされているのと,
0.97からの変更となっていますが,
.exeファイルがCGIスクリプトとして扱われることに加え,
.plファイルがperlのscriptであるとして,
自動的にperlを起動する仕様に変更になっていることが目に付きます。
インストール及び設定法
まず,ZIPファイルを解凍します。
そうして出てくる,マニュアル(当然英文)が,WRITE, WORD, PSの3種類でてきます。
適当なものを印刷あるいは画面で読みます。
(ページスタイルがa4へ出力ではありませんので,印刷する人は注意する必要があります。)
また,
オンライン版も用意されています。
マニュアルを読めばすべてのことが書いてありますが,簡単に作業方針を述べますと,
- HTTPS.CPL, HTTPS.EXE , HTTPS. HLP, の3つのファイル
(0.98ではこれに加えMSVCRT20.DLLの4つ)を
Windows NTのシステムディレクトリにコピーします。
(例えば,c:\WINT351\SYSTEM32)
VC++2.0英語版のランタイムライブラリMSVCRT20.DLLのコピーの前には,
既存のMSVCRT20.DLLのバージョン・言語を
「ファイルマネージャーの属性の変更」等で確かめて,
古いものを上書きしないように注意してください。
また,既に,HTTPSが稼働している場合には,
古い方バージョンをアンインストールする必要があります。
コマンドプロンプトから,
net stop https
https -remove
を実行したのち,旧ファイルを削除します。
この際,旧設定は失われますので注意してください。
(というわけで,必要があればregedit32でキーを保存してください。)
- コマンドプロンプトから
HTTPS -install
を実行し,HTTPSをサービスプログラムとしてシステムに登録します。
- データ提供ディレクトリを決めデータファイルを配置します。(大変重要!時間もかかる)
- コントロールパネルのアプレットでデータディレクトリの設定を行います。
このとき,http://host.domain/ の形のURLでのリクエストに答えるためには,
「directory browsing を許可する」を選択し,データのルートディレクトリに,
デフォルトのホームページをdefault.htmという名前のファイルで作成しておきます。
またその他のディレクトリには,それぞれ,NOBROWSEという名前のファイルをおいておきます。
(別のホームページを置くには,そこだけ,default.htmを置きます。)
- サーバで提供するファイルのMIMEタイプを同じくコントロールパネルで登録します。
(デフォルトでもいくつかはあります。)
- 同様にログを置くディレクトリを設定する。
- 設定終了後,コントロールパネルのサービスアプレットで,EMWAC HTTPS を起こす。
このとき,起動オプションを「自動」に変えておく。
起動は,コマンドプロンプトから
net start https
でもできます。
- 最後に,お客さんが来るのをひたすら待つのでは悲しいので,
各社のディレクトリサービスへ登録するか,
NetNewsの適当なニュースグループにアナウンスをする。
というような,ところでしょうか。
スクリプト自身に関しては付属のサンプルプログラムを参照してください。
ちなみに,サポートされている環境変数は,以下のボタンを押してみてください。
付属のサンプルプログラムの実行結果が返ってきます。
GETとPOSTの違いなども分かりますでしょうか?
cgiスクリプトをWin32コンソールアプリとして作った場合には,
SYSTEMに対するファイルのアクセス権から
「読み取り可能を落とし,実行可能のみにしておく」必要があります。
こうしないと,クライアントからのreload要求があったとき,
思わぬ事態を招くことになりますので,注意してください。
(マニュアルで読み落とし易い点かもしれません。)
また,0.98ではPerlによるスクリプトをサポートするため,
URLに.plがある場合には,perlを自動的に起動するように,
仕様が変更になっています。
ちなみに,NTで動作するPerlは,
4.0ベースのportが
Intetgraph
から,
5.0ベースのportが
ActiveState Tools Inc.
から入手できます。後者については,Resource Kit Utiritiesにも付属しています。
(5.0のBuild 307ベースの日本語化も行われているようです。(調査中))
また,Webユーティリティ
のリストが, Jim Buyens氏により作成されていますので,是非ご覧ください。
Clickable Map
MAPファイルは,拡張子.mapのファイルである点を除き,他のhttpdと同じです。
ただし,クライアントに返すURLはhttp:で始まる指定にしておかないと,
相手がNetsacpe Navigator ではうまくいっても,NCSA Mosaic (Mac, Windows, X)の場合は
なぜか失敗します。
その他
ファイルシステムをNTFSにしている場合,
default.htmを除き,unixと同じように長い名前が使えます。
FAT, HPFSでも名前に関しては同じですが,セキュリティー等の問題がありますので,
使用しない方が良いでしょう。
WAIS絡みは使ったことがないのでわかりません。
NTでは標準でTelnetdがないため,サーバ管理のためには現場に行かなくてはいけないと
思いがちですが,実際には,NT Serverを稼働させドメインを形成している場合には,
EMWAC HTTPSのリモート管理ができます。
HTTPS自身の設定の変更は,設定内容のキーが公表されているため,
regedt32で行えます。ただし,操作はくれぐれも慎重に願います。
この設定内容を反映するためには,HTTPSのサービスをいったん停止し,
再度,開始する必要があります。
このためには,サーバマネージャを使って,HTTPSを稼働させているコンピュータを選択後,
コンピュータ(C)−>サービスを選択すれば,
ローカルマシンのコントロールパネルにあるサービスアプレットと
おなじ操作で,リモートマシンのサービスを状態を変更できます。
サーバで提供するコンテンツを置くディレクトリは,UNC指定でネットワーク上どこにでも設定できます。
管理者が管理しやすい場所にコンテンツを置いて問題ありません。