- ベストアンサー
Fedora7+Apache ダウンロードしたZIPデータがおかしいことに
FedoraとApacheで自宅サーバーを運用しているのですが、 難しそうな問題に直面してしまったので質問いたします。 ZIPファイルをサーバーに載せてDLできる形にした状態で、 LAN内からDLして解凍すると、解凍したファイルが壊れてしまいます。 Windowsで圧縮したときのソフトはLhaplusなのですが、 サーバーにアップロードする「元のZIP」は正常解凍できます。 なぜか、サーバーから「ダウンロードしたZIP」が壊れてしまっています。 イメージ的にはこんな感じです。 http://wonderland.servehttp.com/file/ok070928.bmp ZIPを解凍した場合、壊れているときには必ず 「ZIPファイル名」の、拡張子のないファイルが出てきます。 MIMEの設定はhttpd.confと.htaccessの双方に AddType application/zip .zip このように追加しているのですが、反映されてるのか分かりません。 httpdをリスタートさせても何も変わりません。 どこか足りない設定があるのでしょうか? 解決策をご教示願います。 ※無責任な回答(「ググれ」とか「○○○(キーワード)で検索しろ」とか)は通報対象。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>ZIPを解凍した場合、壊れているときには必ず >「ZIPファイル名」の、拡張子のないファイルが出てきます。 ということは成功する時もあるのですか? アップロードされた状態が正しくて、ダウンロードすると駄目なときがあるということはapacheの転送ロジックのところでしょう。 一般的に思いつくのはファイルサイズの制限で尻切れで送っているのに気づかないとか、実はタイムアウトしてたとか。 あるいはlarge fileをenableしてもsplitロジックでおかしくなっているとかでしょうか。 同じような大きさのファイルでZIP以外で試したり、拡張子をJPEGに変更したりしてみてはどうでしょう。 オリジナルとダウンロードしたファイルサイズが違うということはZIP形式以前の問題と思われるので、そのあたりの絞込みをしてみましょう。 ログは何かいってませんか。 以前アップロードで似たようなことがありました。 TEMPやタイムアウトなどなど、結構ややこしかった気がします。
その他の回答 (4)
- u-kid
- ベストアンサー率50% (34/67)
ZIPファイルをサーバーにアップするときに、FTPのASCIIモードで転送していませんか?
補足
バイナリの状態で転送しています。 再度アップして試したのですが、うまくいかないです。
- hofchan
- ベストアンサー率62% (17/27)
>LAN内からDLして解凍すると、解凍したファイルが壊れてしまいます。 WAN から落とせば壊れていないのでしょうか? >サーバーから「ダウンロードしたZIP」が壊れてしまっています。 どの様に壊れているのでしょう Check Sum のやりかたがわかりませんか? サーバに上がった状態では壊れていないと言うことでいいのでしょうか? DL した側の OS や解凍ソフト等はどの様なものでしょうか? 絞りこむにも広すぎます、詳しい情報を書いた方がよいかと思います >※無責任な回答(「ググれ」とか「○○○(キーワード)で検索しろ」 >とか)は通報対象。 自分で調べる努力をしない初心者は、いつまでも初心者です。 これからも、この程度のトラブルで悩むことになります。
補足
WAN経由でも異常が発生しています。 アップロード元のファイルとダウンロードしたファイルの ファイルサイズ(バイト数)がおかしいです。 DLしたファイルはバイト数が減ってしまっています。 圧縮したソフトはLhaplusの最新版、解凍も同じです。 OSはWindows XP Professional SP2です。 サーバーに上がった状態では壊れていません。 自分で探した結果、問題が解決できなかったので サーバーに詳しい方の意見を聞きたく質問したのですが。 そんな言われ方をされるのは悲しいです。
>Windowsで圧縮したときのソフトはLhaplusなのですが、 >サーバーにアップロードする「元のZIP」は正常解凍できます。 WindowsからLinuxに転送するときに失敗しているのでしょう。 >※無責任な回答(「ググれ」とか「○○○(キーワード)で検索しろ」とか)は通報対象。 自分で調べる努力をしない初心者は、いつまでも初心者です。 これからも、この程度のトラブルで悩むことになります。
補足
正常転送できています。 Linux側では解凍できています。 調べても分からなかったから質問したんですが。
- entree
- ベストアンサー率55% (405/735)
これだけでは回答しようがないと思います。 > ZIPを解凍した場合、壊れているときには必ず > 「ZIPファイル名」の、拡張子のないファイルが出てきます。 「壊れているときは」と書かれているということは、壊れていないときもあるということですか? 壊れているというのは、何を以って判断されましたか? (バイト数、MD5SUM などはちゃんとチェックされていますか) サーバにアップされた時点ではファイルは正常ですか? $ unzip example.zip > MIMEの設定はhttpd.confと.htaccessの双方に > > AddType application/zip .zip あと、この設定は通常 mime.types ファイルに記述されているので、不要なはずです。 > ※無責任な回答(「ググれ」とか「○○○(キーワード)で検索しろ」とか)は通報対象。 余談ですが、このような発言は無責任な回答のみならず、有益な回答を得る機会も低くしてしまうものと思います。
補足
すみません、書き方がまずかったですね・・・ZIPはいつダウンロードしても壊れています。 転送はFFFTP 1.92a、Fedora側のFTPサーバーはVsFTPd 2.0.5-16.fc7です。 サーバーに上がった状態では正常なバイト数で、正常解凍できます。 HTTP経由でダウンロードするとバイト数が若干減ってしまいます。 AddTypeは不要だったのですね…。 無責任回答禁止の文章は、以前に別の質問をしたときに 帰ってきた回答が全部「自分で調べろ」だったからです。 調べても全く分からなかったので質問したのに・・・。 そんな不快な回答が4回も連続で続いてしまい、 今回もそうなってしまっては困ってしまうので、 あえて明記させていただきました。
お礼
コンテンツの圧縮設定を解除したら内容が正常になりました。 どうやら圧縮転送設定が強力すぎて、圧縮転送しなくてもいいZIPまで さらに圧縮して転送しまっていたらしいです。 おかげさまで原因を特定することができました。 本当にありがとうございます。 ・・・・・・もうコンテンツ圧縮転送なんて使うもんかっ・・・!
補足
そうですね、ログはまだ確認してなかった・・・ちょっとあさってみます。 コンテンツの圧縮設定をしているので、もしかしたらそれなのかもしれない・・・。 ちなみにこんな設定です。 DeflateCompressionLevel 7 この設定をコメントアウトして試してみます。