お世話になります。
CMS導入選定のために御社CMONOSを試験導入させていただいております。
ご提供いただいているマニュアル通りに設定が終了したのですが、なぜか、管理情報変更だけ動作しません。
管理情報のページにもアクセスできておりますし、操作もできるのですが、[変更]ボタンを押下すると「管理情報の更新に失敗しました」という警告が出て更新されないようです。
「パーミッション最適化」や「全ての初期設定」の「復元」等も滞りなく実行されており、また、コンテンツの編集等も行えております。
何か、原因として考えられることがありましたら、ご教授いただけないでしょうか。
よろしくお願いいたします。
ご質問ありがとうございます。
弊社環境ではご指摘の不具合を再現できませんでしたので、確実な解決方法をお答えすることはできません。あらかじめご了承くださいm(_ _)m。
「管理情報の更新に失敗しました」というメッセージは、具体的には「~/cgi-data/lib/env.pl」の書き込みに失敗したことを示しています。
原因として考えられるのは次の2点です。
【env.pl ファイル(内容ではなくファイルそのもの)のパーミッション設定もしくはオーナー設定に問題がある】
パーミッション最適化を実行すると、cgi-data ディレクトリ以下のファイルはすべて 0600 に設定されます。
ユーザー権限で CGI が動作する環境では通常この設定で書き換えができるはずですが、ファイルのグループ/オーナー設定が CGI を実行するユーザーと異なる場合、書き換えができません。あるいは、0600 では書き換えができない環境なのかもしれません。
env.pl ファイルのオーナー設定をご確認ください。設定に問題がない場合は、FTPなどで直接 env.pl のパーミッションを変更してみてください。
【CGI が使用している Perlライブラリ・ディレクトリにあるファイルを CGI から変更できない環境である場合】
セットアップアシスタントでサブディレクトリを増設し、サブディレクトリの「管理情報変更」が機能するかどうかお試しください。
もし機能するのであれば、上記のような制限が設定されているのかも知れません。その場合は、env.pl の位置を変更し、/cgi 以下にあるすべての start.cgi の env.pl 呼びだし部分を新しい位置に変更します。
CMONOS スタッフ様
丁寧なご回答をいただきましてありがとうございました。
env.pl のパーミッション変更を行いましたが、やはり変更できませんでした。
また、サブディレクトリ増設もファイルは作成されているのですが、こちらはブラウザからの閲覧もできませんでした。
念のため、env.plの配置変更も行ってみましたが、やはり変更ができませんでした。
どうも、根本的に環境に問題がありそうですので、自分で問題を整理し直したいと思います。
ご回答、ありがとうございました。
いろいろとご苦労されたのに、解決方法をご呈示できないことがとても残念です。また何か状況が変わりましたら、お気軽にご相談ください。CMONOS.JP がいつか HK さんのお役に立てれば幸いです。
今回は CMONOS.JP をお試しいただきありがとうございました。
その後、特定の条件で同様の問題が起きることがわかりましたので、追記します。
HTTP 公開ディレクトリより下の階層にインストールした場合、env.pl の「最上層ディレクトリ」設定に誤りがあると、env.pl の位置を正しく取得できず、「管理情報変更」が実行できないことがわかりました。
行頭に「#」がある場合も「管理情報変更」が実行できなくなります。現在配布中の CMONOS.JP では、あらかじめ行頭の「#」を削除しています。
また、上記設定に誤りがあると、サブディレクトリ増設またはサイトテンプレート適用時に各種パスが誤ったパスに書き換えられてしまい、CGI が動作しなくなる不具合も発生します。ご注意ください。
HTTP公開ディレクトリより下の階層でインストールする方法については、マニュアルをお読みください。
※重要(2009年3月1日追記)
ver1.2.20090301 より、HTTP公開ディレクトリより下にインストールする場合でも、最上層ディレクトリの設定が必要なくなりました。
インストール時および管理情報変更時に、自動的に設定されます。