CGI設置の基本
サーバーとショッピングカートは決まりましたか。このページでは、いよいよショッピングカートをサーバーに設置します。
ショッピングカート設置手順
サーバーによる設置の難しさ
設置の難しさはサーバーに依存しているといっても過言ではありません。設置しやすいサーバーを選べば誰でも簡単に設置できますが、サーバーによってはプロでもかなり難しくなります。たとえば、X-severやKagoya、さくらインターネットなどではCGIは簡単に設置できます。サーバーが異なればサーバーの仕様に合わせて設置の仕方を調整しなければならないのです。場合によっては、perlモジュールが無いために動かないということも多々あります。使いやすいサーバーを選ぶことは時間とお金の節約になるということを覚えておきましょう。
いよいよPCtoMobileのアップロード!
いよいよ、サーバーが決まってPCtoMobileのアップロードです。しかし、その前にいくつか準備がありますね。プログラムのダウンロードから設置後の簡単な動作テストまでを解説します。
ダウンロードの前にどんな準備が必要ですか?ダウンロード後に何が必要ですか?サーバーへのアップロードで大切なのは何ですか?基本動作をテストするための最低限の設定は何ですか?重要なデータファイルが分かりますか?では、一緒に考えて行きましょう。
《ダウンロード前に行なうこと》
ダウンロードの前にどんな準備が必要ですか?
ダウンロードの前にまず、必要な道具をそろえましょう。まず、ダウンロードやアップロードに必要なFTPソフトが必要ですね。下記からフリーソフトをダウンロードしてください。使い方を説明したサイトもありますので勉強してください。
ついで、適当な解凍ソフトをダウンロードしましょう。そして、使い方も勉強してください。
次に、テキストエディターをダウンロードしておくと便利です。行番号や全角ブランクが分かると助かります。
このぐらい準備すればまず大丈夫でしょう。
《ダウンロード後に行なうこと》
ダウンロード後に何が必要ですか?
目的のCGIをダウンロードしたら、早速適当なフォルダに解凍してください。それから、アップロードする前に1つだけ確認することがあります。それは、「perlのパス」と呼ばれるものです。これはCGIプログラムの1行目に記入しなくてはなりません。初期値は次のようになっています。
#!/usr/bin/perl
たいていこのパスで問題なく動きますが・・・・、パスが異なるサーバーの場合は大変ですね。プログラムの数は膨大だからです。そんな時は、ファイルから一括置換できるEmEditorなどのテキストエディターを用いると一括で変換できます。
《サーバーへのUPロード》
サーバーへのアップロードで大切なのは何ですか?
アップロードで大切な点はファイルのパーミッションというものです。これはファイルの読み書きを許可するかどうかという設定です。もちろん、全てのファイルとフォルダに設定しなければなりません。1つ1つしていては大変ですね。しかもこれはサーバーによって設定が異なるのでさらに大変です。しかし、FFFTPソフトには便利な機能があってファイルの拡張子によって自動的にパーミッションを設定してくれるのです。ぜひ、それを使いましょう。
【注】MACの場合に使われるFTPソフトTransmit にも同様の機能があるようです。
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するか、適当なフォルダ(shopなど)にUPするかという設計です。慎重に考えなければなりません。すでに、サイトがあってそれにカートを付けるのであれば、適当なフォルダにUPした方がファイルの整理がし易いでしょう。新規にサイトを立ち上げるならルートにUPすることも良い方法です。PCtoMobileにはトップページを含め10個のページを生成する機能があるからです。PCとスマートフォンで両方からドメインで直接アクセスすることが出来るようになります。
- 既存のサイトにカートを付けるなら適当なフォルダにUPする。
- 新規にサイトを立ち上げるならルートにUPするのもあり。
《ショッピングカートにアクセス》
アップロードしたショッピングカートにアクセスしてみてください?
もうすでにドメインを取得して開通しているでしょうから、ショッピングカートへのアクセスは簡単ですね。
https://(ドメイン)/ 又は
https://(ドメイン)/shop/
まだ商品を登録していないので商品情報がうまく表示されていないと思いますが、それで正常なのです。商品を登録していくときれいに表示されるようになります。
同じURLでスマートフォンからもアクセスできます。PCからスマートフォンカートにアクセスする場合はこうなります。
https://(ドメイン)/k_shop.cgi 又は
https://(ドメイン)/shop/k_shop.cgi
管理画面へのアクセスはこうします。
https://(ドメイン)/admin.html 又は
https://(ドメイン)/shop/admin.html
うまくアクセスできましたでしょうか。うまく出来ましたらお気に入りに入れておくと良いでしょう。
(メニューの「管理者用」の表示はシステム設定【3】で非表示にできます。通常は非表示にして使用してください。)
《基本機能の操作テスト》
基本動作をテストするための最低限の設定は何ですか?
最低下記の設定をして下さい。
- 設定管理【1】で、テストモード及び、ロックモードを1にしてください。これが本番モードです。
- sendmailのパスの設定(設定管理【1】の1番目)。
- お店のタイトルも設定しておきましょう。(設定管理【1】の6番目 & 設定管理【11】と【21】の3番目)
各種メールアドレスの設定をして下さい。 メールアドレスの設定がエラーの原因になることが多いので注意してください。
- 注文受付メールアドレス(設定管理【11】注文メール & 【21】スマートフォン用メールの設定)
- 発送用メールアドレス(【18】販売管理の設定)
- 会員連絡用メールアドレス(【4】会員制&ポイント制の設定)
- 会員メルマガ用メールアドレス(【19】会員管理&メルマガの設定)
- 決済結果用メールアドレス(【25】イプシロン決済代行のための設定)
- アフィリエイト用メールアドレス(【26】アフィリエイト・プログラムのための設定)
- 問い合わせ用メールアドレス(お問合せのシステムセ設定【3】、【22】)
また、フルパス(https://~)で設定する必要のあるスクリプトがあります。スマートフォン用の下記のスクリプトはフルパスで設定します。
https://~/k_shop.cgi (システム設定【20】)
https://~/k_entry.cgi (システム設定【20】)
他にも決済やアフィリエイトでフルパス設定が必要なスクリプトがありますが、それはまた後で扱いましょう。
これらの設定が済んだら商品登録、会員登録、商品の購入のテストを順に行なってみてください。エラーが起きた場合はエラーの対処を参考にして下さい。
《メンテナンスと初期化》
重要なデータファイルが分かりますか?
さて、まだお店用の細かな設定がありますが、それは置いておいて、ここで、重要なデータファイルについて理解しておきましょう。実に、お店にとって一番重要なファイルはプログラムではなく、データファイルなのです。プログラムはまたダウンロードすればよいのですが、データファイルはそうは行かないからです。
データファイルに関しましてはメンテナンスのところにまとめてありますので、そこのところを良く理解してください。それが理解できてから、今度はいよいよデザインに挑戦してみましょう。
テキストエディター
プログラムの開発にテキストエディターが欠かせません。テキストエディターにあると便利な機能をリストアップしてみましょう。
- 行番号や全角ブランクが分かる
- 色々な文字コードが扱える
- 表示をperl用にカスタマイズできる
- 検索機能が充実している
- ファイルの比較が出来る
- ファイルから一括置換ができる
- 文法チェッカーが使える
パーミッション
パーミッションはサーバー内のファイルの「読み込み」「書き込み」「実行」の権限の設定のことです。この設定は、サーバによっても異なりますからかなり厄介です。(suEXEC対応サーバの場合など)
しかし、一般的な下記のことを覚えておきましょう。
- 読み込み(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が良く解かるようになります。
フルパスと相対パス
インターネット上で指定するアドレスには以下の3種類のパスがあります。
フルパス(https://~)
相対パス(./~や../~)
絶対パス(サーバ内)(/~)
サイト内では現在のフォルダを基準にして、そこから相対的に位置を指定できます。同じフォルダ内であれば「./~」、一つ上のフォルダであれば「../~」、二つ上のフォルダであれば「../../~」、と表します。
サーバー内の絶対パスに関しましてはサーバーごとに異なりますから確かめる必要があります。