IIS 8.5とPerl 5.18.2でCGIの開発環境をセットアップ
現在、旧Kyoro's Roomをこのブログの記事のインデックスとすべく準備を進めています。その一環として関数電卓やポケコンの簡易的なデータベースを作成したかったのですが、そのためにPCにPerlによるCGIの開発環境を整え、かなり前に作成した簡易的なデータベースCGIを改良することにしました。以前はApacheで環境を整えていたのですが、ファイルサーバにーFTPサーバーをセットアップする記事で紹介したようにWindows 7やWindows 8にはIISが標準添付されていますので、今回はApacheの代わりにWindows 8.1のIIS 8.5を利用することにしました。作業自体は難しいものではないのですが、Perlのバージョンが上がったことにより少し手こずった点もあるので、メモ代わりに残すことにします。まずは、必要なソフトをダウンロードします。
ActivePerl … 言わずと知れたフリーのPerl処理系です。Windows Installer形式のものをダウンロード、インストールします。
jcode.pl … Perlで日本語を処理するには不可欠のモジュールです。最新の jcode.pl-2.13 をダウンロードします。
cgi-lib.pl … これも必須といえるモジュールで、便利な関数がいろいろと含まれています。最新の2.18をダウンロードします。
次にIISの機能をセットアップします。コントロールパネルの「Windowsの機能の有効化・無効化」で、「インターネット インフォメーション サービス」にチェック入れ、その下位にある「Web管理ツール」、「World Wide Webサービス」にチェックを入れます。

「アプリケーション開発機能」の下位の「CGI」にも必ずチェックを入れます。

インストールが完了したら、"C:\inetpub\wwwroot" を開いて、CGI格納用のフォルダ(ここでは"cgi-bin"としました)を作成します。

「管理ツール」からIISマネージャーを起動し、左側のペーンの"Default Web Site"を右クリックして「仮想ディレクトリの追加」を選択し、さきほど作成した"cgi-bin"フォルダを指定します。この操作を行わないとCGI内部での相対パス指定が全く効かなくなってしまいます。私はあまりIISに詳しくないので、理由はよくわからないのですが…(汗)。

左側のペーンの"Default Web Site"の中の"cgi-bin"をクリックして選択します。次に、真ん中のペーンの「ハンドラー マッピング」をダブルクリックします。

右側のペーンの「スクリプト マップの追加」をクリックして下記の2つの設定を追加します。


これで基本設定は完了です。cgi-binフォルダにCGIファイルを置けば呼び出すことができます。しかし、手こずったのはここからです。どうやら jcode.pl が最新のPerlに対応していないようで、エラーが表示されてしまいます。「あらゆるメモ」さんの記事を参考に、jcode.pl に変更を加えました。
684行目
&init_z2h_euc unless defined %z2h_euc;
↓
&init_z2h_euc unless defined $z2h_euc_inited;
693行目
&init_z2h_sjis unless %z2h_sjis;
↓
&init_z2h_sjis unless defined $z2h_sjis_inited;
これで以前作ったCGIは問題なく動作するようになったため、これを改造して電卓・ポケコン用の簡易的なデータベースを実際に作ってみました。ブログ内の関連記事や外部サイトへのリンクなどもまとめてあります。旧Kyoro's Roomのほうで試験的に公開していますので、興味のある方はご覧ください。(トップメニューの"Calculator"から入れます)
ActivePerl … 言わずと知れたフリーのPerl処理系です。Windows Installer形式のものをダウンロード、インストールします。
jcode.pl … Perlで日本語を処理するには不可欠のモジュールです。最新の jcode.pl-2.13 をダウンロードします。
cgi-lib.pl … これも必須といえるモジュールで、便利な関数がいろいろと含まれています。最新の2.18をダウンロードします。
次にIISの機能をセットアップします。コントロールパネルの「Windowsの機能の有効化・無効化」で、「インターネット インフォメーション サービス」にチェック入れ、その下位にある「Web管理ツール」、「World Wide Webサービス」にチェックを入れます。

「アプリケーション開発機能」の下位の「CGI」にも必ずチェックを入れます。

インストールが完了したら、"C:\inetpub\wwwroot" を開いて、CGI格納用のフォルダ(ここでは"cgi-bin"としました)を作成します。

「管理ツール」からIISマネージャーを起動し、左側のペーンの"Default Web Site"を右クリックして「仮想ディレクトリの追加」を選択し、さきほど作成した"cgi-bin"フォルダを指定します。この操作を行わないとCGI内部での相対パス指定が全く効かなくなってしまいます。私はあまりIISに詳しくないので、理由はよくわからないのですが…(汗)。

左側のペーンの"Default Web Site"の中の"cgi-bin"をクリックして選択します。次に、真ん中のペーンの「ハンドラー マッピング」をダブルクリックします。

右側のペーンの「スクリプト マップの追加」をクリックして下記の2つの設定を追加します。


これで基本設定は完了です。cgi-binフォルダにCGIファイルを置けば呼び出すことができます。しかし、手こずったのはここからです。どうやら jcode.pl が最新のPerlに対応していないようで、エラーが表示されてしまいます。「あらゆるメモ」さんの記事を参考に、jcode.pl に変更を加えました。
684行目
&init_z2h_euc unless defined %z2h_euc;
↓
&init_z2h_euc unless defined $z2h_euc_inited;
693行目
&init_z2h_sjis unless %z2h_sjis;
↓
&init_z2h_sjis unless defined $z2h_sjis_inited;
これで以前作ったCGIは問題なく動作するようになったため、これを改造して電卓・ポケコン用の簡易的なデータベースを実際に作ってみました。ブログ内の関連記事や外部サイトへのリンクなどもまとめてあります。旧Kyoro's Roomのほうで試験的に公開していますので、興味のある方はご覧ください。(トップメニューの"Calculator"から入れます)
- 関連記事
-
- ブログのサムネイル画像のURLをオリジナル画像のURLに変換する方法 (2014/06/12)
- IIS 8.5とPerl 5.18.2でCGIの開発環境をセットアップ (2014/03/23)
- 小型ファイルサーバの製作 (3) (2013/12/20)
スポンサーサイト
テーマ : ホームページ・ブログ制作
ジャンル : コンピュータ