この研究では,校内や実習室内のサーバで,Webサーバの構築,そこでCGIを利用するための設定,Perlのインストール等の方法を紹介します。 これによって校内や実習室内での掲示板を設置することができるので,職員同士の意思疎通,校務の効率化,授業の感想の集約等,様々な場面での応用が考えられます。
通常Webページは,作成者がWebサーバに新しいWebページをアップロードして内容を更新しています。 しかし,Webページでよく見られる「アクセスカウンタ」や「掲示板」はブラウザからの要求に対して自動更新されていきます。 これはWebサーバ上でCGI(Common Gateway Interface)というプログラムが動作し,その結果を送り出しているからです。 CGIはいろいろなプログラム言語を使えますが,特によく使われているプログラム言語がPerlです。
今回は実習室のサーバで設定しました。環境は以下のとおりです。
(1) 図2-1のように「スタート」→「プログラム」→「管理ツール」→「サーバーの役割管理」の順に選択します。
![]() |
|
図2-1 「サーバーの役割管理」の呼び出し |
(2) 「サーバーの役割管理」の「サーバーの役割を管理します」画面(図2-2)で「役割を追加または削除する」をクリックします。
![]() |
|
図2-2 「サーバーの役割管理」の「サーバーの役割を管理します」画面 |
(3) 「サーバーの構成ウィザード」の「準備作業」画面(図2-3)で「次へ」ボタンをクリックします。
![]() |
|
図2-3 「サーバーの構成ウィザード」の「準備作業」画面 |
(4) 「サーバーの構成ウィザード」の「サーバーの役割」画面(図2-4)で「アプリケーション サーバー (IIS,ASP.NET)」を選択し, 「次へ」ボタンをクリックします。「アプリケーション サーバー」の機能の一つとしてWebサーバ機能があります。
![]() |
|
図2-4 「サーバーの構成ウィザード」の「サーバーの役割」画面 |
(5) 「サーバーの構成ウィザード」の「アプリケーション サーバーのオプション」画面(図2-5)で 「FrontPage サーバーの拡張」と「ASP.NETの有効化」にチェックを入れ「次へ」ボタンをクリックします。
![]() |
|
図2-5 「サーバーの構成ウィザード」の「アプリケーション サーバーのオプション」画面 |
(6) 「サーバーの構成ウィザード」の「選択を適用しています」画面(図2-6)でしばらく待ちます。
![]() |
|
図2-6 「サーバーの構成ウィザード」の「選択を適用しています」画面 |
(7) 「サーバーの構成ウィザード」の「このサーバーはアプリケーション サーバーになりました」画面(図2-7)で「完了」ボタンをクリックします。
![]() |
|
図2-7 「サーバーの構成ウィザード」の「このサーバーはアプリケーション サーバーになりました」画面 |
(8) ネットワーク内のコンピュータでブラウザを立ち上げ,URLの欄に「http://(サーバ名)/」と入力します。 (ここでは「http://sv01/」と入力しています。)図2-8のような画面が出てくればWebサーバは正常に動作しています。
![]() |
|
図2-8 クライアントのブラウザによる動作確認 |
HTMLファイルをアップロードするディレクトリの設定とアップロードの方法について説明します。
(1) 再度「サーバーの役割管理」を起動すると,「サーバーの役割を管理します」画面(図3-1)に「アプリケーション サーバー」が追加されています。 中にある「このアプリケーション サーバーを管理する」をクリックします。
![]() |
|
図3-1 「サーバーの役割管理」の「サーバーの役割を管理します」画面 |
(2) 「アプリケーション サーバー」の管理画面(図3-2)が出てきます。
![]() |
|
図3-2 「アプリケーション サーバー」管理画面 |
(3) 図3-3のように「インターネット インフォメーションサービス(IIS)マネージャ」→「sv01(ローカル コンピュータ)」→「Webサイト」→「既定の Web サイト」の順に展開していきます (なお,ここでは「sv01(ローカル コンピュータ)」となっていますが,実際にはsv01の部分には設定したサーバ名が表示されています)。
![]() |
|
図3-3 「アプリケーション サーバー」管理画面で「既定の Web サイト」を展開 |
(4) 図3-4のように「既定の Web サイト」の上で右クリックし,「プロパティ」を選択します。
![]() |
|
図3-4 「アプリケーション サーバー」管理画面で「既定の Web サイト」を右クリック |
(5) 「既定の Web サイトのプロパティ」画面で「ホーム ディレクトリ」タブ(図3-5)を選択します。 この中にある「ローカル パス」に表示されているディレクトリをホームディレクトリと呼びます(ここでは「C:\inetpub\wwwroot」を指しています)。 2の(8)において,ブラウザのURLの欄に入力した「http://(サーバ名)/」はこのホームディレクトリを表します。 「参照」をクリックするとホームディレクトリを変更することもできます(ここではこのままにしておきます)。
![]() |
|
図3-5 「既定の Web サイトのプロパティ」画面の「ホーム ディレクトリ」タブ |
(6) 「エクスプローラ」でホームディレクトリを開いてみます。(図3-6) ホームディレクトリにHTMLファイルを保存することでネットワーク上のコンピュータからWebページを見ることができます。
![]() |
|
図3-6 ホームディレクトリ内のファイルとディレクトリ |
(7) 「既定の Web サイトのプロパティ」画面で「ドキュメント」タブ(図3-7-1)を選択し, 「既定のコンテンツ ページを有効にする」にチェックが入っていることを確認します。 2の(8)において,URLの欄に「http://(サーバ名)/」の後ファイル名を省略して入力した場合,この下の欄に設定されているファイルがディレクトリ内にあればそれが表示されます。 これをトップページといいます(ここでは「iisstart.htm」が設定されています)。
![]() |
|
図3-7-1 「既定の Web サイトのプロパティ」画面の「ドキュメント」タブ(1) |
「iisstart.htm」を選択してから「削除」をクリックしてこれを削除し, 「追加」をクリックして一般的にトップページによく用いられるファイル名「index.htm」を追加します。(図3-7-2)
![]() |
|
図3-7-2 「既定の Web サイトのプロパティ」画面の「ドキュメント」タブ(2) |
なお,ホームディレクトリ以外でもこの設定は有効です。 特に,表示させるファイルがないようなディレクトリでも,内容が白紙のファイル(以下ダミーファイルと呼びます)を作成して,「index.htm」という名前でそのディレクトリの中に保存します。 そうすれば,ブラウザのURL欄に例えば「http://sv01/combbs/」のようなディレクトリ名が入力された場合,ディレクトリの中身(ファイル一覧など)が表示されるかわりに 「http://sv01/combbs/index.htm」が表示されるので,ディレクトリの中身を見られることなくセキュリティが向上します。
(8) トップページのファイル「index.htm」を作成して,ホームディレクトリに保存します。(図3-8)
![]() |
|
図3-8 「index.htm」のアップロード |
(9) ネットワーク内のコンピュータでブラウザを立ち上げ,URLの欄に「http://(サーバ名)/」と入力します(ここでは「http://sv01/」と入力しています)。 図3-9のように作成した画面が出てくれば,正常にアップロードされています。
![]() |
|
図3-9 クライアントのブラウザによる動作確認 |
(1) サイト「ActivePerl」http://www.activestate.com/activeperl(図4-1)から 「ActivePerl」をダウンロードし,適当なところに保存します。
常に最新のバージョンをダウンロードして下さい (2009年12月現在「ActivePerl-5.10.1.1006-MSWin32-x86-291086.msi」というファイルがダウンロードされます)。
![]() |
|
図4-1 「ActivePerl」をダウンロードページ |
(2) ダウンロードしたファイルをダブルクリックしインストールを実行します。 「Setup」の「Welcome」画面(図4-2)では「Next」をクリックします。
![]() |
|
図4-2 「Setup」の「Welcome」画面 |
(3) 「License Agreement」(図4-3)ではライセンスの同意を求めています。 同意できれば「I accept the terms in the License Agreement」を選択し「Next」をクリックします。
![]() |
|
図4-3 「License Agreement」 |
(4) 「Setup」の「Custom Setup」画面(図4-4)ではインストール内容と場所を尋ねています。 これらはデフォルトのままでも今後の動作に特に支障はありません。そのまま「Next」をクリックします。
![]() |
|
図4-4 「Setup」の「Custom Setup」画面 |
(5) 「Setup」の「Choose Setup Options」画面(図4-5)ではインストール時のオプションを尋ねています。 「Add Perl to the PATH environment variable」はPerlのパスを環境変数に設定するかどうかの指定です。 チェックを入れなければ,コマンドプロンプトからPerlをフルパスで指定することになります。 「Create Perl file extension association」は拡張子「.pl」を Active Perl に関連付けするかどうかの指定です。 ともにチェックを入れて「Next」をクリックします。
![]() |
|
図4-5 「Setup」の「Choose Setup Options」画面 |
(6) 「Setup」の「Ready to Install」画面(図4-6)で「Install」をクリックしてインストールを始めます。
![]() |
|
図4-6 「Setup」の「Ready to Install」画面 |
(7) 「Setup」の「Installing」画面(図4-7)ではそのまましばらく待ちます。
![]() |
|
図4-7 「Setup」の「Installing」画面 |
(8) 「Setup」の「Completing」画面(図4-8)で「Finish」をクリックして完了です。 リリースノートを表示したい場合は「Display the release notes」にチェックを入れてから「Finish」をクリックします。
![]() |
|
図4-8 「Setup」の「Completing」画面 |
(9) 画面では求めてきませんが,パソコンを再起動します。
再起動後,コマンドプロンプトで「perl -v」と入力してEnterキーを押してください。 図4-9のようなPerlのバージョン情報が出てくれば成功です。
![]() |
|
図4-9 Perlのバージョン情報 |
まず,CGIスクリプトで書かれた掲示板用のファイルを保存するためのディレクトリを, 通常のコンテンツを保存するためのディレクトリとは別に用意します。 これを仮想ディレクトリといいます(仮想ディレクトリごとにCGIを実行できるかどうか設定できるので,このほうが安全です)。
(1) 3の(3)の「アプリケーション サーバ」の管理画面において「既定のWeb サイト」の上で右クリックし 「新規作成」→「仮想ディレクトリ」の順にクリックします。(図5-1)
![]() |
|
図5-1 「アプリケーションサーバー」管理画面で「既定の Web サイト」「新規作成」を右クリック |
(2) 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリの作成ウイザードの開始」画面(図5-2)で「次へ」をクリックしてください。
![]() |
|
図5-2 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリの作成ウイザードの開始」画面 |
(3) 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリ エイリアス」画面(図5-3)では仮想ディレクトリのエイリアスを指定します (ここでは「keijiban」としました)。
![]() |
|
図5-3 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリ エイリアス」画面 |
(4) 「仮想ディレクトリの作成ウィザード」の「Web サイトのコンテンツのディレクトリ」画面(図5-4)では仮想ディレクトリの物理的なパスを指定するために、 「参照」をクリックします。
![]() |
|
図5-4 「仮想ディレクトリの作成ウィザード」の「Web サイトのコンテンツのディレクトリ」画面 |
(5) 「フォルダの参照」(図5-5)で「新しいフォルダの作成」ボタンをクリックしてディレクトリを作成し「OK」をクリックします (ここではディレクトリ名を「bbs」としました)。
![]() |
|
図5-5 「フォルダの参照」 |
(6) 図5-6のように、(5)で作成したディレクトリのパスが自動で表示されます(ここでは「C:\Inetpub\bbs」となります)。 「次へ」をクリックします。
![]() |
|
図5-6 「仮想ディレクトリの作成ウィザード」の「Web サイトのコンテンツのディレクトリ」画面 |
(7) 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリのアクセス許可」画面(図5-7)では 「読み取り」「ASPなどのスクリプトを実行する」「ISAPIアプリケーションやCGIなどを実行する」にチェックを入れて「次へ」をクリックします。
![]() |
|
図5-7 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリのアクセス許可」画面 |
(8) 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリの作成ウィザードは正常に完了しました」画面(図5-8)で「完了」をクリックします。
![]() |
|
図5-8 「仮想ディレクトリの作成ウィザード」の「仮想ディレクトリの作成ウィザードは正常に完了しました」画面 |
仮想ディレクトリ(ここでは「C:\Inetpub\bbs」)にダミーファイル「index.htm」を保存します。
ネットワーク内のコンピュータでブラウザから,URLの欄に「http://(サーバ名)/(エイリアス)/」(ここでは「http://sv01/keijiban/」)と入力して, 白紙のページが表示されれば,仮想ディレクトリの作成は成功です。
次に、CGI(掲示板)の設置をします。 今回利用したのは,CGI・Perlプログラムを無料で配布するサイト「KENT-WEB」http://www.kent-web.com/index.html 内にある掲示板「COM BOARD」です。
(9) ダウンロードページ(図5-9)http://www.kent-web.com/bbs/combbs.html から「COM BOARD」をダウンロードします。
![]() |
|
図5-9 掲示板「COM BOARD」のダウンロード |
(10) 作成した仮想ディレクトリ(ここでは「C:\Inetpub\bbs」)にダウンロードしたファイルを解凍します。(図5-10) 解凍後は以下のようにファイルが配置されます。
|
![]() |
|
図5-10 仮想ディレクトリ内のファイルとディレクトリ |
(11) 作成した仮想ディレクトリ上で,拡張子「.cgi」のファイルがPerlで動くように プログラムを割当て(マッピング)します。 3の(3)の「アプリケーション サーバ」管理画面で「既定のWebサイト」をクリックします。 出てくる項目のうち,仮想ディレクトリ名(ここでは「keijiban」)を右クリックし「プロパティ」を選択します。(図5-11)
![]() |
|
図5-11 「アプリケーションサーバー」管理画面で「keijiban」を右クリック |
(12) 「(仮想ディレクトリ名)のプロパティ」の「仮想ディレクトリ」タブ(図5-12)の「構成」をクリックすします。
![]() |
|
図5-12 「keijibanのプロパティ」の「仮想ディレクトリ」タブ |
(13) 「アプリケーションの構成」の「マッピング」タブ(図5-13)を確認します。 拡張子「.pl」はActive Perlをインストールした際に設定されています。 これと同じ内容で「.cgi」をマッピングします。「追加」をクリックしてください。
![]() |
|
図5-13 「アプリケーションの構成」の「マッピング」タブ |
(14) 「アプリケーションの拡張子マッピングの追加/編集」(図5-14)において, 「実行可能ファイル」に「C:\Perl\bin\perl.exe "%s" %s」,「拡張子」に「.cgi」,「動詞」の「制限」を選択して 「GET,HEAD,POST」と入力し「OK」をクリックします。
![]() |
|
図5-14 「アプリケーションの拡張子マッピングの追加/編集」 |
(15) 「アプリケーションの構成」の「マッピング」タブ(図5-15)で「.cgi」がマッピングされているか確認します。
![]() |
|
図5-15 「アプリケーションの構成」の「マッピング」タブ |
(16) Windows Server 2003のIISはバージョンが6.0なのでデフォルトではCGI等が動きません。 「アプリケーション サーバー」管理画面の「Web サービスの拡張」をクリックし,拡張タブ(図5-16)の「Perl CGI Extension」を右クリックし, 「許可」を選択してください。
![]() |
|
図5-16 「アプリケーション サーバー」管理画面の「Web サービスの拡張」画面の「拡張タブ」 |
(17) ユーザが掲示板に書き込むと,ログファイル「log.cgi」が書き換わり,掲示板が更新される仕組みになっています。 したがって,このログファイルについてはユーザに「書き込み」の権限を与える必要があります。 他のファイルについてはデフォルトのとおりユーザは「読み取り」の権限のままにしておきます。
「エクスプローラ」でログファイル(ここでは「C:\Inetpub\bbs\combbs\data\log.cgi」)を右クリックし「プロパティ」を選択します。(図5-17)
![]() |
|
図5-17 「log.cgi」を右クリック |
(18) 「log.cgiのプロパティ」の「セキュリティ」タブ(図5-18)を選択し,書き込みを許可するグループ名またはユーザー名を(必要なら追加して)選択し, 許可欄の「書き込み」にチェックを入れて「OK」をクリックします。
![]() |
|
図5-18 「log.cgiのプロパティ」の「セキュリティ」タブ |
以上で設定は完了です。
(19) ネットワーク内のコンピュータでブラウザを立ち上げ, URLの欄に「http://(サーバ名)/(仮想ディレクトリ名)/combbs/combbs.cgi」と入力します (ここでは「http://sv01/keijiban/combbs/combbs.cgi」と入力します)。掲示板のWebページが出てきて,動作確認ができれば成功です。
この掲示板へのリンクを設定したトップページのファイル「index.htm」を作成して ホームディレクトリに保存すれば,掲示板を利用する際に便利です。
(1) 図6-1のように「combbs.cgi」をエディタで開くと,背景色,文字色,文字の大きさ等を設定する記述がありますので, 必要に応じて変更することができます。特に,管理者用のパスワードを設定する記述については,安全のため初期設定のものから変更する必要があります。
![]() |
|
図6-1 「combbs.cgi」の記述の一部 |
(2) 掲示板に投稿するときは,右側のフレームに必要事項を入力し「投稿する」をクリックします。 この際「削除キー」に入力しておくと投稿者の権限で左フレームにより該当の記事を削除することができます。 掲示板の管理者は左フレームの「管理」から(1)で設定した管理者用のパスワードを入力すれば,管理者の権限で記事を自由に削除することができます。(図6-2)
![]() |
|
図6-2 掲示板「COM BOARD」の画面 |
(3) 記事がいっぱいになり投稿できなくなったら以下の手順で新しいログファイルを作ります。
ア 前のログファイルを別の名前に変更します。拡張子は「.cgi」のままでも構いませんが「.txt」にしたほうが安全です。
イ 同じ場所に新規にテキストファイルを作り,ファイル名を「log.cgi」とし拡張子も変更します。
ウ 新しい「log.cgi」にアクセスするユーザに「書き込み」権限を与えます。(5の(16)を参照)
エ 再度掲示板を読み込むと,新しい掲示板になっていることがわかります。
(4) 掲示板を複数設置したい場合は,仮想ディレクトリに複数の掲示板のファイルを保存します(5の(10)を参照)。 掲示板ごとにディレクトリを分けておくと管理しやすくなります。 図6-4のように、同じタイプの掲示板を「combbs1」「combbs2」「combbs3」の3つのディレクトリに設置した場合,ブラウザのURLの欄に
![]() |
|
図6-4 仮想ディレクトリ内のファイルとディレクトリ |
トップページ「index.htm」の中にこれらの掲示板へのリンクを設定して, ホームディレクトリに保存しておくと利用しやすくなります。
実習室内に掲示板を設けることで,生徒の書き込みをリアルタイムで公開することが可能です。 授業の感想や意見など様々な情報を共有することで,幅広く授業を展開できるようになります。是非ご活用ください。