いつもお世話になっておりますm(_ _)m
いろいろと設定について教えて頂いたおかげさで、なんとか公開一歩手前?ぐらいまできました(^^)
ありがとうございます。
ただここでちょっと問題が・・・・。
諸事情によりsakuraのサーバーから、お名前.comのサーバーへ変更しないといけなくなったのですが、アップロードは、出来たのですが最初の初期設定画面setup/start.cgiにアクセス出来ず、Internal Server Errorと表示されます。
お名前.comの共用サーバーSDというのを使っているのですが、公開ディレクトリの上のフォルダにcgi-dataフォルダがおけないため、For_Lolipopフォルダの内容をアップして、設定しました。env.plも改行コードLF+UTF-8で保存しています。
公開ディレクトリ
|-cgidata
|-cgi
|-error
|-icon
|-image
|-lib
|-news
|-picture
|-.htaccess
|-index.shtml
|-その他のファイルいろいろ
上記のような階層でインストールしています。
あとインストールで注意するポイントは、どんなところでしょうか?
すいませんが、よろしくお願いします。
CMONOS.JP をいろいろ試していただきありがとうございます。
サーバ移行についてはこちらのマニュアルもご参照ください。
ドメイン名などが変わる場合、一度「記事およびデータを含む」サイトテンプレートとして保存し、引っ越し先で「サイトテンプレート適用」を実行した方が、不具合が発生しにくいです。
また、env.pl については、LF/EUCで保存してください。
これで旧サーバの状態を復元できます。以上参考になりましたら幸いです。
env.plは、LF/EUC-JPで保存しました。
マニュアルも一通りみたのですが、うまくいきませんでした。
詳しくサーバー環境をチェックしてみると、JCodeは、要追加、SSI機能なし。あとは、OKでした。
env.plで、SSI=0にしました。
CGIのパーミッションが、お名前.comのFAQを見ると700じゃないと動かないようだったので、変更しましたが変化なしでした。
全然関係ないかもしれませんが、.htaccessファイルを入れてると、/cgi/setup/start.cgiでInternal Server Errorが表示されて、.htaccessファイル入れないとFile Not Foundが表示されました。
さくらのサーバーだと、すんなりインストール出来たのですが、どうもうまくいきませんf(^^;
すいません、こういう質問は有料になるのであれば自分でなんとかしてみますので。
SSI が動作しないのは少々きびしいですね。。。SSI が動作しない場合、JavaScript でインデックスなどを埋め込みます。
ただ SSI が動作しないことが、/cgi/setup/start.cgi がエラーを返す理由にはならないと思います。
念のため、/cgi/setup/start.cgi のパーミッションが動作可能なものになっているかどうか確認してください。
/cgi/servercheck.cgi は動作しますでしょうか。もし動作するのでしたら、ライブラリの位置を見失っているものと思われます。もう一度位置関係を確認してください。
また、KCatch.pm というデバッグスクリプトを利用して、エラーログを表示できるかどうかお試し下さい。
英語で表示されるエラー情報をこちらにコピーしていただけると問題解決のヒントになります。
念のため、/cgi/setup/start.cgi のパーミッションが動作可能なものになっているかどうか確認してください。
レンタルサーバーのFAQでは、以下のパーミッションにして下さいとなっていました。
ディレクトリ: 755
.cgi .pl .php などの CGI 実行ファイル: 700 ( .phpは644でも可能です )
.cgi .pl などの直接実行されないライブラリファイル: 600
.txt .dat .log などのファイル: 600
/cgi/servercheck.cgi は動作しますでしょうか。もし動作するのでしたら、ライブラリの位置を見失っているものと思われます。もう一度位置関係を確認してください。
.htaccessファイルをはずすと、正常に表示されます。
パーミッションは、700にしてます。
一応、URLです。
http://raicou.info/cgi/servercheck.cgi
また、KCatch.pm というデバッグスクリプトを利用して、エラーログを表示できるかどうかお試し下さい。
Internal Server Errorと表示されて、エラー情報は表示されませんでした。
.htaccessファイルをはずすと、File Not Foundと表示されます。
すいません、きっとなにかちょっとしたところが間違っているような気がするのですが・・・。
お名前.COM では .htaccess にいろいろと制限があるようです。CMONOS.JP 同梱の .htaccess から下記を削除してください。
Internal Server Error は、.htaccess のエラーに起因するものと思います。
.htaccess を書き換えてもエラーが出る場合は、お名前.COM では DB_File を使えない可能性がありますので、env.pl の 56行目を次のように書き換えてください。
$dbm_file = 'NDBM_File';
ただ、NDBM では、ページテンプレート設定などが約4KBを超えると、設定の復元に失敗します。その場合、ページテンプレートの文字数を減らすなどして対処する他ありません。
以上お試しください。
Internal Server Error は、.htaccess のエラーに起因するものと思います。
Internal Server Errorじゃなく、File Not Foundになりました。
データベースの種類は、NDBM_Fileにしてみましたが、症状は同じです。
ちょっと試してみたのですが、servercheck.cgiは、動いているので、公開ディレクトリに適当なフォルダを作り、
KCatch.pm、start.cgiを入れてアクセスしてみたところ、下記のようにエラー情報が表示されました。
とりあえず、KCatch.pmは正常に動作し、エラー情報を吐き出すことは確認できました。本来のディレクトリじゃないので意味ないと思いますが。
Catch: Wed Nov 10 20:09:28 2010
[start.cgi:22:die] Can't locate CMONOS/CGI_Lib/Common.pm in @INC (@INC contains: ../../cgi-data/lib /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at start.cgi line 22.
BEGIN failed--compilation aborted at start.cgi line 22.
start.cgi with Perl 5.008004 for solaris
setupと同じディレクトリに、適当なフォルダを作り、同じようにアクセスすると、File Not Foundになりました(´・д・`)
servercheck.cgiと同じディレクトリに、フォルダを作って、その中に入れたcgiは、認識しないということでしょうか?
ためしに、文字を書いたhtmlファイルをsetupフォルダに入れて、アクセスすると正常に表示されました。
このレンタルサーバーの不具合でしょうか?
あと、/cgi/setup/index.htmlにアクセスすると、サーバーエラーになりました(^^;
こういう場合は、レンタルサーバー側の問題でしょうか?
サーバーは、初期設定のまま特になにも弄っていないのですが・・・・。
KCatch.pm を使うと、エラーログを吐き出してくれますので、CGI にエラーの原因がある場合は、問題の解決に役立ちます。
今回は CGI のエラーが原因ではないようです。(引用していただいたエラーには CMONOS.JP のライブラリがみつからない旨書かれています。)
ところで、このサイトで配布している CMONOS.JP ファイルにはあらかじめパーミッションが設定されています。フォルダは0705となっています。
FTPソフトによっては、このパーミッションを保ったままアップロードします。あるいは、FTPソフトの初期設定でフォルダの初期パーミッションが設定されている場合があります。
/cgi/setup フォルダのパーミッションを確認してみてください。これが0755でなければ動かないのかもしれません。
env.pl のパーミッション設定に間違いがなければ、setup フォルダ以外のファイルおよびフォルダについてはインストーラーがパーミッションを設定します。
以上お試しいただければと思います。
〉env.pl のパーミッション設定に間違いがなければ、setup フォルダ以外のファイルおよびフォルダについてはインストーラーがパーミッションを設定します。
FTPアップロードソフトに、FFFTPを使用しているのでアップロードする時に、初期設定として*.cgi/*.plを700、フォルダ755にして、アップロードしました。
レンタルサーバーのFAQで、フォルダは755になっていたので。
env.plのパーミッション設定は、次のとおりに変更してあります。
# パーミッション
$file_mode = 0644;# ファイルのパーミッション
$dir_mode = 0755;# ディレクトリのパーミッション
$cgi_file_mode = 0700;# CGI ファイルのパーミッション
申し訳ありませんが、原因がわかりません。。。
とりあえず .htaccess を削除してください。CMONOS.JP は .htaccess の設定がなくても動きます。
(付属の .htaccess にはアクセスしてほしくないファイルへのアクセスを禁止する設定が書かれていますので、動作するようならできるだけ有効にしてください。)
/cgi-data/preferences/setup に拡張子が .bak 以外のファイルがないでしょうか。旧サーバの状態をそのままアップロードした場合はここにDBMファイルがあります。
設定やデータを納めた旧サーバのDBMファイルがあると、新サーバと旧サーバでDBM形式に互換性がない場合、エラーが発生します。
もし旧サーバのDBMデータが残っている場合は、/cgi-data/preferences フォルダをいったん削除し、ダウンロード版の CMONOS.JP に含まれる ~/cgi-data/preferences フォルダに差し替えてください。
ただ、この場合のエラーは KCatch.pm で捕捉できるはずですので、CGI にたどり着く前のところで何か不具合があるような気がします。。。
また何かお気づきの点がありましたらぜひご指摘ください。問題解決のヒントとなるかもしれません。
お手数をおかけして、申し訳ありません。
〉もし旧サーバのDBMデータが残っている場合は、/cgi-data/preferences フォルダをいったん削除し、ダウンロード版の CMONOS.JP に含まれる ~/cgi-data/preferences フォルダに差し替えてください。
*.bakファイル以外は、ありませんでしたが差し替えてみました。症状は変わりませんでした。
もう少し、こちらで調べてみます。
すいません。
あとすいません、もう一つだけ。
今まで動いていたのですが、フォームメールが送信できなくなりました。
管理人アドレスが指定されていませんと表示されます。
もちろん、管理人アドレスは設定済みなのですが。
一応、CMONOS.JPをダウンロードして、cgi-data\lib\CMONOSフォルダを上書きしたのですが、変化なしです。
もう一度、インストールしなおさないとだめでしょうか?
なかなかうまくいかないものですね。。。
フォームメールが送れない件ですが、このエラーは「セットアップアシスタント」の「管理情報変更」で設定する「管理人アドレス」がみつからないことを意味しています。
通常この「管理人アドレス」を削除することはできませんが、設定が消えていないかどうかご確認ください。
フォームメール直りました。
ありがとうございますm(_ _)m
お名前.comの方にちょっと、CGIの動作について聞いてみます。
たぶん、CGIに関する問い合わせは答えてくれそうにないと思いますがf(^^;
なんか、フォルダの中にもう一つフォルダ作ってその中に、入れたCGIが動作しないのがおかしいんですよねぇ。
その一つ上の階層に作ったフォルダとかなら、正常に動作するので。
ではでは。
ご報告ありがとうございます。また何かわかりましたらぜひお知らせください。お待ちしておりますm(_ _)m。
CMONOS.JP がなんとかうまく動いて、KAI さんのお役に立てますよう願っております。
ちょっと気づいた点があったので、ご報告します。
/usr/local/bin/perl版のCMONOS.JPをダウンロードしたのですが、For_Lolipopフォルダ内のCGIファイルのCGIパスが、/usr/bin/perlになっていました。
CGIパスを直しても、start.cgiにアクセスすると、相変わらずFile Not Foundと表示されますけど(^^;
ご指摘ありがとうございます。確かにパスが間違っておりました(^^;。早速正しいものに差し替えさせていただきました。たいへん助かりました。重ねて感謝いたしますm(_ _)m。
すいません、全然関係ないことですが・・・・。
なんとか、お名前.comのサーバーで動かないかと思い、
CMONOS.JPのソースをみながら、Not Foundになりそうな箇所を探していて、関係はないですが、一部おかしなところを発見したので、一応ご報告します。
実際の機能には、問題ないのかもしれませんがf(^^;
通常の /cgi/setup/default.pl 内の
# 全CGI関連データディレクトリの名前
$cgi_data_name = 'cgi-data';
# テンプレートとライブラリを共有するCGI関連データディレクトリの名前
$shared_cgi_data_name = 'cgi-data';
の#テンプレートとライブラリ〜のところの変数名が、
$shared_cgi_data_name が本来の名前だと思いますが、For_Lolipopフォルダ内の/cgi/setup/default.pl内では、
# 全CGI関連データディレクトリの名前
$cgi_data_name = '../../cgi-data';
# テンプレートとライブラリを共有するCGI関連データディレクトリの名前
$cgi_data_name = '../../cgi-data';
という風に、#全CGI関連〜の変数名と同じになっていました。
ご報告ありがとうございます。
また、お名前.COM で思うように動かず、たいへんお困りのことと思います。
ご指摘いただいた設定ですが、たしかに奇妙なかんじがしますね(^^;。でもこれで正しい設定となっていますのでご安心ください。
ところで、CGI が Not Found になる件ですが、「setup フォルダの中だけで発生する」ということはないでしょうか。cgi フォルダの他のフォルダでも発生するかどうかチェックしてみてください。
setup フォルダの中だけであるはずの CGI が Not Found となる場合、mod_rewrite などで setup という名前がついたフォルダへのアクセスが別のフォルダへ飛ばされている可能性が考えられます。
mod_rewrite の記述を変えてもらえれば、動くようになるかもしれません。。。
以上参考になりましたら幸いです。また何かお気づきの点がありましたらぜひお知らせください。お待ちしておりますm(_ _)m。
ご指摘いただいた設定ですが、たしかに奇妙なかんじがしますね(^^;。でもこれ で正しい設定となっていますのでご安心ください。
そうでしたか(^^;
すいません。
ところで、CGI が Not Found になる件で すが、「setup フォルダの中だけで発生する」ということはないでしょうか。cgi フォルダの他のフォルダでも発生するかどうかチェックしてみてください。
試しにフォルダ名をsetup→testに変更してstart.cgiを実行してみると、Internal Server Errorになりました。
bbs/start.cgiも、Internal Server Errorとなります。
ご指摘のように別な場所へ飛ばされてる可能性大ですねf(^^;
お名前.comに聞いてみます。
ありがとうございましたm(_ _)m