CSVのログデータが蓄積されなくなりました。

ひらたさん (2012-02-01 17:33:10) http://www.natural-mori.co.jp/recruit/form/form.html

メールフォームプロを利用させて頂いてます。
お客様のサイトに1/20テスト設置したのですが、1/30からCSVのログデータが蓄積されなくなりました。管理画面からのCSVのログファイルダウンロードはできています。
1/24まではテストで入力したフォームの情報も正常にダウンロードでき、中身のログデータも蓄積されていたのですが、1/30からテストでフォームに入力しても、なぜかCSVにまったく反映されなくなりました。現在ずっと、CSVファイルもpostlog.csv.cgiも中身が空です。

config.cgiのCSVの部分はちゃんとアタマの「#」を外しています。

また、当初からCSVの削除が管理画面からできませんでした。これは仕方がないのでFTP接続ダウンロードで対処していますが(これに関してはサーバの仕様かも?で、とりあえず今はあきらめてます)。
サーバはOCNホスティング(現在のサービス名はBizホスティング メール&ウェブ)です。cgi-bin型で、cgi等はすべてcgi-binフォルダに入れています。

現在まだ公開前ですが、もうすぐ公開しないといけないので困っています。お客様(企業の採用担当者)が、応募フォームの利用者が多いので、CSVでないと受けられない、と厳しく言われているのです。もし何か思い当たることがありましたら、アドバイスをいただけると助かります。(ちなみにOCNのサポートには電話してみましたが、「お客様ご自身で設置したプログラムにつきましては何もお答えできません」の一点張りでした。)

どうぞよろしくお願いいたします。

すみません、自己解決しました。

ひらたさん (2012-02-02 21:36:01) http://www.natural-mori.co.jp/recruit/form/form.html

サーバにアップロードしていたpostlog.cgiのパーミッションが755になっていましたが
777にしたところ、正常に動くようになりました。
管理画面からのCSVファイルのダウンロードも削除も、すべて正常にできています。

ここは気をつけないといけなかったですね。
お騒がせしました。m(_ _)m

すみません、自己解決してませんでした。

ひらたさん (2012-02-06 11:28:19) http://www.natural-mori.co.jp/recruit/form/form.html

すみません、自己解決してませんでした。

先日は「自己解決しました」と書き込んでしまいましたが、よくよく検証してみると、ログCSV削除だけができない状況になっていました。
念のため、もう一度状況を書き込ませて頂きます。

・入力フォーム自体の動き→正常。送信、管理者への通知メールも送信者への返信メールもきちんと送られている。
・CSVファイルのダウンロード→正常。管理画面からダウンロードできている。

・CSVファイルの管理画面からの削除→できない。管理画面からパスワードを打ち込んで「DELETE LOG FILE」ボタンをクリックすると、画面に「logfile delete success」とは表示されるが、実際のCSVファイルに変化なし(ログはそのまま残った状態のものがダウンロードされてくる)。

サーバはOCNホスティング(現在のサービス名はBizホスティング メール&ウェブ)です。cgi-bin型で、cgi等はすべてcgi-binフォルダに入れています。

ちなみに、この過去の書き込み
http://www.synck.com/contents/faq/129705574203718673815815013016.html#129717944726233677280861602442
>サーバの設定によってはファイルへのアクセス権が消失してしまう場合があります。その場合はSSHやFTPでファイルのアクセス権を設定するなどの対策が必要かもしれませんね。

>CGI側からファイルを削除する権利が無い場合はそういう現象が発生します。

ほぼこれと同じ内容かと思われますが…すみません知識不足で、和田様の回答の意味が今ひとつわからないんです。
普通にFFFTPなどでパーミッションを777に設定するということではないんでしょうか?

いちおう「postlog.csv.cgi」のパーミッションは777にしております。

もちろんFFFTPなどを使えばログは簡単に削除可能なんですが、私ではなくクライアント様にやっていただく必要があるので…
もし思いつくことがありましたら、何かヒントだけでもいただけると助かります。

重複してすみません、よろしくお願いいたします。

Re:すみません、自己解決してませんでした。

和田 (2012-02-06 23:16:34) www.synck.com

function.cgi内の454行目付近の
unlink $config{"log_file"};
の手前の行に
chmod 0777, $config{"log_file"};
と書いてみてください。

ダブルクォートはエスケープされてると思うので、半角に打ちなおして下さい。

Re:Re:すみません、自己解決してませんでした。

ひらたさん (2012-02-07 12:00:32) http://www.natural-mori.co.jp/recruit/form/form.html

和田様、回答ありがとうございました!
お返事がもらえるとは思っていなかったので感激しております…(*’-’*)

さて、ご教授の通りやってみましたが、特に変化ナシ…です(泣)
function.cgi内を以下のようにして(453~455行目)
sub deleteComplate {
  chmod 0777, $config{"log_file"};
  unlink $config{"log_file"};
アップロード(入れ替え)してみましたが、やはり削除ができません。

ちなみにCSV削除のやり方ですが
削除の管理画面(末尾が/send.cgi?mode=delete)にアクセスし、CSVダウンロードと同じパスワードを入力し→DELETE LOG FILEボタンをクリックすると「logfile delete success」と表示される(ここまではできてます)
→その後ダウンロードの管理画面(末尾が/send.cgi?mode=download)にアクセスし、ダウンロードしたCSVファイルの中身からリストが消えていれば削除完了?(今これができてない状態)で、合ってますよね?

自分でももっと調べてみます。ありがとうございます!

CSVログの削除ができない件の続きです。

ひらたさん (2012-02-10 17:59:02) http://www.natural-mori.co.jp/recruit_site/form/form.html

すみません、あれから自分なりにテストしてみた件の報告です。

・別環境に「.hraccess」を設置してCGIが自由に使えるようにしたが、変化なし。
Options +ExecCGI
AddType application/x-httpd-cgi .cgi
以上の「.hraccess」をフォームと同じディレクトリに設置して、cgi-binフォルダでなくても動くようにできましたが、管理画面からのCSV削除のみ相変わらずできません。(削除画面にパスワードを入力して「logfile delete success」は表示されるが、ダウンロードされるCSVファイルの中身は蓄積されたまま)

・さくらサーバに同じ環境を再現
個人で持っているさくらサーバに同じ環境をしてテストしましたが、ダウンロード、削除は可能になりましたが、postlog.csv.cgi自体が削除され、もう一度管理画面からダウンロードすると「EROOR CODE 0」になる。(その後再度フォームに入力・送信すると再度postlog.csv.cgiが作成される)

ちなみに上記をOCNサーバのサポートに報告して助言を仰ぎましたが、「わかりません」ということでした(泣)

もちろん前回の「function.cgi」の内部表記の件は解決済み、postlog.csv.cgiのパーミッションは777になっております。

これで何か思い当たることなどありますでしょうか?
なお、URLは新しい方の環境(OCNサーバに「.hraccess」を設置)を記載しております。

Re:CSVのログデータが蓄積されなくなりました。

和田 (2012-02-13 02:20:44) www.synck.com

さくらインターネットでの症状は正常な現象です。
問題はOCNですねぇ。unlinkできてないという事だと思うのですが原因は実際にサーバを見てみないと特定できないかもしれません。すいませんお力になれず・・・。FTP情報をご連絡いただければこちらでサーバを覗くことはできますので、その際は大変お手数ですがサポートフォームよりひとまずご連絡ください。

OCNサーバなどでCSVのログが蓄積されない、削除できないトラブルの解決方法

ひらたさん (2012-02-15 22:44:39) http://www.natural-mori.co.jp/recruit/form/form.html

先日からずっと続いていました、OCNサーバでのCSVデータの削除ができなかった件について、先日和田様のサポートを受けて無事解決いたしましたので、許可を得て経緯を書き込んでおきます。

なお、以下はさくらサーバーのようなCGI等がどこでも動くタイプでは関係ないかもです。あくまでOCNサーバ(CGIなどを「cgi-bin」フォルダに入れないと動かないタイプ)についてです。(他の「cgi-bin」フォルダ型サーバにも当てはまるかどうかは不明)


クライアントが借りているOCNサーバにメールフォームを設置する仕事を受け、CSVのダウンロードと削除が管理画面からできるように、という要望だったのですが、いろいろありましてCSVの削除だけができませんでした。

具体的には管理画面からのダウンロードは可能、削除も管理画面の入力窓にパスワードを打ち込んで「DELETE LOG FILE」を押すと「logfile delete success」というメッセージは表示されますが、実際には削除されておらず、変化ナシ(postlog.csv.cgiの中身のログが残ったまま)。

一度和田様から
「function.cgi内の454行目付近のunlink $config{"log_file"};の手前の行に
chmod 0777, $config{"log_file"};
と書いてみてください。
ダブルクォートはエスケープされてると思うので、半角に打ちなおして下さい。」
というメッセージをいただいて実行してみましたが、同じく変化ナシ。


その後、和田様からいただいた解決方法です。
「mailformpro」フォルダ内にたとえば「logs」というフォルダを作り、パーミッションを777に設定。
config.cgiのログファイル(CSV)のパスを以下のように書き換える
logs/postlog.dat.cgi
「logs」フォルダの中は空(何も入っていない状態)でいいようです。
後は自分が設定した管理画面から、CSVファイルのダウンロードと削除ができるかどうか確認してください。

ちなみに成功しているかどうかの確認は
メールフォームを1回以上送信し、ダウンロードの管理画面からパスワードを入力して「GET LOG FILE」をクリックしてダウンロード。
その後削除の管理画面から同じくパスワードを入力して「DELETE LOG FILE」をクリックすると「logfile delete success」というメッセージが表示。
その後再びダウンロードの管理画面からパスワードを入力して「GET LOG FILE」をクリックすると「ERROR CODE0」のメッセージが表示されて何もダウンロードされない。←ここまでできると成功

和田様どうもありがとうございました。
上記の「logs」フォルダの中が空っぽでもメールフォームの動作、CSVファイルのダウンロードと削除が可能、という点だけが自分的には非常に不思議です。お暇なときにでも補足していただくと助かります。

それでは!