トップページunix
1001コメント348KB

Apache関連 Part5

■ このスレッドは過去ログ倉庫に格納されています
0001攻撃ヘリAPACHENGNG
HTTP ServerのApacheに関する話題を扱うスレッドです。

前スレ Apache関連 Part4
http://pc.2ch.net/test/read.cgi/unix/1040312647/

Apache関連サイトへのリンクは >>2-5 あたり
0482名無しさん@お腹いっぱい。NGNG
あー、そういうことね。サービスを提供するクライアントへの
帯域を確保したいから、そのために接続数を縛りたいってことね。
なら 479が言うように、ポート分けて専用のhttpd上げれば?
読み込むモジュールも絞って軽めにするとか、うpろだ用は1.2x使うとか。
# 1.2xはメモリ檄軽なので用途によってはいまだ有効。
0483名無しさん@お腹いっぱい。NGNG
mod_throttle
0484名無しさん@お腹いっぱい。NGNG
mod_shibottoru
0485名無しさん@お腹いっぱい。NGNG
publicfile + dietlibc
0486名無しさん@お腹いっぱい。NGNG
ttp://mm.apache.or.jp/pipermail/apache-users/2002-January/000879.html
これ使ったんですよ。俺の腕では無理でしたが、機能としてはバッチリでした


>>479>>428
ポート開けってURLの後ろに「:8081」つけてアクセスしてね♪、ってことだよね?
むぬ・・・


mod_throttleはやりたい事とちがうし
0487名無しさん@お腹いっぱい。NGNG
誤>URLの後ろに「:8081」つけて
URLの後ろに「:8081」とか適当なポートつけて
0488名無しさん@お腹いっぱい。NGNG
>>486
> ポート開けってURLの後ろに「:8081」つけてアクセスしてね♪、ってことだよね?
べつに手でうつわけじゃあるまいに
0489名無しさん@お腹いっぱい。NGNG
mod_rewrite の使い方が分からず凹んでます。
RewriteEngine 自体は動いているのですが、ルールの設定がマズいらしく、
ループしてしまいます。

/~user/foo\.html
 → /~user/private/wrapper.cgi/foo.html

/~user/private/.*
/~user/private/wrapper\.cgi/.* に直アクセス
 → 403 Forbidden

…のような事をしたいんですが、可能でしょうか?
0490名無しさん@お腹いっぱい。NGNG
>>489
RewriteCond ${THE_REQUEST} private/
RewriteRule ^.*$ - [F,L]

みたいな感じで。
0491名無しさん@お腹いっぱい。NGNG
>>481
リーバスプロ串思い付いたなら,特定ディレクトリだけにそれを仕掛けりゃいいだろうに。
おまいさん,なんか抜けてる。
0492名無しさん@お腹いっぱい。NGNG
apacheのログから帯域にどのくらい負荷があったか知りたいのですがよいツールはありませんか?
0493名無しさん@お腹いっぱい。NGNG
analogでもwebalizerでも出来るだろ、そんなこと。
特殊な要望があるなら自分で書けばいいだけ。
0494ヽ(´ー`)ノNGNG
>>492
負荷が Web サーバだけにかかるわけじゃないから、
真面目にやるなら SNMP でやった方がいいと思うが。分業は大切だぞ。
0495名無しさん@お腹いっぱい。NGNG
んだんだ
ついでにload avarageもログ取るよろし
0496名無しさん@お腹いっぱい。NGNG
>>492
ログを表計算ソフトに読み込め
あとはわかるだろ(笑
0497名無しさん@お腹いっぱい。NGNG
ログを読み込んで時間当たりの転送料を出力するスクリプト作って、
mrtgでグラフにすればいいじゃん。
0498名無しさん@お腹いっぱい。NGNG
>>497
Apache のログから、帯域にどの程度負荷が掛かったかは分からん。
80番以外のポートにアクセスがあった場合、ログには残らないからな。
0499名無しさん@お腹いっぱい。NGNG
>>498
転送量が書いてあるっしょ。
それに、Apacheへのアクセスがどの程度回線に負荷を与えたかって事で
回線自体の負荷を知りたいとは書いてないだろ。
0500名無しさん@お腹いっぱい。NGNG
> 帯域にどのくらい負荷があったか
って言ったら、普通はApache以外も差すだろう。
0501名無しさん@お腹いっぱい。NGNG
帯域は決まってるから apache だけの帯域がわかれば割合(?)は分かるのでは?
0502名無しさん@お腹いっぱい。NGNG
>>500
普通、帯域の負荷をApacheの転送量から知ろうとしないだろ。
0503名無しさん@お腹いっぱい。NGNG
apache-2.0.48 ですが、CustomLog にパイプを使用した場合に、
httpd を落してもパイプ先のプログラムが生きています。
これはバグでつか? 漏れの自作プログラムがクソなのかと
思いましたが、rotatelogs でも同様ですた。
試した OS は FreeBSD 4.9R です。
# ちなみに apache-1.3.29 では問題なく死んでくれます。
0504名無しさん@お腹いっぱい。NGNG
>>502
apacheしか運用してないかも
0505名無しさん@お腹いっぱい。NGNG
tcpdumpしてhttpだけ集計しれ。
0506名無しさん@お腹いっぱい。NGNG
1MB のファイルを 1kB/s でダウンロードするのと 1MB/s でダウンロードするのとでは
回線の利用状況はまったく異なるわけだが、apache のログからはそんなことはわからん。
ログから調べようとするのがそもそもの間違い。
0507名無しさん@お腹いっぱい。NGNG
>>506
どうせ5分平均とかで見るんだから変わらん。
0508名無しさん@お腹いっぱい。NGNG
あけおめ。
apacheのログにある転送量って,Content-Lengthじゃなかったっけ??
0509名無しさん@お腹いっぱい。NGNG
> どうせ5分平均とかで見るんだから変わらん。
んなんことない、もしそんな事まじで思ってるなら・・・

例えば10Mくらいのデータを50人が同時にダウンロードするとき
クライアントやサーバの回線が細ければ時間がかかるが
終わった時間で集計するとその時間帯に500Mが流れた事になるぞ
0510名無しさん@お腹いっぱい。NGNG
だから SNMP 使えってばよ。
適材適所って言葉を知らんのか。
0511名無しさん@お腹いっぱい。NGNG
放置しようよ。
0512名無しさん@お腹いっぱい。NGNG
ファイルをダウンドードソフトとかでごちゃっと
持っていかれて帯域を食いつくしちゃうことがあるのですが、
これを制限するにはどうしたらよいでしょうか?
そういうクライアントにはある程度のウェイトさせたいたのです。
0513名無しさん@お腹いっぱい。NGNG
>>512
mod_limitipconnで特定のIPからの最大接続数を限定するしか思いつかない。
特定のAgentをdenyする方法は偽装で簡単に抜けるから。
0514512NGNG
ありがとうございます。調べます。
0515512NGNG
う、mod_limitipconnってのは、apache 2だけですか?
0516名無しさん@お腹いっぱい。NGNG
>>512
mod_throttle とか mod_bandwidth あたりはどうなのかな。
できたらやり方教えてくれ。
0517名無しさん@お腹いっぱい。NGNG
>>515 ちゃんとググればすぐわかるだろ
http://dominia.org/djao/limitipconn.html
0518512NGNG
うう、すみません。FreeBSDのportsにもはいってましたので
インストールは簡単にすみました。現在動作を観察中です。
0519512NGNG
入れたはいいけど、ちゃんと動いているのかどうか
どうすればチェックできるのかわからんという罠。
0520名無しさん@お腹いっぱい。NGNG
>>519
apache をインスコしたディレクトリの bin を見てみる。ab という
素敵なツールがあるじゃないですか。
man -M /usr/local/apache/man ab
# どうせ MANPATH を通してないだろうから -M なのさ。
0521名無しさん@お腹いっぱい。NGNG
Apache2.0.49まだ(・ε・)?
0522名無しさん@お腹いっぱい。NGNG
>>521 なんで?
0523名無しさん@お腹いっぱい。NGNG
お智恵を貸して下さい
アクセスしてくるIPが国内からか海外からかで、
表示するコンテンツを変えるにはどうしたらよいですか?
htaccessでIP拒否&403エラー時のページ指定だと、
ふつうの403エラーも同じになっちゃうし
何かいい方法ってあるでしょうか?
さがしても見つからなかったの クスン、、
0524名無しさん@お腹いっぱい。NGNG
analogでアクセスログを集計しようと思っているのですが、
自分のapacheにはvirtual domainがいくつもあり、それぞれ
のドメイン1つにつき1つのアクセスログを集計結果ページを
作成したいと思っているのですが、方法がわかりません・・・。
ドキュメントを読んだかぎりでは、
OUTPUT example1.com /usr/local/example1/...
OUTPUT example2.com /usr/local/example2/...
みたいにして、出力を分けることは分かったのですが、
INPUT の時にどうするのかが・・・。

ちなみにドメインごとにアクセスログ・ファイルは分けて
あります。
0525名無しさん@お腹いっぱい。NGNG
>>523
IPアドレスが国内か海外かってのを判別するのがまず困難かと思うが・・・

ちょっと違うけど、コンテントネゴシエーションとかは?
ttp://httpd.apache.org/docs-2.0/content-negotiation.html
# もっといい方法あったらフォローよろしく>偉い人
0526名無しさん@お腹いっぱい。NGNG
コンテントネゴシエーションっていうかMultiViewsでいいんでは。
apacheのマニュアルの構成みてみ。
エラードキュメントに使えるかどうかは知らないが。
0527名無しさん@お腹いっぱい。NGNG
画像が見れない人へ:ブラウザの言語設定を英語にしてください。
0528名無しさん@お腹いっぱい。NGNG
>>525
ttp://www.mtl.t.u-tokyo.ac.jp/~nminoru/memo/ip-address/what_country_from.html

これとmod_rewrite使うとかかな。
.htaccessが大きくてパフォーマンス落ちそうな気がするけど。
0529523NGNG
>>525-528
ttp://www.nic.ad.jp/ja/dns/jp-addr-block.html
ttp://www.blackholes.us/zones/country/japan.txt
↑この辺のIPリスト使ってみようとか思ってます。
コンテントネゴシエーション、MultiViewsなんてのもあるんですね。
知りませんでした。勉強になるなぁ。ありがとうございます

http://httpd.apache.org/docs-2.0/urlmapping.html#rewrite
http://httpd.apache.org/docs-2.0/urlmapping.html#documentroot
↑教えていただいたURLやらから漁ってみたらこんなのありました
ずばり528さんの言うmod_rewriteでいけるかも。わーい

でもそうかー、やっぱり.htaccess大きいとパフォーマンス落ちるんですね
httpd.confとかに直接かけば速かったりするのかしら
0530名無しさん@お腹いっぱい。NGNG
>>529
conf に直接書いた方が圧倒的に早いに決ってますが。
ついでに、できるなら AllowOverride None がなお良い。
0531名無しさん@お腹いっぱい。NGNG
.htaccessが読み込まれないようにするには httpd.conf で
どう記述すればいいんですか?
0532名無しさん@お腹いっぱい。NGNG
一つ上のレスくらい読めや。
0533名無しさん@お腹いっぱい。NGNG
Linux上のapache 1.3.x系で、childプロセスが非rootで動いているときに
Segmentation faultなどの場合にcore dumpさせる手順は、以下でよい
でしょうか?
1. mod_prctlを組込む
2. CoreDumpDirectoryをhttpd.confに設定し、そのディレクトリに
   childプロセスがcoreファイルを作成できるようにする。
3. /etc/profileにあるulimitの設定を書き直し、ulimit -S -c unlimited
   にする。
カーネルは全てのマシンが2.4.20なんですが、マシンによってcoredumpする
のとしないのがあって、原因をつかみかねています。coredumpしてくれない
マシン上でも、setuid-rootな実行ファイルをCで書いて頭のほうでprctl()を
呼ぶとちゃんとrootでcore dumpするので、OSカーネルそのものの問題では
ないと思います。とするとあとはApacheの側の問題だと思うのですが、どこを
いじってよいのか分かりません。Apacheのバージョンは1.3.29です。
0534名無しさん@お腹いっぱい。NGNG
>>533
2. は /var/tmp にでも設定したら? ディレクトリに書き込み権限があるように。
しかも 3. は関係ないと思うぞ。limits -U www とかしてみる。
0535533NGNG
>>534
CoreDumpDirectoryは、「childプロセスがcoreファイルを作成できるように」
してあります。
/etc/profileのulimitが関係あるのはどうしてかというと、RedHatの場合
ulimit -S -c 0 というふうに書いてあって、そのままだと/etc/init.d/httpd
からApacheを起動させたときにその設定をひきついでしまうからです。
0536名無しさん@お腹いっぱい。NGNG
>>535
(゚Д゚)ハァ?
0537名無しさん@お腹いっぱい。NGNG
質問です。
 RewriteRule 〜 と ScriptAliasMatch 〜の間に違いは何でしょうか?

 cgi-bin内のファイルにアクセスすると、RewriteRuleではソースが表示され
ますが、ScriptAliasMatchではCGIが動作しています。
 RewriteRuleではCGIは使えないのでしょうか?

(「Options ExecCGI FollowSymLinks」は設定しています)
0538初期不良NGNG
>>537
[P]
0539名無しさん@お腹いっぱい。NGNG
>>535 最終的に何がしたいのか書くか、もしくは犬板へどうぞ。
>>537 特に理由がないなら FollowSymlinks は殺す。ユーザが / にリンク張ったら...
0540名無しさん@お腹いっぱい。NGNG
>>538 >>539
 アドバイス、ありがとうございます。しかし、cgiの方がまだ動作しません。
 下のような設定では、cgiの方ではエラーもでずに、ループに陥ってるよう
です。申し訳ないですが、再度アドバイスをお願いします。

/xxx/members/foo/public_html/index.html ->/~foo/index.html
/xxx/members/foo/cgi-bin/index.cgi ->/~foo/cgi-bin/index.cgi
/xxx/members/bar/public_html/index.html ->/~bar/index.html
/xxx/members/bar/cgi-bin/index.cgi ->/~bar/cgi-bin/index.cgi
【設定】
RewriteRule /~([a-z]+)/cgi-bin/(.*) /xxx/members/S1/cgi-bin/S2 [P]
RewriteRule /~([a-z]+)/(.*) /xxx/members/S1/public_html/S2



0541名無しさん@お腹いっぱい。NGNG
ttp://musica.2y.net/~horn/
0542535NGNG
>>539 >>533に書いてあるように、childプロセスをroot以外の(nobodyなどの)
ユーザで動かしつつ、segmentation faultなどのようなエラーが起きたときに
core dumpさせるようにすることが目的です。core dumpさせたいのは、そうする
ことでデバッグが容易になるからです。

>>536 何が分からないのか分かるように書けよ、小僧
0543名無しさん@お腹いっぱい。NGNG
>>540
 まだ困っています。。。
 CGI以外の方をコメントアウトしても、>>540 と同じく、エラーも
でずにループに陥っている状態でした。
 つまり、2つのRewriteRuleの間で、無限ループに入っている訳で
はないようです。純粋に、RewriteRuleの記述にミスがあるようです。
 何がダメなんでしょうか。恐縮。

/xxx/members/foo/cgi-bin/index.cgi ->/~foo/cgi-bin/index.cgi
/xxx/members/bar/cgi-bin/index.cgi ->/~bar/cgi-bin/index.cgi
【設定】
RewriteRule /~([a-z]+)/cgi-bin/(.*) /xxx/members/S1/cgi-bin/S2 [P]
### RewriteRule /~([a-z]+)/(.*) /xxx/members/S1/public_html/S2
0544 NGNG
cygwinにApacheをツレッと一発でインストール出来る方法ってないでしょうか?
0545名無しさん@お腹いっぱい。NGNG
>>535
知識レベルとしてコアダンプさせる設定を施す<Apacheをデバッグする、
って普通なると思うんだけど…君自身ネタ臭いと思わないの?
0546542NGNG
>>545
「ネタネタ」うるさいんだよ馬鹿が。そんなにネタを相手にするのが
いやなら引っこんでろよ。お前の当たりもしない勘を披露するために
のこのこ出てくるんじゃないよクズが。

Apache(やモジュール)のデバッグを俺ができるかどうかは俺の質問には
影響しないだろ? 万が一ネタだとしても、他に落とし穴がある場合に
それを知っておくことはデバッグする人にとっては参考になるはず
だと思うけど(もっともApacheやphpやOpenSSLに新しいバージョンが出た
時に入れかえをするだけの人にとってはどうでもいい話だろうけど)。

デバッグしないといけない状況に一度でもなった経験がある人なら
core dumpなしに(他人が書いた)コードのバグを追うのがどれだけ
面倒か分かるよね。バグがあるモジュールを特定できている場合は
冷静にコードを読めば無理じゃないかもしれないけど、いつもそうとは
限らない。
rootで動かせば確かにcore dumpするだろうけど、そうするとcore dump
すること以外にはるかに大きなセキュリティーホールを開けることに
なるので普通だれもやりたがらない。
0547名無しさん@お腹いっぱい。NGNG
>>546
別にデバッグ中なら root で起動しても良いんじゃないですか?
まさかグローバルに置いてフリーアクセスで作業するわけでもあるまいし。
それに、root で core 吐かせてみたら、意外な場所に吐いたりして
何か発見があるかも。というわけで、段階的にやってみることをお勧めする。

まぁ、そう怒らずにマターリ行きましょうや。人によっては、その対応が
必死に見えて、より一層ネタに見えるんだろう。
0548 NGNG
>>544
自己レス

./configure --with-layout=Cygwin
0549名無しさん@お腹いっぱい。NGNG
>>546
システム依存の質問を延々と繰り返さずに犬板に帰れ。馬鹿。
0550546NGNG
>>547
今の状況は自前のモジュールをデバッグ、というんじゃなく、外に見せている
マシンでごくたまにApacheのchildプロセスがSegmentation faultを起こして
いるのが気味悪いので調べているというものです。テストマシンで容易に
再現できるならテストマシンrootでApacheを動かすのも手なんですけどね。
CoreDumpDirectory以外の場所へ吐こうとしている可能性については調べる
価値があると思います。

>>549 UNIX板はanti-linux板じゃないんだぜ? 煽るにしてもタイミングとか
煽り文句とか考えてから出直せよ。
0551名無しさん@お腹いっぱい。NGNG
>>550
馬鹿はcoreをカーネルが作成しているという事を理解していないようだな。
FreeBSD5.xならsysctlでcoreファイル名を指定できるから好きなところに好きな名前で作成できる。
Linuxにはそれなりの作法があるんだろう。だから犬板へ帰れといってるんだ。
わかったか? 低脳。
0552名無しさん@お腹いっぱい。NGNG
>>551は煽られるとつい情報を出してしまうタイプだな(笑

まあ、そういうわけなので、そちらの板に逝った方がスムーズに
回答を得られると思いまつ。
0553550NGNG
>>551
| 馬鹿はcoreをカーネルが作成しているという事を理解していないようだな。

どこからそういう推測を導き出してきたんだか。FreeBSD 4.xから既に
存在しているsysctlのエントリを自慢げに紹介する暇があったら人の
話をちゃんと読んで理解する習慣をつけて出直してきたら?
0554名無しさん@お腹いっぱい。NGNG
>>553
> Linuxにはそれなりの作法があるんだろう。だから犬板へ帰れといってるんだ。
こっちに反論できないなら引っ込みな。
0555553NGNG
>>554
過去のレスをいくつか読んで話の流れをつかんでから出直せといって
いるだろう。
0556名無しさん@お腹いっぱい。NGNG
>>555
必死だな。粘着力だけは認めてやる。
0557名無しさん@お腹いっぱい。NGNG
煽り以外のレスが付かないのは板違いもさることながら、>>555の人間性に欠陥があるのが原因だろう。
0558555NGNG
>>556
想像で物を言っている奴の論をサポートするための労力を俺がしなければ
ならない理由が理解できないよ。「Linuxにある作法」とやらを知らないなら
調べることぐらいできるだろうに、FreeBSDに存在する無関係な知識を持ち
だして何か偉いことをいった気になっているのが滑稽だよ。

>>557
いや、2chに限った話ではないけど、物を知らない奴ほどよく出しゃばって
くるので、本当に知っている人がいても教えてくれなくなるんだよ。
知らなくて調べる気もないなら黙っていればいいのに。しかも出しゃばる
奴ほど相手のいおうとしていることをよく読まずに分かったつもりになって
いるので、結局そいつに一から十まで説明するのに何回もメッセージを出さ
ないといけなくなる。FreeBSD質問スレでそういう奴にからまれて同じような
目にあったよ。
0559名無しさん@お腹いっぱい。NGNG
さすがにこれはネタだろう。
適切な板への誘導も済んでいるし、これ以上は放置でおながいします。
0560名無しさん@お腹いっぱい。NGNG
おれは、別にLinuxだけの問題とは思わんがな
0561558NGNG
>>560
今後予想されるゴミレス: >>558=>>560
0562名無しさん@お腹いっぱい。NGNG
>>558
繰り返し同じ目にあうのはお前の人格が破綻してるからだろ。
0563558NGNG
>>562 同じ奴がからんで来ているのかも
0564名無しさん@お腹いっぱい。NGNG
>>563
1 誰彼、問わず噛み付くキチガイ犬がいる。
2 >>558に絡まれる原因がある。
のどちらかだな。
板を観察している限り2の可能性が高い。
0565563NGNG
>>564
自分(と他の同類)がそう思うだけなのを「可能性が高い」などという
過度の一般化をするから、反論されて困ることになるんだよ。
0566名無しさん@お腹いっぱい。NGNG
煽り以外のレスがつかないのはUnix板のレベルが低下したからだと早く気付け馬鹿
0567565NGNG
>>566
そしてUNIX板のレベルが低下したのはお前のような浅いやつが
無知をさらしにのこのこでてくるからなんだよな。
0568名無しさん@お腹いっぱい。NGNG
Unix板もう駄目
0569名無しさん@お腹いっぱい。NGNG
↓次の質問どぞ〜
0570名無しさん@お腹いっぱい。NGNG
スミマセン、質問させて下さい。
apache1.3系列から、2.0への移行をしたいのですが
httpd.confを書き換えてくれるツールとかがどこかにあったのを
覚えているのですが、どこだったか思い出せません。
どこだったかご紹介いただけませんでしょうか
宜しくお願いいたします。
0571名無しさん@お腹いっぱい。NGNG
質問してる間に書き直したほうが早そうだ罠。
0572なつこNGNG
Apacheのインストールが終わり設定をしています。
ServerNameのところを書き換えようと、delキーで
文字を削除しました。
そしたら、文字が入力できなくなってしまいました。

よろしくお願いします。

VIエディタで開いています。
0573名無しさん@お腹いっぱい。NGNG
釣りはもういいよ……
0574名無しさん@お腹いっぱい。NGNG
>>572
dキーを押しっぱなしにするとすっきりするよ。
0575名無しさん@お腹いっぱい。NGNG
>>572
a押せばいいよ。
でも、Apacheと全然関係のない話題だね。
0576名無しさん@お腹いっぱい。NGNG
VI: command not found
0577名無しさん@お腹いっぱい。NGNG
確かにcoreもつくれないようなヘボが紛れ込む位には低レベル化してるな。
0578名無しさん@お腹いっぱい。NGNG
>>577
core 作ってもどうやって利用していいのかわかりません。
どうやってあれを調査するのか・・・
ヒントだけでも教えてください。
0579名無しさん@お腹いっぱい。NGNG
じゃ、ヒント。man core。

0580名無しさん@お腹いっぱい。NGNG
うんこだな。Unix板の馬鹿もLinuxカーネルの変な仕様も。
0581名無しさん@お腹いっぱい。NGNG
>>578 chmod +x core && ./core
■ このスレッドは過去ログ倉庫に格納されています