2006年08月19日 22:43 by AzureStone

PCの操作についてあまり詳しくない方に200Mb程度のファイルを
ダウンロードしてもらう為に自宅サーバに下記のようなhtmlを
置いてみました。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html lang="ja"><head><title> File Storage </title></head>
<a href="public_html/testfile.zip">この文字を右クリック。そしてファイルの保存を選んで下さい。</a> </html>

ですがブラウザから見てみた所、Forbiddenエラーがでて落とす
ことができません。 ファイルやフォルダのパーミッションを
確認しましたが、ちゃんと読めるように設定されておりました。

ターゲットのファイルを変えながら何度かテストしてみた所、
どうもファイルが数Mbを越えると上記のエラーがでるようです。
たぶんapacheの設定に転送容量の上限が規定されているのでは
ないかと思うのですが、どれがどれやら。
どなたか教えていただけませんか?

環境はFC5をyumで最新の環境にしたものです。 よろしくお願いします。

1: 口コミさん : 2006-08-19 00:25
apacheのエラーログは確認されましたか?
2: 口コミさん : 2006-08-19 00:56
まずファイルはどこにおいているのですか?
apache(httpd)のDocument Rootなのか
Userdir(/~hogehoge/)なのか?

今、FC5のhttpd.confを一読しましたが標準で
転送量制限がかかっていることは無いと思いますし、
もし転送量制限であれば403 Forbiddenでは無い場合が
多いのではないかと思います。

もう少し情報をいただければ、詳しく答えれるかと。
3: シャーマンハンド : 2006-08-19 01:48
>ぽこちゃんさん
Permission denied: access to と出てます。

>ぷたーるさん
>もし転送量制限であれば403 Forbiddenでは無い場合が

目的のファイルは
/var/www/html/public_html/testfile.zip に置き
/var/www/html/file.htmlに上の方で書き込んだhtml
を置きました。

危険とは思うのですがとりあえず暫定的に
#chmod a+rwx /var/www/html/file.html
#chmod a+rwx /var/www/html/public_html
#chmod a+rwx /var/www/html/public_html/testfile.zip

としてパーミッションを許可し、httpd.conf はとりあえず
なにも変更せずにhttpdを再起動。
#firefox localhost/file.html
と打つと、
この文字を右クリック。そしてファイルの保存を選んで下さい

と表示されます。 でもクリックするとやはりフォビドゥーン。
パーミッションは
-rwxrwxrwx 1 root root
となっています。
4: 口コミさん : 2006-08-19 01:49
><a href="public_html/testfile.zip">
????
public_html は、いらないのでは?
5: 口コミさん : 2006-08-19 01:55
横レス失礼します.

この場合,ファイルの属性が問題なのではなく

>> <a href="public_html/testfile.zip">

というリンクの貼りかたに問題があるからじゃないですか?
htmlファイルとzipファイルが
Userdirの同階層にファイルが置いてあるならば

<a href="testfile.zip">

でよろしいのでは?
ファイルシステム上のディレクトリ名(public_html)を
指定しているために403 Forbiddenになってるんだと思いますよ.
6: シャーマンハンド : 2006-08-19 02:14
>シナプスふなさん、satoさん
御指摘ありがとうございます。
一応、testfile.zipを/var/www/htmlに移動し
htmlの方も訂正したのですが、やはりフォビドゥーン
でした。

public_htmlは何で置いたのかは忘れてしまったのですが、
たしか、自分のホームページを作る際に参考にした所が
/var/www/htmlにはhtmlやCGIのみ置き、画像ファイル
などはpublic_htmlに置いていたのをそのまま踏襲した
のだったと思います。
7: 口コミさん : 2006-08-19 02:28
んーでは
httpd.conf のBASE かな?
Document root が /usr/local/apache/htdoc とか?
いづれにせよ 詳細がわからんから
なんともいえんのだけど、、、

むかーし Document root が /usr/local/apache/htdoc とかになってて一生懸命 /var/ww/html を直してた(w
8: シャーマンハンド : 2006-08-19 02:33
/etc/httpd/conf/httpd.confですよね?

DocumentRoot "/var/www/html"
でした。 /usr/localの中にはapacheも
httpdも入ってませんでした。
9: シャーマンハンド : 2006-08-19 02:53
今ふと思い立って、別のマシンに入っていたFC5に
html関連を全て移し再度アクセスしてみると、、、
落とせたー!

すいません。 皆様大変お騒がせ致しました。
原因は不明ですが一先ずやりたいことはできるように
なりました。 先ほどのマシンとこのマシン、同じFC5で
yum updateもほぼ同時に実行。 双方ともapache回りの
設定を弄った記憶は全く無いのですがワケワカランです。

お答え頂いた皆様、ホントすいません。 そして
どうもありがとうございました。
10: 口コミさん : 2006-08-19 05:59
解決したようで何よりですが、原因不明なの気持ち悪いですね。

selinux の設定が両者で異なっているのかな?
11: シャーマンハンド : 2006-08-19 06:33
>原因不明なの気持ち悪いですね。
そうなんですよ。 SELINUXは両方共ENFORCING
ファイアーウォールはWWWとSSLを通してて、
エラーを返さない新しい方のマシンだけVNCのポートを
空けているんですが、それが関係あるとも思えないし、、、
12: 口コミさん : 2006-08-19 08:14
ところで名前解決はそれぞれできていますか?

Apache って思い込んでいませんか?
13: 口コミさん : 2006-08-20 03:19
# /sbin/restorecon -R /home/username

というのがありましたっけ。
俺はこれでつまずきました。
あ、CentOS4.2 seLinux の話です。
いくらパーミッションを空けても
表示してくれないんだもの、、、
14: 口コミさん : 2007-04-09 10:29
Fedora Core 6 で Apache/2.2.3 による Web サーバを構築しました。

個別のユーザに対して、通常は httpd.conf の設定を変更した上で、個別のユーザのホームディレクトリに "public_html" というディレクトリを作って、その中にコンテンツを置きますよね ?

ところが、httpd.conf の設定、具体的には
・"UserDir disable" の行を # でコメントアウト
・"#UserDir public_html" の行の # を削除して有効にする
を行って、コンテンツをアップしてみると 404 Not Found エラーになってしまいます。どの設定を変更すればいいのでしょうか。パーミッションの設定も間違えていないはずですが…。
15: 口コミさん : 2007-04-10 07:48
14 の件ですが、状況が良くわからないので、もう一度、一から FC6 をインストールして、再構築してみます。
16: 口コミさん : 2007-04-10 08:38
14: Red cat@MtFさん

logを見ればどのファイルを参照しようとしてるのか、わかるのでは。
せめてapacheの再インストールでいいような。
17: 口コミさん : 2007-04-10 08:48
> せめてapacheの再インストールでいい
それも思ったんですが、メールの受信のほうでも厄介なことが起きてしまって、自力で解決するにはどうにもわからんので、丸々再インストールした方が早い(?)ということでやってしまいました。現在鋭意再構築中です。元々、大したデータは置いてないので、差し当たりメールの受信までは出来るようにしておきたい…。
18: 口コミさん : 2007-04-10 12:32
16: Cappuccino さん

/etc/httpd/logs/error_log を見てみると、どうやら
/var/www/html/~(username)/
というディレクトリを参照していたようです。そんなディレクトリは作っていませんから、404 Not Found になるのは当たり前でした。

これを、/home/(username)/public_html/ を参照するようにすればよいわけですが、httpd.conf の設定は間違えていないと思うのですが… ?
19: 口コミさん : 2007-04-10 16:22
>>18
気になるのですが、
LoadModule userdir_module /../../mod_userdir.so
がコメントアウトになってたりしませんか?

Apacheのデフォルトは確かロードしないようになっていたと思います。(ディストリビューションによって違うと思いますが)

----------------
参考:

ユーザ毎のウェブディレクトリ - Apache HTTP サーバ
http://httpd.apache.org/docs/2.2/howto/public_html.html

mod_userdir - Apache HTTP サーバ
http://httpd.apache.org/docs/2.2/mod/mod_userdir.html
20: 口コミさん : 2007-04-10 19:13
> LoadModule userdir_module /../../mod_userdir.so
> がコメントアウトになってたりしませんか?

コメントアウトはされていませんでした。
21: 口コミさん : 2007-04-11 05:56
Debian+apache2.0.54だと、symlinkによって有効化するのですが。

/etc/apache2/mods-enabled/userdir.conf -> /etc/apache2/mods-available/userdir.conf
/etc/apache2/mods-enabled/userdir.load -> /etc/apache2/mods-available/userdir.load

cat /etc/apache2/mods-enabled/userdir.conf
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
(中略)
</Directory>
</IfModule>
となってました。Directoryは入っていますか?
22: 口コミさん : 2007-04-11 06:16
> 21: Cappuccino さん
当方の環境は FC6 + Apache 2.2.3 なので、そもそも
/etc/apache2
というディレクトリがありません。
23: 口コミさん : 2007-04-11 06:24
読みかえて下さいよ。

confに<Directory /home/*/public_html>があるか。
必要ないのでしょうか。
24: 口コミさん : 2007-04-11 09:57
> <Directory /home/*/public_html>があるか
そもそものディレクトリ構造が違っているので、userdir.conf なるファイルがあるのか、あったとしてどこにあるのかはわかりません。

とにかく、httpd.conf において
----
UserDir disable

#UserDir disable ← #を追加(コメントアウト)

#UserDir public_html

UserDir public_html
----
の変更と
----
<Directory /home/*/public_html>
AllowOverride FileInfo
Options IncludesNoExec ExecCGI FollowSymLinks
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
----
の部分を追加して保存し、httpd の再読み込みから再起動、あるいはシステムそのものの再起動などを行っても
http://(servername)/~(username)/
という URL のリクエストに対して
/var/www/html/~(username)/
を参照しに行く、という状況が全く改善されないのです。

http://fedorasrv.com/
で書かれていることに嘘がなければ、基本的にこの方法でちゃんと
/home/(username)/public_html
を参照しに行くはずなのですが…。
25: 口コミさん : 2007-04-11 10:17
http://httpd.apache.org/docs/2.2/
もれなく読んでから質問しようよ♪
いやだったらサーバなんか止めちゃえば良い♪
無理する事無いと思うなぁ。。。
sendmailのnewaliasesの話とか調べりゃ解るでしょうに

わたしも解らない事だらけで
httpd.confを理解するのに
http://httpd.apache.org/docs/
何百回と読みに行ってますよ
26: 口コミさん : 2007-04-11 12:29
> http://httpd.apache.org/docs/2.2/
> もれなく読んでから質問しようよ
読んでわからないから聞いてるんです…。

> sendmailのnewaliasesの話とか調べりゃ解る
これは確かに私の凡ミスでした。これも、RHL9 のときは何の問題もなく上手くいってたので、変わっていたことに気づかなかったんです。

> いやだったらサーバなんか止めちゃえば良い
これがそういうわけにも行かなくて、掲示板の過去ログをアップしていたりするので、いまさら httpd を止めるわけにも行かないんです。

とにかく
http://fedorasrv.com/
↑ここに書いてある通りにやって上手く行かないから、何が原因なのかわからないんです。正しく設定したはずなのに上手く行かないなんて…。

# http://fedorasrv.com/ の掲示板にも同じ質問をさせていただいています。
27: 口コミさん : 2007-04-11 17:04
>読んでわからないから聞いてるんです…。
http://httpd.apache.org/docs/2.2/mod/mod_userdir.html
http://httpd.apache.org/docs/2.2/howto/public_html.html
百回読みましたか?

>変わっていたことに気づかなかったんです。
その部分はRHL9と何も変わってませんよ

>httpd を止めるわけにも行かないんです。
きつい言い方にしないと理解できませんか

>正しく設定したはずなのに
丸写ししただけですよね?
自分で考えて設定したのではなくて。。。
そこに書かれている
「ユーザディレクトリ作成(/~ユーザ名/)」
にある
httpd.conf
の記述に矛盾は感じませんか?

このトッピックのやりとりの中にも答えは埋まってると思いますが
28: 口コミさん : 2007-04-12 00:35
> 29: 単細胞 2.0 さん
> 百回読みましたか?
じゃああなたは本当に百回読んだのですか。回数をカウントでもしたのですか。

> その部分はRHL9と何も変わってません
何を持って変わってないと言っているのかわかりません。私は
「/etc/aliases ファイルに "webmaster: root" という行が追加されていたことに気づかなかった」
という意味で書いたのですが。

> 丸写ししただけですよね?
> 自分で考えて設定したのではなくて
ちゃんと自分で考えました。あらゆる試行錯誤もしました。httpd.conf を何度編集し直したことか。

まじめに回答する気がないのなら書き込みしないでいただけますか ? 私も質問を丸投げするほど馬鹿ではありません。
29: 口コミさん : 2007-04-12 01:27
#とりあえず、喧嘩腰の発言は見ている人にも気分良くないですよ。

本題ですが、UserDirの機能より先にAliasとかAliasMatchが機能してるんじゃないかと思うんですが、その辺は調べました?

UserDirが効かない効かないとわめかれても、正直その場所の設定なんかどうでもよくて(記述を見た限りあってるから)、違う所に原因があると判断するしかないわけです。

で、エラーの内容を考えるにRedirectとかAliasとか、そんなところだと想定したんで確認してみてください。

>「ユーザディレクトリ作成(/~ユーザ名/)」
そのページのAliasMatchの記述方法良くないですね。「どちらか」を記述するなら書いておくべきだと思うなぁ。
30: 口コミさん : 2007-04-12 01:59
> そのページのAliasMatchの記述方法良くない
良いか悪いかはわかりませんでしたが、私には必要ない設定だったので、AliasMatch は設定していません。

そうすると、Redirect の問題という可能性が一番高そうですね。調べてみます。
31: 口コミさん : 2007-04-12 03:09
ロードされるモジュールをリストするオプションを思い出したので書いておきます。
apache2ctl -M

これでuserdir_moduleがロードされるか確認してみてはどうでしょうか。

httpd - Apache Hypertext Transfer Protocol Server - Apache HTTP Server
http://httpd.apache.org/docs/2.2/programs/httpd.html
32: 口コミさん : 2007-04-12 03:40
いろいろと方々からいろいろな方にアドバイスをいただきましたが、結局、FC6 にプリインストールされている Apache 2.2.3 自体がそもそも問題がある(mod_userdir.c がなかった等)ようでした。

Apache 2.2.4 がリリースされているので、そちらをインストールすることにします。

アドバイスを下さった皆様、ありがとうございました。
33: 口コミさん : 2007-04-12 10:04
自分んとこも同じfedoracore6でhttpdを動かしています。
バージョン、ビルドは
httpd-2.2.3-5
です。

/home/hoge/public_html/index.html
を作成し、
http://hogerara.test/~hoge/index.html
とやると作成した内容がちゃんと表示されます。

ちなみに
755 hoge:hoge /home/hoge
755 hoge:hoge /home/hoge/public_html
711 hoge:hoge /home/hoge/public_html/index.html
としています。
※これはhttpd.confの<IfModule mod_userdir.c>に記述してある内容に従っております
なお、httpd.confの<IfModule mod_userdir.c>は
<IfModule mod_userdir.c>
#(コメント部分は省略)
#UserDir disable
UserDir public_html
</IfModulue>
です。

>Apache 2.2.4 がリリースされているので
fedoracore6のrpmではまだですね〜
独自でビルドするのも良いですが、さらにドツボにはまらないよう、お祈りしておきます。

さらにつけたし・・・
selinuxとsuexecも同時稼動させています。
ちゃんと動いています。

※以下ご参考まで
http://blog.sailine.net/2007/02/suexec.html
34: 口コミさん : 2007-04-12 14:08
> 35: 「もじら」a-chan さん
同じ(?)環境なのに不思議ですね…。

結局、Apache 2.2.4 のインストールは無事に終了し、ユーザーコンテンツも含めて、全て正常に表示できるようになりました。

後はそれこそ
http://httpd.apache.org/docs/2.2/
をじっくりと読んで、CGI まわりの設定をどうするか、等を考えたいと思います。
35: 口コミさん : 2007-04-12 16:36
>Apache 2.2.3 自体がそもそも問題がある
後学のため教えてもらえますか?
少なくとも、自分んとこに入っているrpmは、mod_userdir.soが入っているので・・・
#rpm -qf /etc/httpd/modules/mod_userdir.so
httpd-2.2.3-5
と表示されてます。
ちなみに、インストールされているパッケージの構成は
#rpm -qliv httpd
とかやると見れます。
httpd-2.2.3-*の何が悪かったのか?
そこらへんの検証をして、納得したから2.2.4にしたのですよね?!


2.2.3 -> 2.2.4の
changelogなんかで裏取ってみるのもいいかと思います。


自身でビルドする場合は、ビルド時のlog等で確認するしかないですけどね〜
※後で設定するときに必要になりますからね

スレッド一覧

043:はじめまして 043:SELinuxのポリシーの修正についてです。 急成長中のベンチャー企業で働いてみたいとおもいませんか?! 065:冷却方法 067:サーバーダウン→504エラー 玄人箱に関して 052:DNSサーバーは僕が憎いに違いない ■ 単発質問コーナー 基本すぎてすみません・・・。 079:NICドライバのインストールまたは認識について 069:初めまして PHPスクリプトでメールが送信できません。 061:linux os のアンインストール方法 063:linux os アンインストール 方法(再度no付け) 056: ドメインとホスト名について。 055:mod_layoutで動的フッターを挿入 044:イントラで2つのサイト 031:パティションどうきっています? 019:mixiのようなサイトを作れる方募集!! 014:500人、超えないかなぁ〜 066:サーバーに適したマザーボード dd dumpを使ってのバックアップ、restoreについて。 012:初心者におすすめのLinuxは? 077:よろしくです 078: Web サイトが携帯電話から見られない 062:webmaster だけがメールを受け付けない 057:ご質問〜windows領域削除方法〜 053:安いサーバ情報・・・。 037:データベース認証について 029:Apacheに異常アクセスログ 017:おすすめのUPSは? 009:お勧めの無料DDNSサービスは? 002:White Box Enterprise Linux 3.0について 0023:初心者です、よろしくお願い致します。ubuntu ☆教えて☆Linuxをマスターしたい CentOS 5 i386インストール時のトラブル こんなlogがでてるんですが・・・ 初心者です。 MySQLのアップグレードについて xdm/KDE ログオフ時にスクリプトを走らせたい 086:webツール(便利ツール等) 072:AMD VS Intel とりあえずDBサーバを自鯖にしてみたいのですが 060:Squidの設定-&gt;DNSエラー 041:【Linux】apacheで複数サイト作成したいのですが・・・ 022:LINUXのDistribution 023:初心者ですみません。。。Fedora Core3 013:vsftpdのchroot設定について 001:DynamicDNS様、様々〜笑 【愛知、常駐プログラマ募集】 064 : vsftpdで外付けHDDを公開する方法を教えてください。 038:sambaで共有できません・・・ knoppixでサーバーを構築しました。 010:お勧めの書籍は? 028:自作か購入か… 064:CPU使用率が高いきが・・・ 054:マシンが一台しかなくてもお金がなくても・・・。 032:(;´Д`)え、かなり増えてきている… 025:ipnuts の新バージョンでました。 【求人】港区でのお仕事です【時給1700円以上】 007:おすすめ固定IP 1、ダイレクトEメールを送りたい ソフトウェアレイドについて。 053: 譲ります 085:覚えておきたいコマンド 070:ファイルをアップしても0kbになる 068:精神対策(堕ちない自鯖) アクセスが無いけどトラフィックがある 自鯖が止まる理由 034:pop3が利用できません 059:500 Can&#039;t connect to www.google.co.jp:80 (Bad hostname &#039;www.google.co.jp&#039;) 048:サブドメイン転送処理の賢い方法 045:sambaが見えません。 040:はじめまして 030:Linuxの情報入手、勉強方法 011:CentOS5.7で自宅サーバで外部公開に失敗します。 Postfix メールサーバー 自宅サーバ 必見!あのDCDが来日!! 001:自宅の様子を写真をw 080: DMZの構築方法 profixでバーチャルサーバ 081:Xウィンドウが起動しない(GNOME) 075:サブドメインとIPアドレス ローカル接続のDB 韓国固定IP , 韓国からのDNSが 必要なら 連絡ください。 はじめまして! 質問 Perl cpan2rpmのインストール/使用方法 新品のサーバが¥14,800から( ・_・;) サーバーにメッセージ多発 ルーセント・グローバル、Linuxガジェット開発を促進へ 自宅サーバ公開方法 084:OSは64bitか32bitか 071:サーバ用の部品 066:自鯖が止まる理由改 047:ディレクトリによって使われるphp.iniを変える的な動作をしたい 035:RAID 033:アクセスログ検索スクリプトってないですか? 026:CGIファイルの関連づけ 016:結構前からあった、自鯖ML 004:(;´Д`)え、微妙に増えてきている… 【愛知、常駐プログラマ募集】 httpサーバを作りたい。サーバマシンがネットワークにつながらない問題 066:CentOSでの仮想化について教えてください〜  067:サーバーを1週間ダウンさせてしまいました。 015:使用ディストリビューション 073:おすすめルータ 076:ダイナミックDNS下で2台のホスト名にアクセスする方法 067:回線対策(落ちない自鯖) メールサーバーコミュを立ち上げました ディレクトリの破損!? perlバスについて質問 056:biglobeから中継サーバについて 042:Bフレッツ(or ADSL)マルチセッションでセカンダリDNS 018:X端末エミュレータ 005:自鯖でも、お手軽安く使える独自ドメイン Yahoo画面、あざむきかた知ってる方、ご連絡お待ちします。 064: 帯域制限のないプロバイダ 質問です。 OPENsshのセキュリティーについて 082:外付けHDD増設の手法と機器 074:おすすめOS 他人のADSLモデムに!! 039:Apacheの設定 050:メール受信をスイッチにしてPHPを起動させるサイト 036:割り当てるグローバルIPについて 008:White Box Enterprise Linux ML 正式版稼働報告! グリー携帯無限認証 どなたかご自宅で教えていただけませんか 003:哲学?持論? ネットワークインストールについて 083:Squidの設定について 011:よろしくおねがいします。 058:Sambaで転送したファイルが表示されない 051:SPAMフィルターの構築について [bsfilter&#043;MeCab] 049:今までのトピックのサマリー 046:ドメインのname serverの変更 029:TCPIPの勉強 027:Yahoo!BBの場合の設定について 020:DICEの質問 006:ClientOSにLinuxを使用し始める。

サイト内検索