ショッピングカートのCGI設定できず…初心者が頑張って作成中

このQ&Aのポイント
  • biglobeのサーバーを借りてネットショップを開くためにルミーズカートをダウンロードしたが、設定の仕方が分からず、ストアの登録ができない
  • データベースファイル用ディレクトリの指定でdbフォルダが作成できず、どうすれば作れるのか分からない
  • アクセス制御ディレクトリprivateの中にdbフォルダを作成したが、相対パスの指定に迷っている
回答を見る
  • ベストアンサー

ショッピングカートのCGIを設定できません。

全くの初心者なのですが、biglobeのサーバーを借りてネットショップを開きたいと思い、ルミーズカートをダウンロードしたのですが、設定の仕方がよく分からず、キブアップ寸前です…(T_T) マニュアルを見て、分からない言葉などは検索して何とか作ってアップロードまでし、設定画面は表示されたのですが、ストアの登録など出来ません。 Q&Aも見てみたのですが、データーベースの設定が悪いのか何が悪いのか全く分かりません。 データベースファイル用ディレクトリ変数($dbhome)の指定で、「「db」ディレクトリは、自動では作成されません。FTPクライアントソフト等を使用して、dbフォルダを作成してください。」とあったので、ffftpをダウンロードし各種設定をして、操作画面まで出たのですが、どうすればdbフォルダが作れるのかが分かりません…。 public_html の外に作るらしいので、「フォルダ作成」を選んで「db」と入れても何も作成されません。 public_htmlの中になら作れるのですが…。 で、外に作れなかったのでアクセス制御ディレクトリ「private」の中に「db」を作ったのですが、その場合の「$server」から見た相対パスは $dbhome= "../../private/db"; で、よろしいのでしょうか?     ↓ +-- public_html | +--private(ディレクトリ:755) | | | +--db(ディレクトリ:755)←ここにdb作りました。 | +-- html (ディレクトリ:755) | | | +-- .htaccess | +-- テンプレートファイル(ファイル:644) | +-- images(ディレクトリ:755) | | | +-- イメージファイル(ファイル:644) | +-- lib(ディレクトリ:755) | | | +-- cgi-lib.pl (644) | +-- Template.pm (644) | +-- Digest.pl (644) | +-- general.pl (644) | +-- g_images(ディレクトリ:755) | +-- addgoods.cgi (755) +-- auth.pl (644) +-- basicUtil.pl (644) +-- cart.pl (644) +-- dataprocesing.pl (644) +-- download.cgi (755) * +-- editgoods.cgi (755) +-- initdata.cgi (755) +-- jcode.pl (644) +-- main.cgi (755) ←ココが「$server」らしいです +-- movie.cgi (755) +-- remise.cgi (755) +-- result.cgi (755) +-- sql-engine.pl (644) +-- store.pl (644) +-- color.htm(644) それなりに一生懸命調べたやってみたのですがまるっきり、とんちんかんな事をしているかもしれません。 頑張って作りたいので、どなたか分かる方アドバイスをお願いします。 ルミーズカートマニュアル http://remcart.remise.jp/v2/faq/show/131

noname#165536
noname#165536
  • CGI
  • 回答数1
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

public_html の外はあなたには、ファイルやディレクトリを作る権限が無いのではないか思います。 これはどうしようもないことなので仕方ないですね。 $dbhome= "../../private/db"; ですけれども、main.cgi と同じところに private って言うディレクトリがあるんですよね? そうだとしたら $dbhome= "./private/db"; になります。".." (ドットが2つ)というのは親ディレクトリ、"." (ドットが1つ)はカレント(自分自身)のディレクトリです。main.cgiからみて自分と同じ場所なら、ドット1つの "./private/db" と言うようになります。 あと、private/db のディレクトリにも忘れずに権限を設定してくださいね。 動かないときは後は権限の設定があっているかどうかです。マニュアル通りに一致していても動かないときは、権限設定を変えてみてください。この 755 とかの数字が与える権限をさしています。 この 755 は8進数で表されていて、さらにこれをビット(2進数)に分解すると 755 => 111 101 101 になり、2進数の1のとき許可、0のとき禁止という意味です。 1つの要素は左から読み込み許可(r)、書き込み許可(w)、実行許可(x)となっているので  7 => 111 => r=1, w=1, x=1 つまり読み込み・書き込み・実行の全てを許可、と言う意味です。 755 のそれぞれについては、一番右端の数字が自分自身(あなた)、 真ん中の数字はグループ(Biglobe内の全てのユーザー)、 右端は全てのユーザー(インターネットでアクセスしてきた全ての人)に与える権利です。 つまり755 は左から順に、 7 => 111 あなた自身は読んだり書いたり実行もできる、 5 => 101 ほかのBIGLOBEユーザーは読んだり実行したりはできるけど書き込みはできない 5 => 101 インターネットでアクセスしてきた全ての人にもBIGLOBEユーザーと同じ権利を与える という設定なのです。あと、実行の権利と言うのは、Windows ではexeファイルやbatファイルが実行できると決まっていますが Webサーバーは Linux や Unix というOSで動いていて、実行できるかどうかを拡張子(.exeとか.batとか.txt等)で識別するという仕組みがないので、この数字で実行できるかどうかを指定するのです。 これが理解できると、CGI設置はそれほど難しくありません。 ディレクトリにファイルを作れるようにするにはディレクトリの書き込み権利が必要なので、必然的に755や644になります。CGIファイルは実行するCGIの本体なので755です。HTMLファイルみたいに読むだけのものは、644(110 100 100、実行権を与えない)、plファイルはCGIの一部ですが直接実行しないので644です。 あともう一点は、CGIファイルの先頭1行目に#!/usr/bin/perl みたいのが書かれていると思います。 これはCGIファイルをどのプログラムが実行するのかという指定なので、BIGLOBEのサーバー設定にあうように変更してください。先頭の#や!の間とか!以降に空白を入れないでくださいね。 これを忘れるといくら権限とか配置をうまくやっても実行できないですから注意しましょう。

noname#165536
質問者

お礼

アドバイスいただいた内容に添ってカートが動くよう設定してみます。 私はCGIの基礎をもっと勉強しないとダメですよね…。 今回はとても親切で分かりやすい回答をいただき、ありがとうございました。 おかげ様で、頑張れそうです。

関連するQ&A

  • CGIに関して

    CGIに関してなのですが、CGI実行ディレクトリ名binーcgiにすると言う点で困っています。今、掲示板をHPにアップしようとしているのですが、掲示板設置のマニュアルでは以下の通りとなっています。とりあえず、以下の作成が全然全く分からなくって困っています。分かる方がおられましたら是非ご回答下さいますようお願いいたします。 ホームディレクトリ(ここではpublic_htmlディレクトリとします) の下に、cgi-binディレクトリ(フォルダ)を作成し、必要なファイルををFTP 転送します。全体のディレクトリ構成とファイル位置は以下のとおりです。 public_html / index.html (トップページ) | +-- cgi-bin / ????.cgi ????.log jcode.pl 背景画像など ※ちなみに、ディレクトリ実行はbin-cgiとあります。

  • 'cgi-lib.pl'などのファイルの位置は?

    Perlの基本的な質問ですが、cgi-lib.plやjcode.plは どのディレクトリに入れれば自然でしょうか? 私はLinuxとWindowsの両方にPerl5.6を入れておりまして、今までは相対パスによって、スクリプトの近くに置いていましたが、ディレクトリ(フォルダ)が変わるごとに設定しなおしで面倒になってきました。 WEBでもレンタルサーバーなど利用したことは無いんですが、このような基本ライブラリは、require 'cgi-lib.pl';で呼び出して?いると思いますが、 しかるべき位置にこのファイルが無いとだめだと思います。ご教授ください。

    • ベストアンサー
    • Perl
  • CGIでショッピングカートの設置方法

    こんにちは 今CGIを使ってショッピングカートの 設置をしているのですが なぜか表示されないのです。 最初このやりかたで表示されたので 間違っているのかわからなくなってしまって・・ ディレクトリの入れ方合ってると思うのですが・・ public_html (ホームディレクトリ) # | # +-- cart / cart.cgi # | cartini.cgi   # | admin.cgi   # | data1.cgi # | data2.cgi   # | raw.txt   # | jcode.pl   # | # +-- lock   / こう書いてありました。 パールの指定も合っていると思います。 (一度表示されたので) 最初はモードチェックも出来たのに できません。 どうなっているのか困っています。 どうぞよろしくお願いします。

  • apacheのCGI設定について教えてください。

    CGIの勉強のために、古いパソコンに fedora core 4 をインストールしてapache でローカルのテスト用サーバーにしようとしています。 /var/www/html に設置した簡単な perl CGI は動くのですが、同じものをユーザーのホームディレクトリに設置すると、internal server error になってしまいます。 ***** 以下 httpd.confの抜粋です。***** #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks SetHandler cgi-script </Directory> AddHandler cgi-script .cgi .pl ************************************** サーバーのエラーログを見ると Premature end of script headers: test.cgi となっています。htmlをprintしているだけのスクリプトで、/var/www/html では動くので、apache の設定の問題かと思っています。 ちょっとカテゴリーが違うかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • cgiなんですが....

    http://www.kent-web.com/data/mart.html cgiの買い物かごシステムなのですが、下記のディレクトリ構成例のpublic_htmlってなんでしょうか?自分のレンタルサーバーではトップページ を表示するにはftpソフトでつなぐとhttpdocsってホルダにindex.htmlをいれますが、そこにpublic_html って書いていれれば、いいのですかね?cgiつくりにダウンロードしたものはmart.cgi,mart_order.cgi ,mart_admin.cgi mart_init.cgi ,mart.dat ,mart_raw.txt mart.html なんですが、public_html っていうのがみあたりません。 public_html のフォルダの中にホームディレクトリ?がある構成に見えるし、なんでしょう?mart / mart.cgi [755] mart_order.cgi [755] mart_admin.cgi [755]mart_init.cgi [644] jcode.pl [644]mart.dat [666] mart_raw.txt [644]cgiのフォルダにpalのパスかえたり、してパーミッション設定してあげれば、良いのでしょうか?絵では下のような説明になっています。 【ディレクトリ構成例】 public_html / (ホームディレクトリ) | +-- mart / mart.cgi [755] mart_order.cgi [755] mart_admin.cgi [755] mart_init.cgi [644] jcode.pl [644] mart.dat [666] mart_raw.txt [644]

    • ベストアンサー
    • CGI
  • レンタルサーバーlolipop cgiのパーミッションについて

    lolipopというレンタルサーバーを使っているのですが、パーミッションの設定が、cgiの取説と違っていて分かりません、、。 取説のパーミッションだとエラーが起きます。 ちなみに、lolipopが推奨するパーミッションは HTML・画像ファイル 604 (rw----r--) CGIの実行ファイル 700 (rwx------) CGIのデータファイル 600 (rw-------) .htaccessファイル 604 (rw----r--) ディレクトリ 705 (rwx---r-x) なのですが、 .pl などのファイルは何なのか さっぱりです。 私は、http://happy.honesto.net/cgi/ のサイトの FormMailerDX を作りたいのですが、 パーミッションの設定が分かりません。 お分かりになる方 教えてください。 FormMailerDXの取説は以下の通りです。 /fmdx/(755) | +--form.cgi(755)実行ファイル | +--sample.htm(644)フォームHTML | +--template.txt(666)メールテンプレートファイル | +--template2.txt(666)確認画面テンプレートファイル | +--jcode.pl(644)日本語コード変換ライブラリ | +--mimew.pl(644)MIMEエンコードライブラリ | +--/tsv/(777)TSVファイル作成ディレクトリ(空のディレクトリ) | +--/tmp/(777)添付ファイル一時保存ディレクトリ(空のディレクトリ) よろしくお願いします。

    • ベストアンサー
    • CGI
  • ActivePerlでのCGI設定

    Active Perl と AnHttpd を使ってCGIを作っているのですが、別ディレクトリにあるCGIを呼び出せなくて困っています。 F:\Dataドライブ配下に 以下のようなディレクトリ・ファイル構成で /public_html  index.html  /html   /AAA    AAA.html  /cgi-bin   aaa.cgi ルートディレクトリ/public_htmlの中に htmlファイル index.htmlと ディレクトリ /html /cgi-bin があり、 /html配下/AAAディレクトリにあるAAA.htmlから aaa.cgiを呼び出したいのですが、 「ページが見つかりません」というメッセージがでて、aaa.cgiを呼び出すことができません。 AAA.htmlには <form name="form" method="post" action='../../cgi-bin/aaa.cgi'> ・・・・・・ </form> というように設定しているのですがaaa.cgiがよびだせません。 WinNT環境でActivePerlとAnHttpdを使ったCGIの設定をご存知の方がいらっしゃいましたら、すみませんが教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • CGIが・・・いったい何が問題でしょうか?

    皆様よろしくお願いいたします。 以下の構成のディレクトリをvar/www/htmlに置き localhost/auct/index.cgiとしてindex.cgiファイルにアクセスしようといたしたのですが、500internal server errorとなり(エラーログ; premature end of script headers; index.cgi)、アクセスできません。 index.cgiにアクセスするとstart.shtmlが開く設定になっています。 なお、簡単なCGIファイルを作りvar/www/htmlで動作させたところ正常に動作いたしました。 自分でもかなり調べたり、聞いたりしたのですが解決に至りませんのでどうかご助力お願いいたします。 ....├ [auct] ...........├ [ pl ] ...................├ [ lib ] ...................├ ap.cgi ...................├ category.cgi ...................├ cgi-lib.pl ...................├ comu.cgi ...................├ config.cgi ...................├ image.pl ...................├ index.html ...................├ jcode.pl ...................├ mail.cgi ...................├ mng.cgi ...................├ show.cgi ...................├ usr.cgi ...................└ wwwis.pl ...........├ auction.cgi ...........├ count_down.cgi ...........├ cron.cgi ...........├ index.cgi ...........├ master.cgi ...........├ search.cgi ...........├ start.shtml ...........└ temp.cgi 全てWindowsからasciiで転送してperlのパスも確認済み。 パーミッションはすべて755。 Windowsのapacheでは正常に動作。 httpd.confの設定; <directory "/var/www/html">のoptionsにExecCGIを追加。#addhandler cgi-script .cgi のコメント化。そのほかはデフォルト。

    • 締切済み
    • CGI
  • cgi-binに*.cgiを置く理由

    cgiファイルの置き場所を特別なフォルダにするのは、そのフォルダに対してパーミッションや.htaccessの設定をpublic_htmlよりもより安全な設定にするためだと思うのですが、具体的にはpublic_htmlにcgiを置かせた場合、管理者はユーザのどのような攻撃を考えればよいですか?

  • CGIの引越しが上手くいきません

    さくらレンタルサーバ・ライトの古いホームページから 同じサーバの新しいホームページに メールフォームを移動させました。 ページは表示されるのですが、メールの送受信が出来ない状態です。 同じレンタルサーバなので、変えたのはform.cgiファイルの中の ホームページアドレスのみです。 以下がファイルの一覧です。 cgi-binフォルダの中 (1)cgi-lib (PLファイル) (2)form (CGIファイル) (3)jcode (PLファイル) それ以外のファイル mail.html (送信後に表示するページ) top.html (メールフォームのページ) style.css ホームページアドレス以外に変える部分があるのだと思いますが、 それがどこなのか見当がつきません。 どなたかお分かりになる方がおられましたらご指摘をお願いします。

専門家に質問してみよう