CGI設置の基本
サーバーとメールフォームは決まりましたか。このページでは、いよいよメールフォームをサーバに設置します。
メールフォーム設置手順
サーバーによる設置の難しさ
設置の難しさはサーバーに依存しているといっても過言ではありません。設置しやすいサーバーを選べば誰でも簡単に設置できますが、サーバーによってはプロでもかなり難しくなります。たとえば、X-severやKagoya、さくらインターネットなどではCGIは簡単に設置できます。サーバーが異なればサーバーの仕様に合わせて設置の仕方を調整しなければならないのです。場合によっては、perlモジュールが無いために動かないということも多々あります。使いやすいサーバーを選ぶことは時間とお金の節約になるということを覚えておきましょう。
いよいよMultiMailFormのアップロード!
いよいよ、サーバーが決まってMultiMailFormのアップロードです。しかし、その前にいくつか準備がありますね。プログラムのダウンロードから設置後の簡単な動作テストまでを解説します。
ダウンロードの前にどんな準備が必要ですか?ダウンロード後に何が必要ですか?サーバーへのアップロードで大切なのは何ですか?基本動作をテストするための最低限の設定は何ですか?重要なデータファイルが分かりますか?では、一緒に考えて行きましょう。
《ダウンロード前に行なうこと》
ダウンロードの前にどんな準備が必要ですか?
ダウンロードの前にまず、必要な道具をそろえましょう。まず、ダウンロードやアップロードに必要なFTPソフトが必要ですね。下記からフリーソフトをダウンロードしてください。使い方を説明したサイトもありますので勉強してください。
ついで、解凍ソフトをダウンロードしましょう。そして、使い方も勉強してください。
次に、テキストエディターをダウンロードしておくと便利です。行番号や全角ブランクが分かると助かります。
また、FireFoxを上手に使うと携帯メールフォームのテストなどに便利です。
このぐらい準備すればまず大丈夫でしょう。
《ダウンロード後に行なうこと》
ダウンロード後に何が必要ですか?
目的のCGIをダウンロードしたら、早速適当なフォルダに解凍してください。それから、アップロードする前に1つだけ確認することがあります。それは、「perlのパス」と呼ばれるものです。これはCGIプログラムの1行目に記入しなくてはなりません。初期値は次のようになっています。
#!/usr/bin/perl
たいていこのパスで問題なく動きますが・・・・、パスが異なるサーバーの場合は大変ですね。プログラムの数は膨大だからです。そんな時は、ファイルから一括置換できるEmEditorなどのテキストエディターを用いると一括で変換できます。
《サーバーへのUPロード》
サーバーへのアップロードで大切なのは何ですか?
アップロードで大切な点はファイルのパーミッションというものです。これはファイルの読み書きを許可するかどうかという設定です。もちろん、全てのファイルとフォルダに設定しなければなりません。1つ1つしていては大変ですね。しかもこれはサーバーによって設定が異なるのでさらに大変です。しかし、FFFTPソフトには便利な機能があってファイルの拡張子によって自動的にパーミッションを設定してくれるのです。ぜひ、それを使いましょう。
FFFTPのオプションの環境設定の転送3であらかじめ以下のように設定しておくと便利です(サーバにより異なるので確認が必要です)
。
suEXEC対応サーバの場合:
*.cgi 700
*.pl 600
*.txt 600
*.exe 700
フォルダ 701 (pl用フォルダは700)
通常のサーバーの基本的なパーミッション:
*.cgi 705
*.pl 604
*.txt 606
*.exe 755
フォルダ 755
動かない(エラーになる)ときは、707⇒777、705⇒755、606⇒666、604⇒644にするとたいてい動きます。それで、その時はアップロードしたものを全て削除して全て最初からアップロードし直したほうが早くて確実です。
もう一つ大切な点があります。サーバーのどのフォルダにUPするかということです。サーバーのルートにUPするか、適当なフォルダ(formなど)にUPするかという設計です。慎重に考えなければなりません。すでに、サイトがあってそれにフォームを付けるのであれば、適当なフォルダにUPした方がファイルの整理がし易いでしょう。新規にサイトを立ち上げるならルートにUPすることも良い方法です。そうすれば、PCと携帯で両方からドメインで直接アクセスすることが出来るようになります。
- 新規にサイトを立ち上げるならルートにUPする
- 既存のサイトにフォームを付けるなら適当なフォルダにUPする
《メールフォームにアクセス》
アップロードしたメールフォームにアクセスしてみてください?
もうすでにドメインを取得して開通しているでしょうから、メールフォームへのアクセスは簡単ですね。
http://(ドメイン)/ 又は
http://(ドメイン)/form/
同じURLで携帯からもアクセスできます。PCから携帯フォームにアクセスする場合はこうなります。
http://(ドメイン)/formk.cgi 又は
http://(ドメイン)/form/formk.cgi
管理画面へのアクセスはこうします。
http://(ドメイン)/admin.html 又は
http://(ドメイン)/form/admin.html
うまくアクセスできましたでしょうか。うまく出来ましたらお気に入りに入れておくと良いでしょう。
index.htmlファイルをUPすると、index.cgiが動作しなくなります。index.cgiはPCと携帯の振り分け用のプログラムで、PCからアクセスするとhome.htmlを表示するようになっています。それで、TOPページはファイル名home.htmlで登録します。
《基本機能の操作テスト》
基本動作をテストするための最低限の設定は何ですか?
最低下記の設定をして下さい。
- 設定管理【1】で、テストモード及び、ロックモードを1にしてください。これが本番モードです。
- sendmailのパスの設定(設定管理【1】の1番目)。
- お店のタイトルも設定しておきましょう。(設定管理【1】)
各種メールアドレスの設定をして下さい。 メールアドレスの設定がエラーの原因になることが多いので注意してください。
- 受信メールアドレス(設定管理【3】& 【22】の設定)
- 会員連絡用メールアドレス(【4】会員制の設定)
- 会員メルマガ用メールアドレス(【19】会員管理&メルマガの設定)
- 発送用メルマガ用メールアドレス(【18】問合せログの管理の設定)
- 決済結果用メールアドレス(【20】イプシロン決済代行のための設定)
また、フルパス(http://~)で設定する必要のあるスクリプトがあります。携帯用の下記のスクリプトはフルパスで設定します。
http://~/formk.cgi (システム設定【21】)
http://~/fentryk.cgi (システム設定【21】)
これらの設定が済んだらお問合せのテストを実際に行なってみてください。エラーが起きた場合はエラーの対処を参考にして下さい。
《メンテナンスと初期化》
重要なデータファイルが分かりますか?
さて、まだメールフォームの細かな設定がありますが、それは置いておいて、ここで、重要なデータファイルについて理解しておきましょう。実に、サイトにとって一番重要なファイルはプログラムではなく、データファイルなのです。プログラムはまたダウンロードすればよいのですが、データファイルはそうは行かないからです。
データファイルに関しましてはメンテナンスのところにまとめてありますので、そこのところを良く理解してください。それが理解できてから、今度はいよいよデザインに挑戦してみましょう。
テキストエディター
プログラムの開発にテキストエディターが欠かせません。テキストエディターにあると便利な機能をリストアップしてみましょう。
- 行番号や全角ブランクが分かる
- 色々な文字コードが扱える
- 表示をperl用にカスタマイズできる
- 検索機能が充実している
- ファイルの比較が出来る
- ファイルから一括置換ができる
- 文法チェッカーが使える
FireFox
FireFoxはネットサーフィンする時に使いやすいというより、他の便利機能が役立つのです。 UserAgentを変える機能があり、携帯フォームやiPhoneのテストに大変便利です。また、クッキーの状態を確認する時も大変役立ちます。そのほかにも便利な機能があり、そのために活用する人が増えているのだと思います。いずれにせよ、IE、FireFox、Safari、Opera、 Chromeでサイトを確認する必要がありますね
パーミッション
パーミッションはサーバー内のファイルの「読み込み」「書き込み」「実行」の権限の設定のことです。この設定はサーバによっても異なりますからかなり厄介です。しかし、一般的な下記のことを覚えておきましょう。
- 読み込み(read) ⇒r
- 書き込み (write) ⇒w
- 実行 (exec) ⇒x
例として、パーミッションが「rw-r--r--」のとき、「自分」⇒r+w = 4+2=6、「グループ」⇒r=4、「他人」⇒r=4で、「644」となります。
500エラーの対処方法
CGIで「500 internal server error」というエラーがでます。この場合、スクリプトの2行目に次の1行を挿入するとエラーメッセージが表示されます。
use CGI::Carp qw(fatalsToBrowser);
すでに記述されている場合には、最初の#をとってください。#はperlでコメント行にするためのものです。
PCの原則:ファイルの概念
設置してもサイトにアクセスするURLが分からなかったり、画像をUPしたり出来ない場合はPCの原則をまず覚えてください。それはファイルの概念です。PCにはデータがファイルの単位でフォルダごとに階層構造で保存されています。そのファイルにアクセスすることで画像が表示されたり、プログラムが実行されたりするのです。画像は画像ファイル、プログラムはプログラムファイル、ホームページはHTMLファイルなのです。
アクセスするパスはWindowsでは、
folder¥folder¥file.html
Linuxサーバでは、
folder/folder/file.html のようになります。
この基本的な理屈を覚えておけばPCが良く解かるようになります。