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

Apache関連 Part7

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。05/02/17 23:10:46
HTTP ServerのApacheに関する話題を扱うスレッドです。

前スレ Apache関連 Part6
 http://pc5.2ch.net/test/read.cgi/unix/1084829611/

●まずはマニュアル嫁。
 http://httpd.apache.org/docs/ Apache 1.3
 http://httpd.apache.org/docs-2.0/ Apache 2.0

●「自分」でバージョンぐらい調べるれ。
 httpd -h
 httpd -V コンパイル条件など詳細な情報

●Apache関連サイトへのリンクは >>2-5 あたりヨロ
0924名無しさん@お腹いっぱい。2005/12/02(金) 14:41:23
>>922は創価学会員
0925名無しさん@お腹いっぱい。2005/12/02(金) 18:13:03
>>923は原理主義者
0926名無しさん@お腹いっぱい。2005/12/02(金) 18:19:37
>>925は日本人の真似しか出来ない朝鮮人
0927名無しさん@お腹いっぱい。2005/12/02(金) 20:05:28
>>926は朝鮮人にレイプされて産まれた子だということを知らない子
0928名無しさん@お腹いっぱい。2005/12/02(金) 20:07:30
何このApacheスレに特有の流れ?
0929名無しさん@お腹いっぱい。2005/12/02(金) 20:24:25
http://httpd.apache.org/docs/2.2/new_features_2_2.html

に書いてない新機能が結構ある?

AcceptFilter
http://httpd.apache.org/docs/2.2/mod/core.html#acceptfilter
0930名無しさん@お腹いっぱい。2005/12/03(土) 01:00:46
>>912
親プロセスで開いたファイルハンドルを子プロセスに渡すので、
親プロセスの権限で読み書きされます。
0931名無しさん@お腹いっぱい。2005/12/03(土) 12:24:30
snoop - capture and inspect network packets
0932名無しさん@お腹いっぱい。2005/12/03(土) 21:16:44
http://httpd.apache.org/docs/2.1/mod/mod_log_config.html#bufferedlogs
複数のログを書き出す際に、それぞれのリクエスト処理後毎に 書き出すのではなく、いったんメモリに蓄えてから、 まとめてディスクに書き出すようになります。 この結果ディスクアクセスがより効率的になり、 高いパフォーマンスの得られるシステムもあるでしょう。

これってどんな場合は使ったほうがいいのかなあ?
0933名無しさん@お腹いっぱい。2005/12/04(日) 15:08:28
>>905
portsキタワァ*・゜゚・*:.。..。.:*・゜(n‘∀‘)η゚・*:.。. .。.:*・゜゚・* !!!!!
0934名無しさん@お腹いっぱい。2005/12/04(日) 16:02:04
>>932
バッファリングってことだから、ディスク I/O がボトルネックになっている
場合に使うわけでしょ。ログ専用のディスクを設置しても良いわけだし、
あくまでもソリューションの1つでしかない。同期書き込みじゃなくなるから、
apache や OS がコケた場合にログを失う可能性もあるわけだ。
0935名無しさん@お腹いっぱい。2005/12/04(日) 21:48:16
漏れ ab でベンチしたことあるけど、
extended status で処理状況見たらほとんどのプロセスが
ログ処理中だったりしたことあるよ。
あれって、ログの処理方法明らかに効率が悪いと感じた。
0936名無しさん@お腹いっぱい。2005/12/04(日) 21:53:47
BufferedLogs Onにしてみたが特にスコアに影響なかったな。
0937名無しさん@お腹いっぱい。2005/12/04(日) 22:32:11
OSが書き込みをバッファしている環境/FSでは
殆ど差はないと思うよ。
0938名無しさん@お腹いっぱい。2005/12/05(月) 04:14:54
>>937 んだな、OS やファイルシステムを比較しないと意味ない
0939名無しさん@お腹いっぱい。2005/12/05(月) 07:56:08
FreeBSDみたいな出来の悪いOSじゃないと差が出ない。ないないない。
0940名無しさん@お腹いっぱい。2005/12/05(月) 08:59:42
Apache2.2.0使ってるんだけど、httpd.confにこんな記述をしようと思った。

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml image/bmp
DeflateCompressionLevel 9
</IfModule>

最後の</IfModule>を</Ifmodule>と書いてしまい、mod_deflateが有効にならなかった。
気付いて、直して、 apachectl restart したんだけど、直らなかった。
apachectl stop してから apachectl start したら直った。これってバグ?
0941名無しさん@お腹いっぱい。2005/12/05(月) 14:40:43
apacheをインストールしたらbindをインストールする必要がありますと出たのだけれど、
apacheにbindは必要なのでしょうか?
環境はsuse linux 10.0です。
0942名無しさん@お腹いっぱい。2005/12/05(月) 14:45:06
(つд⊂)ゴシゴシ
  _, ._
(;゚ Д゚) Linux?
0943名無しさん@お腹いっぱい。2005/12/05(月) 14:54:04
>>941
ほんとにそんなこと書いてあったか?
よく読んでみ。
0944名無しさん@お腹いっぱい。2005/12/07(水) 18:34:50
tomcat 5.0.28 + apache 2.0.4 + mod_jk2

[Wed Dec 07 18:38:20 2005] [error] ajp13.connect() failed ajp13:***.***.***.***:8009
[Wed Dec 07 18:38:20 2005] [error] ajp13.service() failed to connect endpoint errno=9 Bad file descriptor
[Wed Dec 07 18:38:20 2005] [error] ajp13.service() Error forwarding ajp13:***.***.***.***:8009 1 1
[Wed Dec 07 18:38:20 2005] [error] lb.service() worker failed 120000 for ajp13:***.***.***.***:8009

# Example socket channel, override port and host.
[channel.socket:***.***.***.***:8009]
port=8009
host=***.***.***.***

# define the worker
[ajp13:***.***.***.***:8009]
channel=channel.socket:***.***.***.***:8009
group=lb

# Map the Tomcat examples webapp to the Web server uri space
[uri:/jsp-examples/*]
group=lb

[uri:/*]

*はIPです。

上記のようなエラーログが出力され、サーブレットページが開けない状況です。
原因がわかる方いらっしゃいましたら教えていただけないでしょうか。
0945名無しさん@お腹いっぱい。2005/12/07(水) 22:51:07
mod_jk2ってlocalhost(またはLAN)上にTomcatが動いてる前提じゃないの?
グローバルIPに接続しようとしてる気がするけど。
0946名無しさん@お腹いっぱい。2005/12/09(金) 15:19:09
The Apache Software FoundationおよびThe Apache HTTP Server Projectは 
2日(米国時間)、Apache HTTP Serverの最新版となる 
Apache HTTP Server version 2.2.0を公開したことを発表した。 
The Apache Software FoundationおよびThe Apache HTTP Server Projectは 
Apache HTTP Server version 2.2.0が現在リリースされている 
Apache HTTP Serverのなかでもっとも優れたバージョンであるとし、 
すべてのユーザにApache HTTP Server version 2.2.0へのアップグレードを推奨している。 

Apache HTTP Server version 2.2.0ではいくつもの機能拡張、改善、 
2.0コードベースと比較してパフォーマンスの向上などが施されている。 
なお、Apache HTTP Server version 2.2.0が動作する環境は 
Apache Portable Runtime(APR) version 1.2.2。APR 1.2.2は 
Apache HTTP Server version 2.2.0に同梱されている。 
既存の環境のlibapr、libaprutil、libapriconv(Win32など)といったAPRライブラリは 
バイナリ互換性や既知のプラットフォームバグを修正するためにアップデートする必要がある。 

Apache HTTP Server version 2.2.0における主な変更点は次のとおり。 

>>2 

サーバ管理者は使用するモジュールにバージョン依存があるといった理由がない限り、 
Apache HTTP Server version 2.2.0へのアップグレードを検討した方がよいだろう。 

http://pcweb.mycom.co.jp/news/2005/12/02/033.html ;
0947名無しさん@お腹いっぱい。2005/12/09(金) 21:54:55
また大地かよ。
0948名無しさん@お腹いっぱい。2005/12/09(金) 22:32:59
漏れ大地好き
0949名無しさん@お腹いっぱい。2005/12/10(土) 17:18:56
conf/extra以下に*.confが分かれたんだね。
見通しが良くなりそう。
0950名無しさん@お腹いっぱい。2005/12/10(土) 17:23:40
It works!
0951名無しさん@お腹いっぱい。2005/12/10(土) 17:39:44
どっちかというと、デフォの httpd.conf の最初の行が

# Based upon the NCSA server configuration files originally by Rob McCool.

から

# This is the main Apache HTTP server configuration file.

に変更になったことの方が感慨深い。
apache 1.0 がリリースされて以来10年たってようやく NCSA の文字が消えた。
0952名無しさん@お腹いっぱい。2005/12/12(月) 01:17:12
最近preforkMPMから、workerMPMに移行したんですが、server-statusについて質問です。

apachectl graceful を行ったときや、MaxSpareThreadsをオーバーしたときに、
終了するモードに入った小プロセスに繋がってるリクエストは、
そのまま残るんですが、○○ requests currently being processed (BusyWorkers)にカウントされないみたいです。

これって仕様としてあきらめるしかないんでしょうか?
一定時間ごとにBusyWorkersを数えてグラフにしてるんで・・・
0953名無しさん@お腹いっぱい。2005/12/12(月) 20:11:08
誰かがファイルをダウンロードしてるときに、サーバーを止めたり再起動すると、
そこでファイルが途切れて「ダウンロードが完了しました」となるんですが
(WindowsのIEとFireFOXで確認)
これってどうしようもないんですかねえ。

仕方ないのでうちはサーバーを止めたり再起動するときはLANMケーブル抜いてからやってます
0954名無しさん@お腹いっぱい。2005/12/12(月) 20:16:35
>>953
graceful じゃだめなん?
0955名無しさん@お腹いっぱい。2005/12/12(月) 20:19:59
>>954
普段はもちろんgracefulで再起動してます。
でも、どうしてもApacheを止めなきゃいけないときがたまにあって(今日もさっき止めることになった)
0956名無しさん@お腹いっぱい。2005/12/12(月) 20:55:29
apache 2.2 で graceful-stop つーのができるようになりました。
0957名無しさん@お腹いっぱい。2005/12/12(月) 21:00:26
>>956
シャットダウンに下手したら6時間とかかかるんだが…(GracefulShutdownTimeoutできるなら結局意味ないし)
0958名無しさん@お腹いっぱい。2005/12/12(月) 21:00:59
GracefulShutdownTimeoutできる

GracefulShutdownTimeoutで切る
0959名無しさん@お腹いっぱい。2005/12/12(月) 21:07:06
ん?全接続が終了しているにも関わらず、なぜか長時間shutdownされないままになるってこと?
それとも、もともと6時間かかるダウンロードを不思議パワーで超高速でダウンロードさせたいってこと?
0960名無しさん@お腹いっぱい。2005/12/12(月) 23:36:54
Content-Length: でサイズがちゃんと明示されてたり、
Transfer-Encoding: chunked だったりする場合には、
ダウンロードの途中でサーバの方から切断しても
完了してないということはちゃんとわかるはず。
逆にこれらのヘッダを応答に含めてないののならば
そういう現象が起きてあたりまえ。

実際のクライアントの動作は確認してないけど、
これらのヘッダを送ってるのにダウンロード完了扱いにするのならば
クライアントがタコなせいでサーバ側にはどうしようもないと思う。
これらのヘッダを送ってないのにそういう現象が起きると騒いでるのならば、
そりゃあんたがアホなだけだ。
09619532005/12/12(月) 23:48:11
>>959
ファイルを途切れさせるのがイヤだから、stopはやりたくない
graceful-stopだとダウンロード完了を待たなきゃいけないから下手したら数時間待つことになる
その間新たに接続して来た人は追い返すことになる
GracefulShutdownTimeoutを設定しちゃったらstopで止めるのと変わらない

>>960
ただのファイルなんで、Content-Lengthは送られています。(今念のため確認しました。)
というわけで、WindowsのIEとFireFoxがダメなのは分かってます。
そうはいっても、この2つがアクセスのほとんどな訳で…
0962名無しさん@お腹いっぱい。2005/12/12(月) 23:51:11
無茶言いますな。
09639532005/12/12(月) 23:53:17
やっぱこれはあきらめるしかないんですかね…

LANケーブルを抜けば、クライアント側はIEの場合は終了せず、
しかし1バイトも送られて来ず止まったままになってしまいます。
それはそれで問題ですが、途切れてしまうよりはいいやと考えています。
0964名無しさん@お腹いっぱい。2005/12/12(月) 23:56:16
ContentDigest on にすると、Content-MD5 に対応してるクライアントならば
ダウンロード失敗とみなすかも。そんなクライアントが存在するのかどうか知らんけど。
0965名無しさん@お腹いっぱい。2005/12/14(水) 19:31:57
ちょっとはまった。

# apachectl start
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

# kldload /boot/kernel/accf_http.ko
0966名無しさん@お腹いっぱい。2005/12/17(土) 12:30:50
ちょっと気になったことが・・・ググッたけどなにも出てこないしね。

apache1.3.3ですが、perlから無限ループのシェルを呼び出してそのままそのシェルを放置したらどうなるんでしょうか?
重いシェルを使ってやってみましたけど、元のperl自体はtimeoutされてシェル自体は残っていて通常にたたいたくらいの時間で処理が終了しました。
10分以上待ったのでこれ以上待ち続けるのもいやですし、もし何かの仕組みでkillされたとしてもその原因追求は困難だと思います。

ちなみにこの仕組みで大量にプロセスを残留させたら簡単にマシンをフリーズさせられそうで怖いですしね。

ヒントなどありましたらお願いします。
0967名無しさん@お腹いっぱい。2005/12/17(土) 12:38:02
ヒント: CGI禁止
0968名無しさん@お腹いっぱい。2005/12/17(土) 12:43:55
>>967
いや・・・だってそれは本末転倒だしw

普通にシェルのプロセスの親プロセスが1になるからapacheとも関係なくなる気がするから止めるとしたらどうやりゃいいんだろうと思うよ。。
0969名無しさん@お腹いっぱい。2005/12/17(土) 12:44:09
>ググッたけどなにも出てこないしね。

google に聞く前にドキュメントを読むことをすすめる。
ちゃんと書いてあるから。
0970名無しさん@お腹いっぱい。2005/12/17(土) 13:15:08
>>968
正解:CGI禁止
0971名無しさん@お腹いっぱい。2005/12/17(土) 13:42:27
>>969
いや、ごめんなさい、わかんないです。

ブラウザからcgiを開く→cgiは新しいプロセスとしてシェルを呼び出す(system関数を利用して絶対パスとしてシェルを指定)
→サーバータイムアウトでcgiのプロセス死亡→呼び出したシェルのプロセスは死亡するかと思いきや生存。

もちろんCGIの実行を許可するディレクトリ等の設定は抑えていますしsuexecの設定も読んでみましたが、直接の呼び出しでないしcgiのプロセスが死んだ後制御できるのかと不思議だしね。

もちろんユーザ自体に制限掛けてCPU使用率に制限掛けておけばいいのかと思いますがそれだとapacheに影響でそうなんでやだなあと

>>970
サーバの閉じられたイントラでの使用のみで許していただけないでしょうか?
0972名無しさん@お腹いっぱい。2005/12/17(土) 14:25:30
さじ加減の話はウザい。てめえの経験次第だ。
0973名無しさん@お腹いっぱい。2005/12/17(土) 14:58:59
もうちょっと具体的に書いてくれないと何が心配なのかさっぱり分からん。
0974名無しさん@お腹いっぱい。2005/12/17(土) 16:50:33
CGIを一般利用者に公開する以上は利用者の善意に期待するしかない
CPUとかメモリとかプロセス数とかある程度は制限出来るけど
悪意の有る悪戯や妨害には焼け石に水
管理者としては精々パトロールスクリプトを定期的に実施しておかしなプロセスを殺していくくらいしかないと思う
まあ一番の対策は利用者の身元を確実に確認してサーバ運営に支障が出たら損害賠償云々の利用規約を盛り込む事かな、
そうすればかなりの牽制になる。
0975名無しさん@お腹いっぱい。2005/12/17(土) 17:31:07
ulimitで制限する。
CPU時間で課金する。
0976名無しさん@お腹いっぱい。2005/12/17(土) 17:33:26
課金云々より悪質なCGIを弾くのが目的では
ulimitが役に立つかな?
0977名無しさん@お腹いっぱい。2005/12/17(土) 17:58:43
ApacheならRlimitってなかった? 2.xだけ?
0978名無しさん@お腹いっぱい。2005/12/17(土) 22:13:14
いた電でも嫌がらせ電話でも電話かけて(ちゃんと支払って)くれる客はいい客。
by 電話会社
0979名無しさん@お腹いっぱい。2005/12/19(月) 08:06:24
suEXEC + RLimit が簡単で効果が高いですね。
0980名無しさん@お腹いっぱい。2005/12/27(火) 09:24:14
.htaccess を晒さないために、/etc/httpd/conf/... で
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
とやっていて、おおむね期待したようにプロテクトかかる
のは確認してる。が、パスワード認証したディレクトリに
限っては、このプロテクションが動作しない。つまり、
<Directory "/var/htdoc/hondara">
Options Indexes
AuthType Basic
AuthName "Only Known Users"
AuthUserFile /etc/httpd/conf/password
Require user aitsu
Order allow,deny
Satisfy Any
</Directory>
なんて風にした状態で、ユーザ aitsu は、
http://www.andara.com/hondara/.htaccess をアクセス
できてしまう。これ、好きくない。
おいらの何処がアホなのか、教えてたも。

0981名無しさん@お腹いっぱい。2005/12/27(火) 13:45:56
> Satisfy Any
0982名無しさん@お腹いっぱい。2005/12/27(火) 14:10:41
satisfyは関係ないだろ。
FilesでDenyしたのに、DirectoryでAllowしちゃってるから、Allowされるの
あたりまえじゃん、ってことでしょ。
0983名無しさん@お腹いっぱい。2005/12/27(火) 15:35:27
喜べ>>980。おまえよりも>>982のほうがかなり重症のアホだ。
09849802005/12/27(火) 15:52:45
>>982 >>980で書いた <directory> の中に
<Files> 入れてみても、だめなんすけど。

>>983 そんな、誉められたら照れるぢゃ
ないすか。
0985名無しさん@お腹いっぱい。2005/12/27(火) 16:00:40
>980
そもそも ACLを外からhttpでアクセスできる位置におくっていうのがどうなのよ。
09869802005/12/27(火) 16:03:43
>>981
<Directory "/var/htdoc/hondara">
Options Indexes
AuthType Basic
AuthName "Only Known Users"
AuthUserFile /etc/httpd/conf/password
Require user aitsu
</Directory>
でなきゃいけなかったんすね。わかりますた。どもです。
0987名無しさん@お腹いっぱい。2005/12/27(火) 18:31:15
Satisfy ALL がデフォだからな
0988名無しさん@お腹いっぱい。2005/12/31(土) 19:42:46
kakiko test
0989名無しさん@お腹いっぱい。2006/01/01(日) 19:13:00
age
0990名無しさん@お腹いっぱい。2006/01/01(日) 19:33:44
akeome
0991 【凶】 2006/01/01(日) 20:30:28
kotoyoro
0992名無しさん@お腹いっぱい。2006/01/02(月) 16:15:02
hoshu
0993名無しさん@お腹いっぱい。2006/01/03(火) 19:01:49
993
0994名無しさん@お腹いっぱい。2006/01/04(水) 16:46:46
次スレ

Apache関連 Part8
http://pc8.2ch.net/test/read.cgi/unix/1136360783/
0995名無しさん@お腹いっぱい。2006/01/05(木) 13:56:00
1000
0996名無しさん@お腹いっぱい。2006/01/06(金) 01:43:30
996
0997名無しさん@お腹いっぱい。2006/01/07(土) 03:48:20
mod_perl使う香具師は氏ね。重い。
0998名無しさん@お腹いっぱい。2006/01/07(土) 04:10:00
1000
0999名無しさん@お腹いっぱい。2006/01/07(土) 04:31:26
999
1000名無しさん@お腹いっぱい。2006/01/07(土) 04:32:49
ぬるぽ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。