Software error
「ms_light」をインストール中です。
サーバーはBizホスティング メール&ウェブ エコノミー
http://www.ntt.com/bizit/hosting/economy/
install.cgi二アクセスで、
sendmailのオープンに成功しました。
データベースの接続に成功しました。
設定ファイルを更新しました。
バックアップ用ディレクトリを作成しました。
一時ファイル用ディレクトリを作成しました。
オプションスクリプト用ディレクトリを作成しました。
アップロード用ディレクトリを作成しました。
Content-type: text/html
Software error:
Undefined subroutine &show::error called at ./lib/db.pl line 16.
ここまでで先に進めません。
どうかよろしくお願いします。
Bizホスティング メール&ウェブ エコノミーでは、Perlのバージョンがデフォルトで5.6.1のようですが、5.8.4も利用できるようです。
http://www.ntt.com/bizit/hosting/economy/function/index.html#soft
試しに、install.cgiの1行目のパスを、
/usr/local/bin/perl5.8.4
として再度初期設定を行ってみていただけますでしょうか?
コメントありがとうございます。
これはすでに行いました。
ですが結果は変わりません。
同じ結果で先に進めません。
hideyuki さま
そこでそのエラーが出るということは、入力されたパラメタで一度データベース接続に成功しているのにもかかわらず、コンフィグファイルにそのパラメタを書き込んだ後、それを再度読み出した後にデータベース接続に失敗しているようです。
そこでひとつご確認いただきたいのですが、サーバ側の「ms_light」ディレクトリ直下の「config.cgi」を開いて、各変数の値がセットされているかご確認いただけますでしょうか?
もし、
our $crypt_key = “”;
のように、値がセットされてなければ、パラメタの書き込みが上手く行っていないことが考えられます。
コメントありがとうございます。
サーバーの「config.cgi」をダウンロードして開いてみました。
our $crypt_key = “secret_key”;
となっております。
つまり変数の値はセットされているようですね。
ホスト名やユーザー名、パスワードも設定した値になっています。
一体何が原因なんでしょう。
hideyuki 様
おそらく現段階だと、「再インストール」という処理になっていると思われますが、サーバ上の「def_config.cgi」を削除することによって、一番最初のインストールを行うことができます。
お手数ですが、これで一度やってみていただいてもよろしいでしょうか?
「def_config.cgi」を削除して「install.cgi」にアクセスし、最初と同じインストールを行いましたが、
sendmailのオープンに成功しました。
データベースの接続に成功しました。
設定ファイルを更新しました。
バックアップ用ディレクトリを作成しました。
一時ファイル用ディレクトリを作成しました。
オプションスクリプト用ディレクトリを作成しました。
アップロード用ディレクトリを作成しました。
Content-type: text/html
Software error:
Undefined subroutine &show::error called at ./lib/db.pl line 16.
これは最初の状態と同じですね。
FFFTPで確認してみたら、他のcgiファイルの属性は755になっているのですが、「config.cgi」の属性だけが644になっています。これは関係あるでしょうか。
hideyuki さま
基本的にconfig.cgiはインストール後は読み込み専用となりますので644で構いません。
ただ、サーバによってはSuExec機能などの関係で、拡張子が「.cgi」のファイルや、パーミッションが644だとWEBサーバから読み込みできなかったりする場合も、なくはありません。
ただ、エラーの内容から行くと、他のライブラリファイルは正常に読み込まれているようですので、下記をお試しいただけますでしょうか?
・config.cgiを、「ms_light」内の「lib」ディレクトリに入っている、各「.pl」ファイルのパーミッションと同じにする。
・上記でもダメな場合は、config.cgiのパーミッションを755や705、700などにしてみる。
以上よろしくお願いいたします。
「lib」ディレクトリに入っている、各「.pl」ファイルのパーミッションは644になっています。
config.cgiのパーミッションを755や705、700にして試してみましたが、結果は全く同じですね。
やはり以下のメッセージが出ます。
ちなみに「def_config.cgi」を削除する方法でもやってみましたが、結果は変わりません。
Software error:
Undefined subroutine &show::error called at ./lib/db.pl line 16.
hideyuki さま
先ほど気付いたのですが、レンタルサーバのFAQに下記のような説明があります。
—————————————-
お客さまがご用意された.pl、.cgi、.cfgなどのCGIスクリプトファイルは”cgi-bin”ディレクトリに設置してください。また、この cgi-binディレクトリにはスクリプトファイル以外のファイル(htmlファイルなど)は設置しないでください。
cgi-binディレクトリにアップロードしたファイルには、FTPソフトまたはコントロールパネルからパーミッションの設定をしてください。
—————————————-
http://www.ntt.com/bizit/hosting/economy/faq/function04.html#Q403
大変申し訳ありませんが、このような環境のサービスには対応しておりません。
MilkyStepは、cgi-binディレクトリ以外でもCGIが動作するレンタルサーバ、またはcgi-binディレクトリ内でもcgiファイル以外のファイルも機能するレンタルサーバをご利用いただきますようお願いいたします。
もう少し早く気付くべきところ、お時間を取らせてしまい申し訳ございません。
そうですか。
Bizホスティング メール&ウェブ エコノミーではMilkyStepは利用できないという事ですね。
残念ですが、仕方がありませんね。
お手数をおかけしました。