ビギナーズ CGI

 初歩から始める初心者向けPerl-CGI講座  

| トップページ | CGI設置 | CGI作成 | 作成事例 | 設置用語 | 作成用語 | 関数リファレンス | FAQ | お問合せ |
  
CGIの設置方法
フリーで配布されているCGIを設置する際の手順や注意事項などの説明です。

CGI作成の初歩
初めてCGIを作る方向けの手順を簡単な例で説明しています。

CGI作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。

CGIの設置に関する用語
CGIの作成に関する用語
CGIの設置や作成時に使われている用語や関連知識を掲載しています。

設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。



 
 




ここでは KENT-WEB さんが配布されているメールフォーム PostMail を例にダウンロードから実際の設置までを説明しています。
このメールフォームは、お使いのホームページスペースで sendmail もしくは BlatJ 対応している事が必須条件です。
これらのメール送信プログラムが使えない場合、このCGI は利用できませんのでご注意下さい。




設置手順 1
今回の例で設置する KENT-WEB さんが配布されている掲示板 PostMail をダウンロードします。
配布先のページに移動すると、下のようなアイコンがありますので、ここでは ZIP形式 と記載された方をクリックしてダウンロードします。
内容はどちらも同じで、圧縮されている形式が違うだけなので、ZIP形式が解凍できない方はLHA形式をダウンロードして下さい。
クリックすると、開くか保存するかを選択するダイアログが出ますので 【保存】を選択し、デスクトップなど分かりやすい場所を指定します。

【KENT-WEB PostMail 配布ページ】
https://www.kent-web.com/data/postmail.html





ダウンロードしたファイルは複数のファイルをまとめて圧縮してありますので、これを解凍して元の状態に戻します。
ここでは Windows に付属している解凍ツールを使って行いますが、別にインストールされている場合はそちらで行って頂いても結構です。

1.
ダウンロードしたファイルを右クリックし、【全て展開(A)】 を押します。

2.
解凍先などを聞かれますが、デスクトップ上にダウンロードした場合は、デフォルトでデスクトップ上にフォルダを作って解凍しますので、次へを押して進め、最後に完了を押して下さい。



次にプログラムをお使いのホームページスペースなどの環境に合わせて修正します。
修正はテキストエディタ (Windowsに標準で付いているメモ帳など) を使って行い、テキストエディタであれば良いので他に使いやすいソフトがあればそれを使った方が修正しやすいと思います。


とりあえず、最低限動作する状態にしますので、細かな設定は後で行います。
設置になれていない場合は、必ず最低限必要な設定のみをして始めに動作確認を行い、その後修正を行う際も一度に多くの箇所を修正するのではなく、一部分修正したら確認、一部分修正したら確認 といった感じで作業をすると間違った箇所が特定しやすいです。
逆に多くの部分を一度に修正してからエラーなどが出てしまった場合、間違い部分が特定できずに、どうしようもなくなり初めからやり直す事になってしまう可能性がありますので十分ご注意下さい。


1.
この PostMail で設定が必要なファイルは postmail.cgi と実際にフォームを表示するHTMLファイルです。
解凍したフォルダの中に上記ファイルがありますので、右クリックし【編集】を押してください。

2.
Perl のパスを修正する。
最上部に #!/usr/local/bin/perl と記載された部分がありますので、この部分をご自分のホームページスペースに記載の指示に合わせて修正します。
例えばPerl のパスが /usr/bin/perl と指示されていたら上記の行を #!/usr/bin/perl と修正します。


修正する際は必ず半角で入力して下さい。 (全角で入力するとエラーになります)
先頭についている #! は絶対に消さないで下さい。 (こちらも消すとエラーになります)

3.
メール送信プログラムの位置を指定する
この項目は、ホームページスペースによって違いますので、お使いのスペースが提供しているマニュアルやWEBサイトの解説を参考にして下さい。
sendmail のパス などと記載されている項目です。

修正前
# メールソフトまでのパス
# → sendmailの例 :/usr/lib/sendmail
# → BlatJの例 :c:\blatj\blatj.exe
$mailprog = '/usr/lib/sendmail';
修正後
# メールソフトまでのパス
# → sendmailの例 :/usr/lib/sendmail
# → BlatJの例 :c:\blatj\blatj.exe
$mailprog = '/usr/sbin/sendmail';


このフォームからの送信先メールアドレスを入力します。
修正前
# 送信先メールアドレス
$mailto = 'xxx@xxx.xxx';
修正後
# 送信先メールアドレス
$mailto = 'tarou@aaa.com';


フォームから送信した後の戻り先を指定します。
修正前
# 送信後の戻り先
# → https://から記述する
$back = 'https://www.xxx.xxx/';
修正後
# 送信後の戻り先
# → https://から記述する
$back = 'https://aimix.jp/beginnerscgi/';


送信されるメールのタイトルを設定します。
修正前
# メールタイトル
$subject = 'フォームメール';
修正後
# メールタイトル
$subject = '担当者問い合わせ';

その他に実際に表示するフォームの修正を行う事ができますが、とりあえず動作確認までを行います。






以上で掲示板が動くだけの最低限の設定が完了しましたので、ホームページスペースにアップロードしてみます。
ページなどは通常アップロードすれば見えますが、CGI の場合はアクセス権限の設定や、この CGI の場合は画像を保存するディレクトリの作成なども必要となりますので順に説明していき、ここではFTPツール自体の操作方法については割合させて頂きます。


KENT-WEB さんで指示されているディレクトリ構成例は以下の通りです。
色が付いているものは、それ以降の説明の色と対応しています。

【ディレクトリ構成例】
public_html / index.html (トップページ等)
  |
  +-- postmail / postmail.cgi [755]
            jcode.pl
          
postmail.html
           tmp_conf.html
           tmp_err1.html
           tmp_err2.html
          
tmp_thx.html




これは アップロードするディレクトリに postmail というディレクトリを作成し、その中にアップロードする場合の例で、同じように行う場合は次のような手順で行い、特に表記が無い場合、転送モードはテキストモードで行います。

1.
FTP ツールで接続し、postmail というディレクトリを作成する


2.
作成した postmail というディレクトリの中に全てのファイルをアップロードする


3.
上記でアップロードしたファイルのアクセス権限を、【ディレクトリ構成例】で記載されているものにする。
postmail.cgiは 755に、その他は 644となっていれば修正の必要はありません。





この CGI にはチェックモードが付いていますので、設定や設置に問題が無いかをチェックモードで確認してみましょう。
チェックモードはブラウザのアドレス欄で URLの末尾に ?mode=check を付けて CGI にアクセスします。
例えば https://aimix.jp/beginnerscgi/postmail/ にアップロードした場合は、 https://aimix.jp/beginnerscgi/postmail/postmail.cgi?mode=check とブラウザのアドレス欄に打ち込み、【Enter】 を押してください。
「404 ファイル又はディレクトリが見つかりません」 などと表示された場合は、URL指定が間違っていますので、再度確認しながら入力して下さい。


NG が出てしまった場合、それぞれ次の項目を確認して下さい。
※手順以外の項目を修正した場合は、これら以外の項目も確認する必要があります。

500のエラー → Perl のパスが正しく設定されているかを確認する
500のエラー → postmail のアクセス権が 755に設定されているかを確認する
500のエラー → jcode.pl などが正しくアップロードされているか確認
500のエラー → テキストモードで転送するべきものをバイナリモードで転送していないか確認
500のエラー → 改行コードを LF で保存したものをテキストモードで転送してしまっていないか確認
メールソフトのパス → sendmail などの利用が許可されているかを確認する
メールソフトのパス → sendmail などのパスが間違っていないかを確認する
テンプレート → テンプレートのhtml ファイルが正しくアップロードされているか確認する

上記の他に、ホームページスペースによってはアクセス権の設定が指定されている場合もありますので、その場合はマニュアルやWEBサイトの指示に従って修正を行って下さい。


特にNGが表示されなかったら、実際にフォームから送信してみます。
例えば、 https://aimix.jp/beginnerscgi/postmail/ に設置した場合は以下のアドレスにアクセスします。
https://aimix.jp/beginnerscgi/postmail/postmail.html
「404 ファイル又はディレクトリが見つかりません」 などと表示された場合は、URL指定が間違っていますので、再度確認しながら入力して下さい。



送信時にエラーとなる場合、postmail.cgi のアクセス権を確認、sendmail のパスを確認して下さい。


postmail フォームの設定に進む




Beginner's CGI  - Copyright (C) 2003 aimix. All Rights Reserved -