
CGIを自分のPCで使用してみたい!、しかし、自分で自宅サーバー(鯖)でもやらない限り実際は必要ない・・・、いやCGIのデバッグには使用できる・・・、それをあえてやることにしました。OSは最適と思われるWindows2000/XP(ディスクはFAT32)、WebサーバーはIISでやってみました。(ASPも使用可能です)
(パーソナルWebサーバー、IIS3.0の方はWindows98でCGIを動かすもご参照ください)
IISのインストール、PERLインタープリターをケ゜ット、PCにPERLをインストール、前準備.cgiのマッピング、CGIを実行するディレクトリー、/cgi-binまたは/script以外を使の場合、実行、逆流、Windows98でCGIを動かす(Windows95も可)、IIS関連サイト
IIS(インターネットインフォメーションサーバー)が設定されてなければコントロールバネル→アプリケーションの追加削除→Wndowsコンポーネントの追加削除でインストールします。
WebサーバーはWindows2000/XPのIISを使用しました。この方法だとASPも使用できる利点があります。
何故か、IISではdefault.htm、default.aspがディホルトです。通常のindex.html、index.htm、index.shtmを設定する場合下記の設定をします。
コントロールパネル→管理ツール→インターネットサービスマネージャーを実行します。
規定のWEBサイトを右クリック→プロパーティ(R)をクリック
ドキュメントタブより、追加ボタン(D)を押します。
規定のドキュメントの追加で、index.html、ないしはindex.htmを追加します。
FTPによりアプロードしてコンテンツを修正する場合は、
規定のFTPサイトを右クリック→プロパーティ(R)をクリック
ホームディレクトリータブより、ローカルバス(O)のC:\InetPub\ftprootを、
WEBサイトと同じC:\InetPub\wwwrootに変更します。
規定のFTPサイトを右クリック→プロパーティ(R)をクリック
セキュリティアカウントタブより、匿名アカウントを許可する(O)にチェツクされていないことをしましょう。
Windows2000の仮想メモリーのページングフアイルの初期設定は少なめのようです。
マイコンピュータ右クリック→プロパティ(R)→システムのプロパティで詳細タブ
パフオーマンス(P)ボタン→変更(C)ボタン→仮想メモリー画面
初期サイズ、最大サイズをメモリーの2倍ぐらいの値を入力し、設定(S)ボタンを押します。
個々のPCにより事情は違いますが、増やすことにより、より安定すると思われます。
連続運転を行う場合、1〜2週間に1回ぐらい再立上げしてあげましょう。さらに安定します。
Unix系でよく使用されているApache(アパッチ)や、日本語で説明のあるAN HTTPを使用する方法もあります。それぞれ一長一短があります。
CGIを動かすためのPERLインタープリターが必要です。PERLはC言語に似たインタープリターです。
http://www.activestate.com/ ここから無料ActivePerlを仕入れてきます。
ダウンロードの方法は目まぐるしく変わっています。文章をよく確認し、ダウンロードしてください。下記のURLがよく使用されます。
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl
ActivePerl-5.6./5.8のWindowsのMSIをダウンロードします。
ダウンロードしたフアイルをダブルクリックしてインストールします。
インストール先のディレクトリーはC:\PEARLになってます(その場合#!C:/perl/bin/perl)。自分のPCでテバッグし、UNIXにアプロート゜する場合は、ソースでの互換性を保つため、C:\usr\localまたは、C:\usrにすることをお勧めします。(動作は関係付けで動きますので、単にソース互換だけの問題ですが!)
なぜか、拡張子〜.cgiフアイルは設定されていません。Perl5.6では〜.plフアイルは設定されます。そのため、
コントロールパネル→管理ツール→インターネットサービスマネージャーを実行します。
規定のWEBサイトを右クリック→プロパーティ(R)をクリック
ホームディレクトリタブより、構成(G)ボタンを押し、アプリケーションの構成のアプリケーションのマッピングタブで追加ボタン(D)を押します。
アプリケーションの拡張子マッピング追加/編集画面で下記の内容を入力します。
| 実行フアイル | C:\usr\local\bin\Perl.exe %s %s |
| 拡張子 | .cgi |
| 動詞 | すべての動詞にしちゃいました |
| スクリプトエンジン(S) | チェツクをはずす |
| フアイルの存在を確認する(C) | チェツク |
CGIを動かすディレクトリーは、特定のディレクトリーでないと実行しません。つまり、下記のように記述します。
cgi-binディレクトリーがすでに有り、そこで実行したい場合(NT4.0)
http://mypc/cgi-bin/〜.cgi
scriptsディレクトリーで実行する場合(XP,2000,NT4.0)
ルートディレクトリーの下に実際には存在しない仮想ディレクトリー scriptsがすでにセットされています。こちらがおすすめです。ここに、サブディレクトリーを作っていきます。
実際のディレクトリーは全く違う場所の c:¥inetpub¥scriptsにあります。
下記の記述で動作させます。これはセキュリティのための処置だそうです。
http://mypc/scripts/〜.cgi
/cgi-binまたは/script以外のディレクトリーを使用する場合
c:¥inetpub¥scripts¥にディレクトリーを作成 例 count
ディスクがNTFSの場合は、エクスプローラーで該当ディレクトリーを右クリックし、セキュリティタブより、アクセス権(P)ボタンを押し、Everyoneをフルコントロールに設定します。WindowsXPの場合、Userをフルコントロールにしてください。
インターネットインフオメーションマネージャーで、
規定のWEBサイト(ルート)を右クリックして
新規作成(N)→仮想ディレクトリー
仮想ディレクトリーの作成ウィザードが起動したら下記をセットします。
| エイリヤス名(A) | 例 count |
| デイレクトリー(D) | 例 C:\InetPub\scripts\count |
| アクセス件 | 読み取り ASP等のスクリプトを実行する |
その仮想ディレクトリーを右クリックし、プロパティ(R)→仮想ディレクトリタブ
アプリケーションの実行で下記のセットをします。
| 実行アクセス権(P) | スクリプトおよび実行可能フアイル |
|
アプリケーション 保護(N) |
低(IISプロセス) |
さらに、特にディスクがNTFSの場合に必要なのが、ディレクトリーのアクセス権等の設定です。
設置するCGIのマニュアルを見て、UNIXのアクセス権を参考にして、さらに、書き込み(R)、ディレクトリの参照(B)にチェツクを付けます。
不明でしたらそこにチェツクをつけて、動かした後チェツクをはずすのも良いでしょう。
ディレクトリの参照(B)にチェツクを付けた場合、ブラウザーで見ると、ディレクトリが丸見えになってしまう場合があります。その場合、空のindex.html等を置いておくとブブラウザーからディレクトリが見えません。(ディレクトリ丸見え現象)
空のindex.htmlの例
<html>
<body>
</body>
</html>
Windows2000/XPの認証画面を出したい場合、ディレクトリーを右クリックし、プロパティ(R)→ディレクトリセキュリティタブ
匿名アクセスおよび認証コントロールの編集(E)ボタンを押し、認証方法画面の匿名アクセス(A)のチェツクをはずすと、ホムペの該当部をアクセスする時、Windows2000/XPの認証画面を出すことができます。
もちろん、コントロールパネルのユーザーパスワードで登録し、エクスプローラーで該当ディレクトリーにアクセス権の登録が必要です。
実行の記述例は http://mypc/scripts/count/〜.cgi です。
KENTさんのオフラインでCGIを動かそうの巻よりaska.cgiを連れてきました。
マニュアルではディレクトリーは/bbsですが、最初にある/cgi-binまたは/scriptにインストールするとスムーズです。つまり、
http://mypc/cgi-bin/aska.cgi
または、
http://mypc/scripts/aska.cgi
です。
これで、自分のPCのCGI対応WWWサーバー化完了です。
もちろん、掲示板は、G−LIGHT、YY−BORDでも動きます。その場合はフアイルロックの設定をします。
| フアイルロック | $lickkey = 2 $lickkey = 2の設定がない場合、不明な場合そのまま$lickkey =0 |
KENTさんの自宅マシン開局の巻にありました逆流をやります。
インターネットに接続して、逆流(クライアントがサーバーになり、情報の流れがまったく逆になる)させれば、りっぱな自宅サーバーになれます。セキュリティには気をつけてください。
ここに登録すると、簡単にサーバーとして開放することができます。
最近、ハッカーの不穏な動きがあり、特にコンテンツのバックアップ、マイクロソフトの情報を仕入れる。セキュリテイの修正プログラム(パッチ)で強化。設定を少し変えてみる(例C:\InetPub\wwwroot を D:\InetPub\wwwmyroot とか)。十分注意してください。
Windows98でCGIを動かす。(Windows95も可)
パーソナルWebサーバーは、Windows2000のIISとよく似ています。そちらもご参照ください。
パーソナルWebサーバーが設定されてなければコントロールバネル→アプリケーションの追加削除→Wndowsコンポーネントの追加削除でインストールします。
さらにCD−ROMのd:add-one\pws\setup.exeをダブルクリックして追加をインストします。c:\windows\options\cabs\pws\setup.exeでインストできるパソコンもあります。
パーソナルWebマネージャーをうごかしてインストールされていることを確認します。
PERLをインストールします。IISのPERLインタープリターをケ゜ット、PCにPERLをインストールを参照してください。(Windows95の場合は、DCOM95 for Windows95をインストしておく必要があります)
パーソナルWebマネージャーを動かします。(右下のトレイにアイコンがありjまます。)
詳細をクリック
詳細オプションで
ディレクトリーの参照を許可(W)にクリック
規定のドキュメント(D)に index.html等を追加
仮想ディレクトリーより、Scripts ないしは cgi-binディレクトリーを選択
プロバティの選択ボタンを押します。
ディレクトリー編集画面で
アクセスの 読み取り(R)、実行(X)、スクリプト(S)にチェツク OKボタンを押します。
UNIXのアクセス権を参考にして、設定します。
レジストリーのセットをします。(注意して行ってください)
スタートボタンを押し、フアイル名を指定して実行(R)で、REGEDITと入力して
OKボタンを押し、動かします。
左側の窓のマイコンピュータより、ダブルクリックすることにより、下記のディレクトリーScript Mapまでたどります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map
メニューの編集(E)より、新規(N)選択、文字列(S)選択し
名前を新規数値#1から .cgiに変え、ダブルクリックし
文字列の選択画面で
文字列にperlをインストールしたところを指定します。
例
名前 .cgi 文字列 C:\usr\local\bin\perl.exe %s %s
名前 .pl 文字列 C:\usr\local\bin\perl.exe %s %s (ついでに)
念のためOSの再立ち上げを行います。
以上て、Scripts ないしは cgi-binディレクトリーにCGIをセットすれば動きます。IISの実行を参照してください。
Microsoft Internet Infomation Server
![]()
IEの戻るボタン
の方が速いです