人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

apacheを起動させましたが、クライアント側からzip、lzh、mpgなどのファイルをダウンロードさせることができません。
fedora core 11にはじめから入っているapacheに対して「httpd -k start」と入力しただけですが、
この状態から上記のファイルダウンロードを許可させる方法を教えてください。
[状況]
ダウンロード時に行った操作:ファイルの存在する場所を直接アドレスバーで入力しenter。「ダウンロード」を実行。指定した場所にダウンロードが開始されるが、0バイトのファイルが置かれるだけとなる。
[その他]
・ファイルサイズは小さい(数kバイト)です。
・document root上に配置したhtmlファイルは開くことができました。
・errorログには何も記載されておりません。
[実験環境]
同じサブネット上のPC2台で実験しております。
linuxサーバ:192.168.1.1
クライアント(windows):192.168.1.2
[apache バージョン]
httpd-2.2.15-1.fc11.1.i586


●質問者: dethanc
●カテゴリ:コンピュータ
✍キーワード:Apache Fedora Core HTML httpd i586
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● tasklight
●23ポイント

"/etc/mime.types" に以下の指定が記されているかどうか確認してください。

zip application/x-zip-compressed
lzh application/x-lha
mpg video/mpeg
◎質問者からの返答

書いてはありませんでした。

この設定は何でしょうか?

ちなみに書式は以下のような感じでした。

application/zip zip


追記:

httpd.confにこんな記述がありました。

<IfModule mod_mime.c>

AddType application/octet-stream mp4 m4v mov aac mp3 avi mpg

</IfModule>


2 ● t-wata
●80ポイント

これだけだと、apacheで問題が起きているのか、クライアント側で起きているのか分かりませんね。クライアント側で問題が起きてると予想しますがなんとも言えないですね。

まずは、fedora内からダウンロードしてみて、apacheの問題なのかクライアントの問題なのかを切り分けましょう。

fedora内から、wget http://192.168.1.1/PATH_TO_ZIP_FILE を実行し、ダウンロードできるかどうか試してみてください。

これが可能なら、クライアント側の問題でしょう。

その場合他のクライアントPCや、他のブラウザ、windows用のwget/curlなど、ダウンロード方法を変えたり、Virus Scanを一旦Offにして試してみたりして絞り込んでいくと良いでしょう。

もしfedora側からも不可能ならサーバ側の問題ということになりますが、apacheだけでこんな現象が起きるのはちょっと考えにくいですね。

Ubuntu10.04のデフォルト状態のapacheで、パーミッションを変えたり、日本語のフォルダを含むパスへのシンボリックリンクを使うとか、考えうる方法を試してみたけど、再現しないですね。

とりあえずは、閲覧できてる.htmlなファイルをコピーして拡張子を.zipとかに変えて、FiddlerやHttpFox, Wiresharkなどで、これら2つのファイルのダウンロード時の通信を比較してみては?

◎質問者からの返答

[root@localhost work]# wget http://192.168.1.1/a.zip

192.168.1.1:80 に接続しています... 接続しました。

HTTP による接続要求を送信しました、応答を待っています... 200 OK

長さ: 4727763 (4.5M) [application/zip]

`a.zip' に保存中

0% [ ] 0 --.-K/s 時間 0s

2010-09-05 18:19:03 (0.00 B/s) - 0 バイトで接続が終了しました。 再試行しています。

192.168.1.1:80 に接続しています... 接続しました。

HTTP による接続要求を送信しました、応答を待っています... 200 OK

長さ: 4727763 (4.5M) [application/zip]

a.zip が存在しています。

再試行しています。

192.168.1.1:80 に接続しています... 接続しました。

HTTP による接続要求を送信しました、応答を待っています... 200 OK

長さ: 4727763 (4.5M) [application/zip]

a.zip が存在しています。

再試行しています。


・・・以下繰り返しでした。

htmlファイルをzipに変えてみたところ、こちらはダウンロードできました。

htmlに名前だけ変えた場合でも、htmlをzip圧縮した場合でもできました。


[root@localhost work]# wget http://192.168.1.1/index.html.zip

192.168.1.1:80 に接続しています... 接続しました。

HTTP による接続要求を送信しました、応答を待っています... 200 OK

長さ: 85 [application/zip]

`index.html.zip' に保存中

100%[======================================>] 85 --.-K/s 時間 0s

2010-09-05 18:24:06 (4.89 MB/s) - `index.html.zip' へ保存完了 [85/85]

[root@localhost work]# ll

合計 12


元のファイルが悪いのかと思って別の動画ファイルをzip圧縮して配置しましたが、

こちらは0バイトでのダウンロードとなってしまいました。。


3 ● tknrych
●22ポイント

>> application/zip zip

という記述があったとのことですが、

AddType application//zip .zip

という具合にピリオドを付けても状況に変化はありませんか。

◎質問者からの返答

やってみましたが、変化はありませんでした。

/etc/mime.typesを書き換えてhttpd -k restartとしましたが。


4 ● monyo
●65ポイント

ファイルのパーミッションは問題ないですか?

a.zip ファイルの UNIX 上のパーミッションを ls -l コマンドなどで表示させてみて、問題がないかを確認してみてください。

もしくは

chmod 444 a.zip

のようにして、とりあえず誰からも読めるようにしてみて確認してみてください。

また、エラーログではなく、access.log には何か残りませんか?

◎質問者からの返答

パーミッション確認しました。

当たりでした。。。

実はこの度DocumentRootのフォルダをCIFSマウントしていたのですが、

httpd.confに書かれている元のDocumentRoot上に設定し直すと問題なくできるようになりました。



マウントした場所でのパーミッションはこうなっておりました。

[root@localhost www]# ll

合計 10358064

-rwxrwSrwx 1 root root 4727763 2010-05-19 03:03 a.zip

・・・

ちなみにNTFSの共有フォルダ上をコンテンツのおき場所にすることはできないのでしょうか・・・

(chmod 444 a.zipとやっても変わりませんでしたし。。)





=======

追記

=======

こちらにかいてありました。

http://blog3.logosware.com/archives/543

EnableSendfile ディレクティブに関する設定だったみたいです。

http://httpd.apache.org/docs/2.2/ja/mod/core.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ