QUICK CARTの設置

WordPressで QUICK CARTを利用する下準備としてサーバにインストールしてみました。普通にやると特に問題ないはずなんですが、つまらないことで引っかかってしまったので、メモしておきます。

  1. ダウンロード
    QUICK CART – QUICK SOLUTION からダウンロードします。以前は無料版(広告有り)があったようですが、現在は有料版(21,000円)のみです。ただ、動作確認のため、30日間は無償で評価できますので問題はないです。
     
  2. サーバへ設置
    ダウンロードした dl3.32.zipを解凍してサーバの適当なディレクトリへコピー(アップロード)します。適当なというところが曲者で、WordPressで使うのであれば、自分のテーマの中に入れるのが順当でしょうか。(/home/www/wordpress-mu/wp-content/themes/hogehoge/ あたり)
    ここら辺は実際に WordPressに入れてみて微調整してみることにして、とりあえず、サーバのテスト・フォルダに入れてみました。(/home/www/mamの直下に cgi-binフォルダと shopフォルダをコピー)
     
  3. Apacheの設定
    添付のドキュメント(readme.pdf)には、前提条件(perlと sendmailが動くこと)とパーミッションについて書いてありますが、Apacheの設定までは書いてありません。
    普通のCGI動作可能なレンタルサーバなら、その辺の設定は済んでいるはずなので、/cgi-bin/フォルダに中身のファイルをそこに移せば OKということなんでしょうね。

    /etc/apache2/sites-available/my_site
    
    
      ServerName 192.168.1.251
      DocumentRoot /home/www/mam/
    
        Options +ExecCGI
        AddHandler cgi-script .cgi .pl
        Order allow,deny
        Allow from all
    
    
    

    テスト用なので雑ですが、http://192.168.1.251/cgi-bin/quickcart.cgi でアクセスできるようにするための設定です。ScriptAlias で設定してもいいんですが、あまり範囲を広げてもよろしくないので、こうしてみました。(最初、Allow from all を忘れて Permission denied になったのは内緒です。もっというと、CGIを一切許可しない設定にしていたのをすっかり忘れていたことも内緒です)
     

  4. いくつか気がついたところ
    • 複数ブラウザ(あるいは複数タブ?)で QUICK CARTを開いていると挙動がおかしいことがありました。
      IE7で「カートに追加」ボタンを押しているのに、Firefoxのカートに追加されたりとか。(access.logに firefoxのリクエストが上がってきたので気がついた)
      QUICK CARTを使っているサイトの注意書きに「複数ブラウザで開いているとカートに追加できない」というようなことが書いてあるのはこういうことなんでしょうか。
    • 同じく、複数ブラウザが原因だと思われますが、初期化がうまくいかず、カートに追加できないケースがあるようです。強制リロードするとうまくいったりするので、キャッシュ絡みでしょうか。(深くは追求せず)
  5. ライセンス関係
    QUICK CARTは、quickcart.cgiごとに1ライセンス必要ということになっています。
    「http://www.example.com/cgi-bin/quickcart.cgi」と「http://sub.example.com/cgi-bin/quickcart.cgi」は別々という考え方です。
    ということは、「http://shopA.example・・・」と「http://shopB.example・・・」は別だけど、「http://example.com/shopA」と「http://example.com/shopB」が同じ「http://example.com/cgi-bin/quickcart.cgi」を使うのだとしたら、1つでいいということになりますね。(メールの送り先や送料条件等の設定が shopAと shopBでまったく同じという前提ですので、ショップ内ショップのような形態以外、あまり現実的だとは言えませんが)
    設定(‘./quickcart-config.cgi’)を quickcart.cgiの引数で与えるようにすれば、別々の設定でいけそうですが「CGIの改変は一切禁止」というライセンス条件なので、もちろんやりませんよ。(21,000円の初期投資が高いとも思いませんし)
     
  6. 参考