このページを読む前に
はじめてホームページを作ったばかりの人向けのアドバイスも読んで必須設定項目に必要な変更をします。スクリプトの改造は自由ですが、まず変更を加えないCGIが動作することを確認してからにしましょう。第一行目(Perlのパス)を必ずプロバイダの指示に従って変更することやsendmailのパス、メールアドレス、必要なら文字コードの指定$ccodeやディレクトリの指定$basedirもして下さい。

好みに応じて# 基本設定 #の他の部分やHTMLの部分に手を加えることもできます。基本設定とHTML文を参照。

"sendmail"
sendmailがPerlから使用出来るなら新規投稿があった時にメールで通知を受けることが出来ますが、その通知内容に手を加えることも出来ます。
##############
# 投稿受付け #
##############
     :
     :
### メール送信 ###
     :
     :
To: $addrss
Subject: 掲示板に新しく投稿がありました

$data{'title'}

ToとSubjectは電子メールのヘッダ部分です。ここにCcやBccを追加することも出来ます。しかし電子メールのヘッダ部分を本格的に改造するには専門書を読んで研究する必要があるでしょう。ヘッダと本文の間が一行空いているのに注意して下さい。この空行がヘッダの終了を意味します。この例ではSubject:の下の空白の一行がヘッダと本文の境目です。本文の方は投稿された記事のタイトルだけ送られるようになっていますが、自由に変更可能です。ヘッダの下に一行空白があれば本文の方は無くてもメールはちゃんと届きます。またSubjectの 掲示板に新しく投稿がありましたの字句も変更できます。メール文の上下の$mailn = <<"MAIL_NOTICE";MAIL_NOTICEは消さないように。

メール通知を受け取るようにしたいのにメールを受け取れないときはsendmailのパス($smpath)とメールアドレス($addrssを確認します。それからメールの件名が文字化けするかも知れません。その場合は日本語で件名を書くことは大人しく諦めて下さい。メールの件名はJIS文字コードでないと文字化けします。一方掲示板に使う文字コードはEUCを想定しています。一応メールの文字コードはCGI内部でJISに変換してから送信するようになっていますが完全ではありません。その場合、英字なら文字化けとは無縁ですから件名は英字を使用して下さい。ただしメールの本文については件名よりは文字化けし難いようです。


プロバイダのサーバにCGIをアップロードする前に自宅でCGIをテストしてみたい、という場合は自宅のパソコンにサーバ・プログラムを載せて自宅にサーバを構築してみましょう。テストにはサーバ・プログラムの他にPerlやブラウザも必要です。もちろんIEとかネスケとかブラウザの方はすでに使用中だと思いますが。CGIはサーバを構築しないと動作しません。(CGIの構文だけならサーバを構築しなくてもPerlだけでテスト出来ますが、構文に問題がなくてもCGIがうまく動作しないこともあります。)

以下の説明はCGIを自宅でテストするためにサーバを構築する、という話ですから、これだけ読んでプロバイダの真似事が出来るなどとは考えないでください。テストだけが目的ですから自分のパソコンでサーバ・プログラムを動かしている時は外部との接続を切っておいてください。こうしておけば自分以外に利用者はいませんから、ありとあらゆるもののパーミッションを777(読み、書き、実行可)に設定しておいて問題はありません。自信がなければ電話線を抜いてしまえば良いのです。もしも自分のパソコンがLANに接続されていて、電話線を抜くことが出来ない、または、抜いてはいけない場合はネットワーク管理者にまず相談しましょう。勝手に設定を変えたりすると管理者に迷惑をかけることになります。うまく話を持って行けばサーバ構築を手助けして貰えるかもしれません。

最近のマックやウィンドウズはサーバ・プログラムがついてくるようです。マニュアルを読んでみましょう。Web共有(マックの場合)やPWS(Microsoft Personal Web Server、ウィンドウズの場合)がそれです。インターネット上には色々なフリーウエアやシェアウエアもありますから、もっと格好良いプログラムをダウンロードしてくることも出来ます。

私の場合はマックのWeb共有を使っています。TCP/IP(システムに手を加えていなければアップルメニューにあるはずです)の設定は:経由先にAppleTalkかMacIPを選び、IPのアドレスは手入力で192.168.1.1、サブネットマスクは255.255.255.0、ルータまたはゲイトウェイを0.0.0.0にします。AppleTalkを使いますからAppleTalkを有効にしておきます。あまり自信はないですが、私の場合これで一応動きました。

(最近Linuxをインストールしました。適切なディストリビューションを選べばインストールと同時にLinuxとApacheとPerlが動作し、自宅でサーバ遊びが出来ます。問題はインストールが難しい…)

次にサーバ・プログラムを立ち上げ、共有されるフォルダ(またはディレクトリ)を選びます。このフォルダ(ディレクトリ)はハードディスクのすぐ下の階層にあるのが良いようです。(アップルでは5つ目より下の階層にあると動作しないかもしれないと言っています。)ホームページも設定しましょう。以上の説明があなたを混乱させないことを期待します。わたしの場合サーバがどうにか動くようになるまで一週間かかりました。インターネット上にはあれこれアドバイスしてくれるサイトがありますから調べてみましょう。

(すでに説明したようにLinuxの場合インストール終了時にPerlは動作していました。ブラウザを立ち上げhttp://localhost/と打ち込むとサーバが動いているのが確認出来ました。cgi-binというディレクトリにCGIスクリプトを入れてパーミッションを755にすると、それも動きました。問題はLinuxをインストールするのに三日かかったことでしょうか。)

最後にブラウザを立ち上げ http://192.168.1.1/(またはあなたのIPアドレス)をURLのところに入力してください。全てうまく行っていればWeb共有で選んだフォルダの中のフォルダとファイルの一覧が表示されているはずです。Web共有でホームページを設定してある場合はそのページが表示されます。設定にもよりますがホームページを作っていなかった場合、「ファイルが見つかりません」等の警告文が表示されることがありますが、これは問題ではありません。フォルダ内にあることがわかっているファイルを呼び出してみましょう。例えばfile_name.htmlというファイルがWeb共有の直下にあれば http://192.168.1.1/file_name.html としてそのファイルが呼び出せるはずです。一方、「サーバ192.168.1.1によってネットワークの接続が拒否されました」といった表示が出た場合は何かまだ設定上の問題があるはずです。

自分のパソコンをサーバにした後は、Perlのインストールをしましょう。サーバと同じディレクトリに入れておくのが混乱が少ないようです。http://www.perl.com/CPAN/からあなたのO/S向けの最新のPerlがダウンロード出来ます。Perlのパスを設定し、ちゃんとCGIが動作するかどうか確かめてください。それが済んだらCGIの改造に取り掛かりましょう。

Click Here