Apache関連 Part10

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
HTTP ServerのApacheに関する話題を扱うスレッドです。
http://httpd.apache.org/

HTTP Serverの最新Versionは
Apache/2.2.2
Apache/2.0.58
Apache/1.3.36

●インストール済みApacheの詳細情報の調べ方
httpd -h 簡易ヘルプ
httpd -v バージョン情報
httpd -V コンパイル条件など詳細な情報
httpd -l 静的リンクされたモジュール一覧
httpd -M 現在の設定ファイルで読み込まれるモジュール(2.2以降)

●公式マニュアル
http://httpd.apache.org/docs/1.3/ Apache 1.3
http://httpd.apache.org/docs/2.0/ Apache 2.0
http://httpd.apache.org/docs/2.2/ Apache 2.2

●ディレクティブ一覧
http://httpd.apache.org/docs/1.3/mod/directives.html
http://httpd.apache.org/docs/2.0/mod/quickreference.html
http://httpd.apache.org/docs/2.2/mod/quickreference.html

21:2007/05/20(日) 11:23:58
31:2007/05/20(日) 11:27:50
>>1 訂正!

HTTP Serverの最新Versionは
Apache/2.2.4
Apache/2.0.59
Apache/1.3.37
4名無しさん@お腹いっぱい。:2007/05/20(日) 12:34:16
よんさま阻止
5名無しさん@お腹いっぱい。:2007/05/20(日) 12:36:17
        __,,,,,.......,,,,,
    ,. -'´         ``ヽ、
   / .. ,.  ,,.. -ー''''''''−- ..,,,  \
  / .:.r' ::i'"Sex☆,,,.......,,,,,__  `i:   ',                     /
 ,' :: : l: : :l,. :r〒~t i: :rl: l〜ーi:lrj、.l:   l                /
 i .: : :.l : :|i :!,. ;t 十l: l.l: l   |:L_ .i`i: : l             /
 l : : : :l::: :l: :i l:! __!, l:l l:!   ll,._` l.|:!:. l           /
 l : : : :l : l::l  ,.r‐t-!、 tl   rt-!、 l:l::i.. l            /
 | .: : :;,,l : :l:! / iー' l     l' l l.!i::l:: l       ,.、
 l : : :i,ヘl:: :l:l ` ヒ,__,ノ      ヒノ. 'il:: l:: l       /,,,,,,\
 l :: :: ヽ,i:: :l゙ ""    ___ '  "i : !:;,! ,.. -ー'' ll;;;;;;;;;;;;゙i゙i
 ! : : : : : l ::l      !`'  Y   /:r'´ /::/   l ヽ;;;;;;;;;;;l l メルコのルータを使え☆
 | : : : : ,: l:::lゝ.,,    ヽ、 ' ,, イ:!i  l;;;;l p   |  l;;;;;;;;;;;l l
 l : : : : i: :ヽl : : :`T''  r:;‐''::´i: : l! .l;;;;l .leer. .l ,/;;;;;;;;;;;l l
 l :: :l : :l: : : : :,.K´` t,  λi:;!: : ::li゙‐.!;=!r ...,,,__ ll;;;;;;;;;;;//
 l :l :l: : l:: : :i :!. `'' t ` ''´  lヽ;!: !'  /つヘ~t  \ '''''/
 l :l :l,:: l: : :l,l ::',   .i  (…) .l ヾ、 iλニ l

800 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2006/06/21(水) 07:06:01
>>799
メルコのルータを使え。アタックブロックをONにすれば、1つ(2つぐらいは可能だったかも)以上の
接続が同時に来た場合、2つ目以降を弾いてくれる。
6名無しさん@お腹いっぱい。:2007/05/20(日) 12:37:13
ひっぱりすぎ。

メルコ乙

6でもないな
7名無しさん@お腹いっぱい。:2007/05/20(日) 12:37:55
7 セブン 7 セブン

セブン セブン セブン ぷるるぅー

セブン セブン セブン ぷるるぅー

もー ろ ぼ し だ ん のぉー

なぁー をぉー かぁー りぃー てぇー

ぷるるぅー ぷるるぅー
8名無しさん@お腹いっぱい。:2007/05/20(日) 12:38:42
8 エイト 8   8   8
8 エイト エイト エイト エイト 

チャチャラチャ

光る海 光る大空 ひぃーかる大地

チャチャラチャ

8 エイト 8   8   8
8 エイト エイト エイト エイト 

チャチャラチャ

8 エイト 8   8   8
8 エイト エイト エイト エイト 

チャチャラチャ

8 エイト 8   8   8
8 エイト エイト エイト エイト
9名無しさん@お腹いっぱい。:2007/05/20(日) 13:50:57
アタックブロックをONにすると、ダウンロードされない画像がいくつも出てくるのですが仕様ですか?
10名無しさん@お腹いっぱい。:2007/05/20(日) 23:21:47
>>5 はテンプレです。
11名無しさん@お腹いっぱい。:2007/05/21(月) 01:48:44
        __,,,,,.......,,,,,
    ,. -'´         ``ヽ、
   / .. ,.  ,,.. -ー''''''''−- ..,,,  \
  / .:.r' ::i'"Sex☆,,,.......,,,,,__  `i:   ',                     /
 ,' :: : l: : :l,. :r〒~t i: :rl: l〜ーi:lrj、.l:   l                /
 i .: : :.l : :|i :!,. ;t 十l: l.l: l   |:L_ .i`i: : l             /
 l : : : :l::: :l: :i l:! __!, l:l l:!   ll,._` l.|:!:. l           /
 l : : : :l : l::l  ,.r‐t-!、 tl   rt-!、 l:l::i.. l            /
 | .: : :;,,l : :l:! / iー' l     l' l l.!i::l:: l       ,.、
 l : : :i,ヘl:: :l:l ` ヒ,__,ノ      ヒノ. 'il:: l:: l       /,,,,,,\
 l :: :: ヽ,i:: :l゙ ""    ___ '  "i : !:;,! ,.. -ー'' ll;;;;;;;;;;;;゙i゙i
 ! : : : : : l ::l      !`'  Y   /:r'´ /::/   l ヽ;;;;;;;;;;;l l NTTのルータを使え☆
 | : : : : ,: l:::lゝ.,,    ヽ、 ' ,, イ:!i  l;;;;l p   |  l;;;;;;;;;;;l l
 l : : : : i: :ヽl : : :`T''  r:;‐''::´i: : l! .l;;;;l .leer. .l ,/;;;;;;;;;;;l l
 l :: :l : :l: : : : :,.K´` t,  λi:;!: : ::li゙‐.!;=!r ...,,,__ ll;;;;;;;;;;;//
 l :l :l: : l:: : :i :!. `'' t ` ''´  lヽ;!: !'  /つヘ~t  \ '''''/
 l :l :l,:: l: : :l,l ::',   .i  (…) .l ヾ、 iλニ l
12前スレ988:2007/05/21(月) 03:07:49
皆さんレスありがとうございます。

>>前スレ991
現象を整理してみたんですが、分割ダウンロード機能があるダウンローダーにて、
許可してるセッション数までは206でちゃんと分割ダウンロードしているようですが
同時に接続しきにてオーバーしたセッションに関しては、1つ目は503で返るものの
2つ目以降が416になってしまうようです。

例)maxが2の時

1:ダウン中>完了すれば206
2:ダウン中>完了すれば206
3:接続数オーバー>503
4以降:なぜか416

>>前スレ993
他のモジュールと相性悪かったりするんでしょうか??
bandwidth、throttle、limitipconnが同居してますが。。。
13名無しさん@お腹いっぱい。:2007/05/21(月) 09:48:46
だからRequested Range がおかしいんだろ
14名無しさん@お腹いっぱい。:2007/05/21(月) 17:25:37
同一IPからの集中したアクセスを遮断する方法を教えて下さい
15名無しさん@お腹いっぱい。:2007/05/21(月) 17:32:18
16名無しさん@お腹いっぱい。:2007/05/21(月) 18:26:40
Requested Range が変なら全部416になるんじゃね?

bandwidthなんて使ってんのか?
17名無しさん@お腹いっぱい。:2007/05/21(月) 18:56:45
>>16
前スレ988は自分で実験したわけじゃなくて、アクセスしてきた野郎のログを元に言ってるだけ。

988 名無しさん@お腹いっぱい。 [sage] 2007/05/20(日) 02:57:45
>>987
うーん、それは調べたのですよ。
でも、どうやら違うようで。

FlashGet等を使って分割ダウンロードしている香具師の複数接続をlimitipconnで弾いているのに
クライアントに503ではなく、416が返るのがサッパリ。。。
18名無しさん@お腹いっぱい。:2007/05/21(月) 19:08:56
503のエラードキュメントに対してRangeを指定したリクエストをしてるって事になって416じゃないの?
19名無しさん@お腹いっぱい。:2007/05/21(月) 19:21:11
>>18
そんなことはありえない
200と206の違いを考えてみろ
20前スレ988:2007/05/21(月) 20:22:17
実験しました。
>>12で書いた例の挙動になりました。

bandwidthは使ってませんが、モジュールだけ組み込んであります。
21名無しさん@お腹いっぱい。:2007/05/21(月) 20:29:48
そういやHostNameLooksUpをOnにしてたり、ホスト名での規制かけてない?
どういうことかというと、limitipconnは厳密に制限してくれるとは思わないほうがいい。

んで、その416は本当に Request Range は正しいの?
416が返ってくる事実は分かったから、なぜ416が返ってくるのか考えてみようぜ。
とりあえずアクセスログ(エラーログじゃないほう)にリクエストのRangeヘッダーを記録したほうがいい。

分割ダウンロード機能付きダウンローダーなんて、俺から言わせればHTTPを中途半端に理解した
自己中DQNプログラマが作ってるのがほとんど。
できればwgetとか使って試したほうがいい。
22前スレ988:2007/05/21(月) 21:45:51
>>21
HostNameLookUpはoffですし、.htaccess等ではIPで規制しているのですが…ハテ?

RequestRangeですが、ダウンローダーのステータス画面にでる
リクエストとrfc2616の書式などはいちおう合っている
ように読めます。理解力不足かもしれませんが。。

ちなみにRequestRangeをログで吐き出させる場合は
LogFormatは"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined から
どのように変えれば良いでしょうか??
2314:2007/05/22(火) 00:47:07
>>15
参考になりました thx
24名無しさん@お腹いっぱい。:2007/05/24(木) 03:33:56
名前ベースのバーチャルホストでも、
SSLが使用できるようになる可能性ってあるのでしょうか?
いつか出来るようになると聞いたのですか・・・。

また、Apache以外で可能なものありますか?
25名無しさん@お腹いっぱい。:2007/05/24(木) 10:32:50
もう出来てるみたいだよ
26名無しさん@お腹いっぱい。:2007/05/24(木) 16:24:56
詳細キボンヌ
27名無しさん@お腹いっぱい。:2007/05/24(木) 20:07:46
IISで出来たような・・・
28名無しさん@お腹いっぱい。:2007/05/24(木) 21:30:16
全部入りのサーバ証明書つかう。
29名無しさん@お腹いっぱい。:2007/05/24(木) 22:58:22
IISでもなにも、証明書次第なんだからサーバ関係なくね?
30名無しさん@お腹いっぱい。:2007/05/24(木) 23:46:10
自己証明じゃ信頼性も何もないと思うのだが
(複数サーバ入りの証明書なんて怪しさ倍増)
まともな認証局で全部入り証明書って発行してもらえるのか?
31名無しさん@お腹いっぱい。:2007/05/24(木) 23:48:30
32名無しさん@お腹いっぱい。:2007/05/25(金) 01:18:15
@ITにもあった。
ttp://www.atmarkit.co.jp/flinux/special/apache22/apache01.html

ポート80番に平文で接続してからTLS暗号化通信に移行するRFC 2817スタイル。
ただし、これに対応したWebブラウザが皆無であるため、
実際に使われるようになるのはまだ先の見通しです。
RFC 2817スタイルが広く使われるようになると、
HTTPはサービスポート80番、HTTPSはサービスポート443番という区別が不要になり、
名前ベースで設定されたバーチャルホストのHTTPSも可能になります。

apache2.2以上
対応ブラウザ皆無

5年後くらいかな・・・

33名無しさん@お腹いっぱい。:2007/05/25(金) 04:42:59
某企業から妨害工作される悪寒
34名無しさん@お腹いっぱい。:2007/05/25(金) 10:48:29
>5年後くらいかな・・・
その前にM社が独自規格を出して他が仕方なく追従・・・
35名無しさん@お腹いっぱい。:2007/05/25(金) 11:03:22
M社ってどこ?
36名無しさん@お腹いっぱい。:2007/05/25(金) 11:45:32
そりゃMのマークのモトローラだろ
37名無しさん@お腹いっぱい。:2007/05/25(金) 12:53:12
Mosaic Commu(ry
38名無しさん@お腹いっぱい。:2007/05/25(金) 16:27:27
M&S
39名無しさん@お腹いっぱい。:2007/05/25(金) 20:36:51
Micron
40名無しさん@お腹いっぱい。:2007/05/26(土) 22:33:28
Microware
41名無しさん@お腹いっぱい。:2007/05/27(日) 13:18:20
メ ル コ

メルコのルータを使ってない香具師にはわからんだろうなw
42名無しさん@お腹いっぱい。:2007/05/28(月) 23:43:53
>>22
漏れも似た症状で続き気になってんだけどマダー?
43名無しさん@お腹いっぱい。:2007/05/30(水) 17:59:28
dev@httpd で、セキュリティー上の問題で議論になってる?
んで、それに関連して新しいバージョンがリリースされるかもしれない
44名無しさん@お腹いっぱい。:2007/06/01(金) 16:21:58
CPUが複数ならworkerMPMのほうがいいの?
preforkもマルチプロセスだから、「シングルCPUかマルチCPUか」はMPM選択には関係ないですよね
45名無しさん@お腹いっぱい。:2007/06/02(土) 01:26:25
つ apache2-mpm-event
46名無しさん@お腹いっぱい。:2007/06/02(土) 08:56:28
EventMPMは使ったことあるけど、メモリ使用量肥大がなぜか肥大するんだよなあ
47名無しさん@お腹いっぱい。:2007/06/02(土) 09:07:03
CPU一個だけどWorkerだな
preforkの次の世代と思ってそっち選んだけど、あんま変わんないねえ
48名無しさん@お腹いっぱい。:2007/06/02(土) 16:24:07
FreeBSD+Apache2.2.3で、mod_rewriteを使えるようにしたいのですが
再コンパイルしか方法は無いのでしょうか?
やりたい事は、特定のIPからの接続を別ページへ飛ばす、という事なので
mod_rewrite以外でこの操作を行う方法がありましたら、教えていただけませんでしょうか
49名無しさん@お腹いっぱい。:2007/06/03(日) 12:03:07
みなさんmod_deflateの設定どうしてますか?
もし良かったら晒してください。自分はこうしてます。
<Location />
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>
50名無しさん@お腹いっぱい。:2007/06/03(日) 13:22:43
AddOutputFilterByType DEFLATE text/html text/plain text/xml image/bmp
この1行だけ
51名無しさん@お腹いっぱい。:2007/06/03(日) 22:08:01
>>50
参考にならないー><
5250:2007/06/04(月) 01:18:42
行数は関係ないだろ
53名無しさん@お腹いっぱい。:2007/06/04(月) 08:12:21
>>48
CGIやスクリプトで飛ばす。超富豪。
apxs2でソースからrewriteだけ作れば?
5422:2007/06/04(月) 17:03:36
>21
なんとかログ取るようにしまして、確認しましたところRequestRangeは正しいようです。

ますます謎が深まりました。。。
55名無しさん@お腹いっぱい。:2007/06/11(月) 14:42:51
http://gnug.nu/
mod_setenvauthpw ってモジュールを使った事ある人いますか?
っていうか、このモジュールってちゃんと動作するのか、知ってる人おりますか?
CentOS4+Apache/2.0.52で導入してみたのですが、期待した機能が
全く動作しません。
Basic認証時のPasswordを取得する方法は無いんでしょうか.....?
56名無しさん@お腹いっぱい。:2007/06/23(土) 01:39:54
ある特定のディレクトリへのアクセスだけ、ログファイルを分けたいのですが
confファイルにどのように記述すればいいでしょうか?
(仮に「/test」というフォルダがあるとして、このディレクトリへのアクセスだけログを別ファイルに記載したい)
Virtualhostディレクティブの中に

<Directory /test>
ErrorLog /var/log/apache/test_error.log
TransferLog /var/log/apache/test.log
</Directory>

と書いたらエラーが出てしまいました。
57名無しさん@お腹いっぱい。:2007/06/23(土) 05:58:50
http://httpd.apache.org/docs/2.2/mod/directive-dict.html#Context
RTFM

後で分けるか、パイプ出力して別けることになるんだと思う。
実際やっている人の方法が判れば確実だね。
58名無しさん@お腹いっぱい。:2007/06/23(土) 17:01:54
>>56
通常のログの設定のあたりに

SetEnvIf Request_URI "/test" testlog
CustomLog /var/log/httpd/test.log combined env=testlog

これで行けると思う
59名無しさん@お腹いっぱい。:2007/06/23(土) 18:28:53
>>58
この方式でできました、ありがとうございました
60名無しさん@お腹いっぱい。:2007/06/28(木) 18:05:44
mod_layoutについて質問なんですが
LayoutIgnoreURIを使用して
/test.php?allow=
には適用し
/test.php?deny=
の場合のみスルーするというような記述は出来ませんか?
スクリプトへの特定のリクエストにのみlayoutを切りたいのですが。
環境はApache/1.3.37 mod_layout/3.2です。
htaccessを使って
LayoutIgnoreURI /test\.php
とするとtest.phpへの全てのリクエストに効いてしまい
LayoutIgnoreURI /test\.php\? ...
とするとエラーにはならないのですが期待通りには動いてくれません。
よろしくお願いします。
61名無しさん@お腹いっぱい。:2007/07/03(火) 17:44:13
アウトプットフィルターを呼び出すモジュールを作ってみたのですが、制御方法がわかりません。
httpd.confに以下のように記述しました。

LoadModule xxx_module modules/mod_xxx.so

するとサーバ上どこでもフィルターがかかってしまいます。
私が設定を間違えているのでしょうか?
ご存知の方がいらっしゃいましたらよろしくお願いします。

OS:Linux #1 Thu Jun 2 22:55:56 EDT 2005
アパッチのバージョン: Apache/2.0.58
62名無しさん@お腹いっぱい。:2007/07/06(金) 10:18:34
>>61
何がしたいんだよw

バーチャルホストごとに使いたいの?
ディレクトリ(URL)ごとに使いたいの?
モジュールを初期化する時点でmergeしてるの?

server_rec *s;
request_rec *r;
xxx_server_conf *conf = ap_get_module_config(s->module_config, &xxx_module);
xxx_dir_config *conf = ap_get_module_config(r->per_dir_config, &xxx_module);

ソース晒した方が早いと思われ。
63名無しさん@お腹いっぱい。:2007/07/10(火) 16:23:45
mod_rubyについてです。
*.rbxにアクセスしてもソースがそのまま表示されるのは
どうしてですか?
64名無しさん@お腹いっぱい。:2007/07/10(火) 18:18:56
>>63
AddTypeしてるんだろうな
65名無しさん@お腹いっぱい。:2007/07/11(水) 08:45:10
http://svn.apache.org/viewvc?view=rev&revision=554744
>Try to unify format of changelog entries for 2.2.5

そろそろ2.2.5が出るのかな?
66名無しさん@お腹いっぱい。:2007/07/11(水) 10:16:34
>>64
AddTypeしてないんだけど。。。。
なんかいじってたら、Forbiddenになっちゃうようになった。
わけワカンネから777にして、実行権限も与えたんだけど
だめみたい。
67名無しさん@お腹いっぱい。:2007/07/14(土) 04:09:36
AddTypeしろ、自分のやったことも説明できない馬鹿は氏ね
68名無しさん@お腹いっぱい。:2007/07/14(土) 07:51:28
MaxRequestsPerChild について質問です。
(バージョンはApache/2.0.59)

http://httpd.apache.org/docs/2.0/mod/mpm_common.html#maxrequestsperchild

上記のURLにて、
「サーバ負荷が下がった時にプロセス数を少なくすることができる」
と記載されています。

そもそもサーバの負荷が少ない状態は、リクエスト自体が無い(少ない)状況なので、
サーバ負荷が下がった時にプロセスが停止する機会が無いと思うのですが?

どっちかというと、サーバ負荷が高い(=リクエストが多い)時に、
プロセスが停止する機会が多いように見受けられるのですが、どうなのでしょうか?
69名無しさん@お腹いっぱい。:2007/07/14(土) 14:40:43
その設定、複数サイト相乗りとかならまあ目的としてあるけど、
いつもはメモリリークへの防御手段としてプロセスを殺す間隔の設定として使ってる。

サーバ負荷軽いなら、別にプロセスが多少多かろうと少なかろうとどうでもいいわけで。
メモリ使用量減らしても微小な電力消費抑制位にしかならん。相乗りの場合でもワースト
ケース設計するのであれば、やっぱりあまり意味ないし。
70名無しさん@お腹いっぱい。:2007/07/15(日) 01:03:20
漏れも>>69と同じだなぁ。
apacheを標準状態で使ってる分には、まずメモリリークしないと思うけど、
サードパーティーのモジュールやらライブラリやらを組み込んでいると、
ちょっと恐い気持ちもあるので、気休めだけど1000ぐらいを入れてます。
71名無しさん@お腹いっぱい。:2007/07/15(日) 11:57:08
複数のバーチャルホストのアクセスログの容量を
それぞれ指定容量分のみ維持させる良い方法ってないでしょうか?

rotatelogs を使うと、アクセス多いほどかなり負荷アップしそうで
いやなんですが。

ログの容量チェック+ファイル名変更、みたいなスクリプトを自作して
cronでまわす方がいいんでしょうか。
72名無しさん@お腹いっぱい。:2007/07/15(日) 23:15:47
CustomLog "| /usr/local/apache2/bin/rotatelogs /path/to/access_log 100M" common
73名無しさん@お腹いっぱい。:2007/07/15(日) 23:16:38
あ、ごめん。rotatelogsは嫌なのか。
74名無しさん@お腹いっぱい。:2007/07/18(水) 00:12:29
IPの範囲でアクセス規制したい場合、IPの表記はどのようにすればいいのでしょうか?
例えば、200.0.0.0から200.0.50.255までを規制したい場合などです。
200.0.0.*-200.0.50.* とかでは規制が働きませんでした。
75名無しさん@お腹いっぱい。:2007/07/18(水) 03:18:15
76名無しさん@お腹いっぱい。:2007/07/18(水) 23:53:00
>>74
200.0.0.0/255.255.205.0
とかやれば良いんじゃないか。
050の所が 205で良いのかは間違えてるかもしれんが。
77名無しさん@お腹いっぱい。:2007/07/19(木) 02:40:48
>>76
間違えてる。
205 は2進数で 11001101 だよ。
78名無しさん@お腹いっぱい。:2007/07/19(木) 02:44:13
>>74
for i in {0..50}; do echo 200.0.$i.0/24; done | aggregate

ftp://ftp.isc.org/isc/aggregate/
79名無しさん@お腹いっぱい。:2007/07/23(月) 15:50:47
::1 - - [21/Jul/2007:23:27:18 +0900] "GET / HTTP/1.0" 302 300 "-" "Apache/2.2 (internal dummy connection)"

といったログが1分間に50行くらい出て、そのままサーバーごとダウンしてしまう事が
多いのですが、何か対策法ありませんか?
DebianのパッケージのApache2.2.3を使っています。
80名無しさん@お腹いっぱい。:2007/07/23(月) 23:23:57
graceful-stopとかを使わない。
81名無しさん@お腹いっぱい。:2007/08/03(金) 20:29:36
apacheのプロセス番号から、
そのプロセスが処理した内容を知る方法があれば教えて下さい
82名無しさん@お腹いっぱい。:2007/08/03(金) 20:41:11
>>81
LogFormatの%Pで子プロセスのPIDが取れるよ。
http://59.106.2.6/manual/mod/mod_log_config.html#formats
プロセスの挙動まで細かく知りたいならtrussとかstraceとか。
83名無しさん@お腹いっぱい。:2007/08/04(土) 11:23:45
>>81 何をしたいのか書かないと分からんぜよ。
84名無しさん@お腹いっぱい。:2007/08/05(日) 01:16:02
8/14に2.2.5と1.3.38がリリース
85名無しさん@お腹いっぱい。:2007/08/08(水) 15:54:17
2.0.60も
86名無しさん@お腹いっぱい。:2007/08/11(土) 01:56:11
mod_rewriteの説明読んでいて疑問に感じたのですが
RewriteCondの内容は、
一度RewriteRuleを実行したらクリアされるのですか?
87名無しさん@お腹いっぱい。:2007/08/17(金) 18:29:42
2.0.60でトラブルがあったようで、まだでないですね
88名無しさん@お腹いっぱい。:2007/08/27(月) 13:01:32
2.2.5、2.0.60はキャンセルになり
2.2.6、2.0.61が9/1あたりに出るらしい
89名無しさん@お腹いっぱい。:2007/08/28(火) 16:29:30

Apache2.2 で導入されたキャッシュ機能の使用感はどんなもんでしょうか?

ディスクキャッシュもメモリキャッシュも無いよりはあった方が良いという感じのようですが、
私が調べた限りでは以下の特徴があるように感じられます。


ディスクキャッシュは基本的にキャッシュが溜まるので削除する機能(htcachecleanなど)を導入する必要がある。
しかし、htcacheclean は ext3 に入れると重い上、管理が煩雑である。

メモリキャッシュは早いが物理メモリが許す範囲という上限がある。
管理は楽だが、複数のコンテンツを捌くリバースプロキシ向きではない。


まだ私は実際に使用していないのですが、どちらかの導入を検討しています。
(場合によっては用途ごとの使い分けを考えている。)

皆様がそれぞれのキャッシュ機能を使用した感想をお願いします。
90名無しさん@お腹いっぱい。:2007/08/28(火) 17:33:39
使ったことないけどさ、ドキュメントを読むかぎりでは
指定した URI を強制的にキャッシュから消すことってできないよね。
それじゃ使いものにならんね。性能をうんぬんする以前の問題。
キャッシュに残ってるコンテンツを今すぐ更新したい、という要望が
絶対にないと言いきれるのならいいかもしれんけど。
91名無しさん@お腹いっぱい。:2007/08/28(火) 21:55:36
指定したURLをキャッシュしない、ならできる
92名無しさん@お腹いっぱい。:2007/08/28(火) 22:37:33
>>90
キャッシュフォルダを掃除すれば、できなくもないとも言える。
93名無しさん@お腹いっぱい。:2007/08/28(火) 22:55:06
ディスクキャッシュ有効にしたら、キャッシュファイルが凄く深い階層のフォルダ&大量のファイルが作られるわ
キャッシュ周りで挙動がおかしくなるわ散々だった
94名無しさん@お腹いっぱい。:2007/08/29(水) 21:19:21
キャッシュを保持するパス階層は変更できるよ
フォルダ名2文字、深さ3段もあれば十分
ただ、htcachecleanがいけてない
find -delete のがまし
95名無しさん@お腹いっぱい。:2007/09/08(土) 02:14:51
Apache 2.2.6, 2.0.61, 1.3.39 release age
96名無しさん@お腹いっぱい。:2007/09/08(土) 05:21:30
modssl マダー?
97名無しさん@お腹いっぱい。:2007/09/08(土) 10:27:16
Apache Portable Runtime 1.2.11 Released
こっちは元々の予定通りだったのかな?
98名無しさん@お腹いっぱい。:2007/09/08(土) 15:52:11
phpでsystem()関数などから使用されるシェルを
制限シェルに切り替えることってできないでしょうか?
99名無しさん@お腹いっぱい。:2007/09/08(土) 17:28:14
>>98 rshell に切り替えるスイッチ見あたらないですね。
safe mode でしのぐのでは、姑息的ですか。
100名無しさん@お腹いっぱい。:2007/09/08(土) 18:33:08
>>97
2.2.5/2.0.60をリリースしようとしたら、APRに問題が見つかって
新しいAPRのリリースを待っていた
101名無しさん@お腹いっぱい。:2007/09/11(火) 14:03:57
2.2.6インストールしようとしたら、make中に

/usr/bin/ld: cannot find -lexpat

ここで停止してしまいました。

現行バージョンは2.2.4で動いてるし、INSTALLにもREADMEにもexpatに関する特記事項はなさそうだけど
どこで躓いたんだろう・・・
102101:2007/09/11(火) 14:22:18
OS書いてなかった。FreeBSD 6.0です
103名無しさん@お腹いっぱい。:2007/09/11(火) 15:31:10
Linux厨が作ってる物はautotoolsだのbashだのexpatだのが
既にインストールされてる事が前提である事が多いからな。
入れてないなら入れるしかない。
104名無しさん@お腹いっぱい。:2007/09/11(火) 16:12:24
とりあえずconfigureした後Makefileを開いてAPRUTIL_LIBSに
-L/usr/local/libとでも書けばそこは通過できるらしい。
105名無しさん@お腹いっぱい。:2007/09/11(火) 16:38:04
ldapは-LフラグがちゃんとAPRUTIL_LDFLAGSに追加されるけど、
expatとiconvは追加されないから、ldapに関して何も指定しなかったりすると
APRUTIL_LDFLAGSが空っぽになってだめって事らしい。

--with-expat=builtinを付けてconfigureすると-lexpatも-liconvもなくなるから
ファイルの修正なしでいける。
106名無しさん@お腹いっぱい。:2007/09/11(火) 17:02:15
どんな OS を使うにしても何をコンパイルするにしても、野良ビルドするなら
env CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure ...
は常識として覚えておけ。
# Solaris なら -R も追加な。
107名無しさん@お腹いっぱい。:2007/09/11(火) 17:07:25
>>106
その常識が通用しない構成になってるわけですが…。
108名無しさん@お腹いっぱい。:2007/09/11(火) 17:22:46
常識を通用させるには、このような修正が必要なようですが。
\tはタブ。

--- Makefile.in.orig\tTue May 24 21:09:35 2005
+++ Makefile.in\tTue Sep 11 17:18:42 2007
@@ -68,7 +68,7 @@
\t$(INSTALL) -m 755 apu-config.out $(DESTDIR)$(bindir)/$(APU_CONFIG)

$(TARGET_LIB): $(OBJECTS)
-\t$(LINK) @lib_target@ $(ALL_LIBS) $(APRUTIL_LDFLAGS) $(APRUTIL_LIBS)
+\t$(LINK) @lib_target@ $(ALL_LDFLAGS) $(ALL_LIBS) $(APRUTIL_LDFLAGS) $(APRUTIL_LIBS)

exports.c: $(HEADERS)
\t$(APR_MKEXPORT) $(HEADERS) > $@
109名無しさん@お腹いっぱい。:2007/09/11(火) 23:41:05
http://www.apache.org/dist/apr/CHANGES-APR-UTIL-1.2

Changes with APR-util 1.2.9

*) Change configure's expat detection to use standard linker-based
tests, fixing build on e.g. biarch Linux systems. PR 28205.
[Joe Orton, Ruediger Pluem]
110名無しさん@お腹いっぱい。:2007/09/11(火) 23:44:54
てゆーか、LDFLAGがどうたらとかそんな訳の分からないインチキしないで
configureのときに--with-expat で指定しちゃ駄目なのかい?

$ srclib/apr-util/configure --help | grep expat
--with-expat=DIR specify Expat location, or 'builtin'
111名無しさん@お腹いっぱい。:2007/09/12(水) 00:03:48
>>110
それbuiltinしか効かない。
結局expatが見つかったときに-L/usr/local/libとかを足す部分が
1.2.8と1.2.10の間で削り落とされてるんで。
112101:2007/09/12(水) 00:43:00
遅くなりましたが皆さんありがとうございました。
105さんの方法をためしたところ通りました。

毎度ながら己の未熟を感じさせられてしまう・・・
113名無しさん@お腹いっぱい。:2007/09/12(水) 11:57:10
Apache 2.2.6にしてから気が付いた現象なんだが、
ServerTokens Fullにしているとgraceful restartの後にServer:ヘッダが
おかしなことにならない?

こんな感じで↓
---
Server: Apache/2.2.6 (Unix) mod_ssl/2.2.6
0\011string\011\011Article \011message/news\0118bit
---

紛れ込んでるのはconf/magicの断片のようだけど。
114名無しさん@お腹いっぱい。:2007/09/12(水) 12:14:02
>>113
マジで?
115114:2007/09/12(水) 12:16:48
途中投稿してしまった

>>113
マジで?ちょっと再現してみたい
mod_mime_magic入れてる?
116114:2007/09/12(水) 13:25:59
117名無しさん@お腹いっぱい。:2007/09/12(水) 22:03:07
これのせいで、早くも2.2.7を出すかという話すら出てる
118名無しさん@お腹いっぱい。:2007/09/15(土) 12:01:25
mod_layout のページ閉鎖したの??

ttp://software.tangent.org/

↑ Go away :) って言われちゃうんだけど^^;


まぁ、ソースは俺の手元にあるから、俺自身は全く困らないのだが。
Brian氏、とうとう匙を投げたかw
119名無しさん@お腹いっぱい。:2007/09/15(土) 12:04:00
自己レス。

ttp://tangent.org/

↑これなら入れるんだ。

バーチャルホストででも制限してるらしいな。
まったく、人騒がせな。。
120名無しさん@お腹いっぱい。:2007/09/18(火) 17:33:36
あるバーチャルホストのログのローテーションするシェルスクリプトを
作成しているのですが、
mv access_log access_log.1
touch access_log
としても新規に access_log へログが書き込まれません。
apacheをリロードすると再度書き込みが開始されるのですが、
リロード以外に解決方法はないでしょうか。
121名無しさん@お腹いっぱい。:2007/09/18(火) 17:37:33
122120:2007/09/18(火) 18:17:26
>>121
コマンド処理側で工夫して対応する方法はないでしょうか。
このケースであれば、
一旦ファイルの削除がなければ、
リロード作業は不要になるかと思います。

mv の代わりに cp を使えば一応対応とはなりますが、
コピー処理中に書き込まれたログが access_log.1 に移らない
ため、使えなくなっています。
123名無しさん@お腹いっぱい。:2007/09/18(火) 18:22:02
http://pc11.2ch.net/test/read.cgi/unix/1186815324/376
の人?

>>122
ないです。
シグナル送るのがいやなら
http://httpd.apache.org/docs/2.0/logs.html#piped
しておくとか。
124120:2007/09/18(火) 18:39:05
>>123
はい、その人です。
対象のログファイルがかなり多いので、
事実上、ローテーションするたびに
シグナル送るのは困難です。

パイプも現在のconfファイルを大幅に変更しなければ
対応が難しいので避けたいです。

cp 使って差分は諦めるか、
大量の mv 処理が終わってから
kill -HUP でしょうか。
125名無しさん@お腹いっぱい。:2007/09/18(火) 18:43:18
>>124
mv なんて一瞬じゃん、って向こうでも言われたでしょ。

つーか、logrotate かなんか入ってないの?
OS は何?
126名無しさん@お腹いっぱい。:2007/09/18(火) 18:44:39
127120:2007/09/19(水) 07:10:10
>>125
すぐにテストできるのがredhatしかなかったんですが、
1GB程度のファイルを mv したら
20分くらい時間がかかりました。。。。
freebsd とかだと違うものなんでしょうか。
128名無しさん@お腹いっぱい。:2007/09/19(水) 07:39:52
別のドライブにmvしてるの?
129名無しさん@お腹いっぱい。:2007/09/19(水) 08:03:55
別パーティションにmvだとしても、
1GBなら、たとえ20MB/sの遅いドライブだとしても50秒でmvできるはず。
20分もかかるならどこかシステムが壊れてる。
130名無しさん@お腹いっぱい。:2007/09/19(水) 09:39:40
>>127
まず同じパーティション内で mv してから
graceful でログファイルを切り替え、
その後に落ちついて別のパーティションに mv すれ。

redhat ってのが正確にどのディストリかわからんが
きっと logrotate があるはずだから man 読んどけ。
131名無しさん@お腹いっぱい。:2007/09/19(水) 22:24:57
>>129
20MB/sで本当に転送できるならいいんだけどな・・・
132名無しさん@お腹いっぱい。:2007/09/20(木) 14:40:30
mod_proxyなんだけど

ProxyPass /hoge http://192.168.1.123/fuga
ProxyPassReverse /hoge http://192.168.1.123/fuga

って設定してアクセスすると
http://example.com/hoge//
みたいにURL末尾の/が2重になっちうんだけど、なんで?
133132:2007/09/20(木) 16:47:35
firefoxの場合だけみたい
まぁいいや
134名無しさん@お腹いっぱい。:2007/09/20(木) 18:30:57
hogeがディレクトリだったら/で終わらせないと別の解釈になる
135名無しさん@お腹いっぱい。:2007/09/20(木) 19:44:06
最後のスラッシュを揃えない時の誤動作を利用してうまく消せたような。
136名無しさん@お腹いっぱい。:2007/09/21(金) 12:23:08
apache benchで負荷テストをしているのですが、Document LengthとHTML transferredが食い違っているように見えます。
nの値×Document Length=HTML transferred
となると認識していますが、違うのでしょうか。
違っていた場合、HTML transferredは何の値でしょうか。

以下その際の値です

ab -n 100 -c 10 http://example.com/test.3gp
Document Length: 9824113 bytes
HTML transferred: 1001152010 bytes
137名無しさん@お腹いっぱい。:2007/09/21(金) 13:55:23
↓この辺は? 認識は合ってると思います。
Non-2xx responses
Failed requests
Write errors
138名無しさん@お腹いっぱい。:2007/09/21(金) 15:19:00
>>137
もったいぶっててもアレなのでログをさらします。
ab -n 100 -c 10 http://example.com/test.3gp
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking kenmoprototype.develop.dorasu.jp (be patient).....done


Server Software: Apache/2.0.52
Server Hostname: example.com
Server Port: 80

Document Path: test.3gp
Document Length: 9824113 bytes
139名無しさん@お腹いっぱい。:2007/09/21(金) 15:19:40
>>137
続きです
Concurrency Level: 10
Time taken for tests: 727.624669 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 1001183838 bytes
HTML transferred: 1001152010 bytes
Requests per second: 0.14 [#/sec] (mean)
Time per request: 72762.469 [ms] (mean)
Time per request: 7276.247 [ms] (mean, across all concurrent requests)
Transfer rate: 1343.71 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 24 114 425.1 44 3093
Processing: 60122 71441 8138.9 70695 97460
Waiting: 65 124 94.4 86 630
Total: 60157 71555 8114.6 70742 97504

Percentage of the requests served within a certain time (ms)
50% 70742
66% 72620
75% 73846
80% 74514
90% 86088
95% 90733
98% 95659
99% 97504
100% 97504 (longest request)
140名無しさん@お腹いっぱい。:2007/09/21(金) 17:51:06
>>138,139
ab -c1 -n1 でやってみた時のDocumentLengthとHTMLTranferredは同じになる?
141名無しさん@お腹いっぱい。:2007/09/21(金) 18:00:34
>>140
こうなりました。
ab -n 1 -c 1 http://example.com/test.3gp
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking example.com (be patient).....done
Server Software: Apache/2.0.52
Server Hostname: example.com
Server Port: 80
Document Path: /test.3gp
Document Length: 9824113 bytes
Concurrency Level: 1
Time taken for tests: 0.885998 seconds
Complete requests: 1
Failed requests: 0
Write errors: 0
Total transferred: 9824435 bytes
HTML transferred: 9824113 bytes
Requests per second: 1.13 [#/sec] (mean)
Time per request: 885.998 [ms] (mean)
Time per request: 885.998 [ms] (mean, across all concurrent requests)
Transfer rate: 10828.47 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 885 885 0.0 885 885
Waiting: 16 16 0.0 16 16
Total: 885 885 0.0 885 885
142名無しさん@お腹いっぱい。:2007/09/21(金) 18:48:36
>>141
うう〜ん、ab自体が壊れてるわけではなさそう。

DocumentLengthは大体9MB位だから -n100 でも約1GB以下か。オーバーフローでもないな。
(以前、2G超のファイルをabってみたとき、数値が32bit signed longでオーバーフローしたことがあるから、
ソースから、long->long longに修正したことはある。ちなみにx86ね。x64だとlongでもフローしない)

ちなみにその test.5gp ってやつは、常に同じ長さを返すDocumentなの?

うちで以前cgi(毎回微妙にサイズの異なるDocument返す)のテストやってた時は、
たしかにいくつかは Faid requests で(Length **)になるときもあるけど、
そうならななくて Faild requests 0 になるときもあった。

確かにそのスクリプトは毎回違う長さを返すはずで、それこそ -n1000 とか -n2000 で、全てたまたま
同じ長さになったとは考えられない。(確率的には1/3で全く同じサイズになるようなスクリプトだった)

この時はDocumentLengthの値と、HTML transferredを注意して見てなかったけど、
多分だけど、合計計算したら違ってたはず。

なんでこうなるかはよくわからいけど、その時はフ〜ンてな感じで気にもしなかった。
(あんまりよく覚えてないけど、返すサイズが比較的少ない時(1KB以下とか)はFailed requestになって、
比較的大きめのサイズ(100-200KB?以上)のときは、Failed request 0になったような気がする。
ごめん、今すぐ確認できる環境にない)
143名無しさん@お腹いっぱい。:2007/09/21(金) 18:52:36
ごめ、test.5gp は test.3gpのまつがい
144名無しさん@お腹いっぱい。:2007/09/21(金) 19:03:28
>>142
常に同じ長さを返します。というか単一の動画バイナリファイルなのです。
どこかでロストしていることは考えられるのでしょうか?
145名無しさん@お腹いっぱい。:2007/09/21(金) 19:36:11
>>144
う〜んそうか・・。
それなら142の内容は関係ないね。

ちなみにabった時の、ApacheのLogほうの返したサイズはどうなってるの?

上のテストした時は、ApcaheのLogのほうも、Requestごとに微妙に違うサイズを返してるハズなのに
ab の結果では Failed Request 0 だった。

よくわからんけど、ネットワーク越しにやってるんなら、途中経路とかでロストして、パケット再送とかしてるかも?
そんときはlocalhost上でやってみるとか。

あと、abは400台500台のレスポンスステータスは補足してくれるけど、ステータス200でもらったら、その中身までは
補足出来ない(まああたりまえか)から、ブラウザ等でやってみないと実際にちゃんと返ってるか確認はできない。
まあbenchだから単位時間あたりどれくらいレスポンス返すかとかの目安程度にしかならないんじゃないのかな。

うちでも上のとは違うテストで、DBがらみのcgi組んだ時なんかは、「おお〜200/sくらいかえしてるジャン」とか思ってたら、
詳しく見てみると実は、DB接続失敗時のErrorテキスト返してるだけだった、とかもあるし・・・。

まあつまり、これ以上はようわからんとゆうことで・・・。
146名無しさん@お腹いっぱい。:2007/09/21(金) 19:41:07
HTTPヘッダをてんこ盛りにすると差が大きくなるとか、チャンクでバラバラになったときの
チャンクのバイト数の部分が差になるとか…。
147名無しさん@お腹いっぱい。:2007/09/21(金) 19:49:17
>>145
apacheログ確認は失念してました。
今出先なので、後で確認してみます。
148名無しさん@お腹いっぱい。:2007/09/22(土) 02:08:13
ここで聞いていいんかな。

php5をcgiとして動かしてるんだけど、
ttp://jp2.php.net/manual/ja/configuration.php

「現在の作業ディレクトリ (CLI を除く) 」
からphp.iniが読み込まれない。
コンパイル時の--with-config-file-pathのほうのphp.iniが読み込まれちゃう。
php4で同じことすると
ちゃんと
「現在の作業ディレクトリ (CLI を除く) 」
からphp.iniを読み込んでくれる。

どなたかアドバイスきぼんぬ
149名無しさん@お腹いっぱい。:2007/09/22(土) 11:16:58
>>146
それ漏れも疑って調べてみたけど

・ab/ab2ともHTTP/1.0でリクエスト出すので、chunked transfer自体発生しない
・応答ヘッダに X-Hogehoge: hogehoge を大量に付けて見たけど、変化せず

だった。

ただし、漏れのところでは Document Length == HTML Transferred なので、
もう >>141 を ab -v 2 とか付けて、本文は途中カットしたものを流して
貰うとかしかないか?
150149:2007/09/22(土) 12:19:39
気になったのでもうちょっと調べたら、ab が結果的に -n で指定した
回数以上のアクセスを行っていて、その結果、レポート中の実転送量と
「完了した」アクセス数の数字がずれるのが原因と判明。

要するに ab は -c で指定された多重度でとにかく接続し続けていて、-n より
多い回数「完了」したら、その時点で走っている接続は打ち切りになる。
で、打ち切りにはなるのだけど、転送量のカウンタは回ってしまっているので、
レポート上はずれて見える。なので -c 10 -n 100 として、99 回完了して
残り 1 回という段階でもまだ 10 接続が多重で走ってる。で、そのどれかが
完了したら ab は終了になるが、残り 9 本が途中まで転送したバイト数も
カウントはしてしまう。

で、このズレが発生しやすい・大きくなりやすい条件というのが

- 並列度が高くて(=-n 回完了時点で余分に取る奴らが多数いて)
- コンテンツサイズが大きい(余分に取った時のズレがでかくなりやすい)

ということ。
151名無しさん@お腹いっぱい。:2007/09/22(土) 23:00:47
おとといportsでapache-2.2.6 にしてから
もう2.2.6_1が出たんかい…
152名無しさん@お腹いっぱい。:2007/09/22(土) 23:12:51
リビジョンのバンプは知りません。
153名無しさん@お腹いっぱい。:2007/09/23(日) 12:39:14
Apache2.2で、hogehoge.hogeでアクセスされたときは正常にHTMLを返し、
IPでアクセスされた場合に、サーバーが存在しないかのように振舞うことは可能でしょうか?
154名無しさん@お腹いっぱい。:2007/09/23(日) 13:29:18
リクエストされたときのホスト名がなんであったかは
apache の環境変数でわかる。それによって応答を
どうするか決めるのは、PHPなら簡単。apache レベル
でどうだったかは、ちょと分からないですけど。あと、
「サーバが存在しないかのように振る舞」うのの実際の
中身がやや問題鴨。
155名無しさん@お腹いっぱい。:2007/09/23(日) 14:44:35
つSetEnvIf
156名無しさん@お腹いっぱい。:2007/09/23(日) 20:43:57
IPアドレスでのアクセスを後で利用するならVirtualHostだな。
157名無しさん@お腹いっぱい。:2007/09/23(日) 21:39:16
solaris9にapache-2.2.4-sol9-sparc-localをインストールしましたが
libexpat.so.0が見つからず起動できません。
解決方法はどのように行えば宜しいのでしょうか。

bash-3.2# ldd /usr/local/apache2/bin/httpd
libm.so.1 => /usr/lib/libm.so.1
libaprutil-1.so.0 => /usr/local/apache2/lib/libaprutil-1.so.0
libexpat.so.0 => (file not found)
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libapr-1.so.0 => /usr/local/apache2/lib/libapr-1.so.0
libsendfile.so.1 => /usr/lib/libsendfile.so.1
librt.so.1 => /usr/lib/librt.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libpthread.so.1 => /usr/lib/libpthread.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libexpat.so.0 => (file not found)
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmd5.so.1 => /usr/lib/libmd5.so.1
libmp.so.2 => /usr/lib/libmp.so.2
libthread.so.1 => /usr/lib/libthread.so.1
/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1
/usr/platform/SUNW,UltraAX-i2/lib/libmd5_psr.so.1
158名無しさん@お腹いっぱい。:2007/09/23(日) 22:10:10
バイナリで入れるとは横着な
159名無しさん@お腹いっぱい。:2007/09/24(月) 13:57:26
つかぬ事をお聞きしますが、PHPはもうスレッドセーフになりました?
160149:2007/09/24(月) 14:33:26
PHPは結構昔からスレッドセーフ。
Apache MPMとの絡みでpreforkでないと使えないとか話題になった頃でもスレッドセーフ。
スレッドセーフでないのはライブラリ(の一部)。
161名無しさん@お腹いっぱい。:2007/09/24(月) 19:02:59
そうだったんですか。
なんか非スレッドセーフとか言い切ってるサイトとか結構あったんで
なんでWindows版だけスレッドセーフなんだろう、と疑問に思いつつ勘違いしてました。
162名無しさん@お腹いっぱい。:2007/09/26(水) 12:23:13
アホな質問をします。
DocumentRoot に root:root 権限の html を置いて
公開するのって問題ありますか?
DocumentRoot フォルダ自体は root:root 権限で
Apache または Apache2 周りの権限はデフォルトのままとします。

他のサイトを閲覧する限りでは apache:apache 権限で公開するようですが。

cgi-bin フォルダ以下も同様として CGI を root:root 権限で
置いた場合も答えて頂けると助かります。

conf の設定で変わる場合もあると思うので足りない部分があれば
ご指摘下さい。
163名無しさん@お腹いっぱい。:2007/09/26(水) 12:38:22
>>162
root:rootのファイルを置く事自体には危険は無い。むしろ安全。
しかしhtmlやCGIの更新のたびにsu/sudoする必要があるので、そこに危険が生じる。
HTMLやCGIをapache:apache権限で公開するのは馬鹿げているし危険だ。
CGIが操作するファイルやそれを置くディレクトリをapache:apacheにするのは普通。
164名無しさん@お腹いっぱい。:2007/09/26(水) 13:06:22
>>163
回答ありがとうございます。

>root:rootのファイルを置く事自体には危険は無い。むしろ安全。
>しかしhtmlやCGIの更新のたびにsu/sudoする必要があるので、そこに危険が生じる。

なるほど。リモートで入るときのパスの漏洩や root 作業時のシステム破壊の
危険性があるということですね。

>HTMLやCGIをapache:apache権限で公開するのは馬鹿げているし危険だ。
>CGIが操作するファイルやそれを置くディレクトリをapache:apacheにするのは普通。

そうだったんですか、自分の勉強不足ですね。

勉強になりました。オライリーから読み直します。
165157:2007/09/26(水) 21:12:43
自己解決しましたので一応報告を。
expat-1.95.5-sol9-sparc-localのインストールで解決でした。
スレ汚しすんません。
恥晒ししますとexpect-5.43.0-sol9-sparc-localインストしてました.....
166名無しさん@お腹いっぱい。:2007/09/28(金) 17:29:32
CentOS 5のRPM版のApache2.2.3のsuEXECで質問です。

UserDirを有効にしといて/~user/でアクセスするとsuEXECがちゃんとそのユーザー権限で実行できるけど、
http://user.xxx.com/みたいなサブドメインでユーザーのページを表示する場合
VHOSTの設定でSuexecUserGroupをそのユーザーに設定しても
ユーザーのホームディレクトリが/home/userだとsuEXECのドキュメントルート/var/wwwから外れてしまうのでCGIがうまく実行できません。

ユーザーディレクトリを/var/www以下に置く、もしくはソースかSRPMからコンパイルする以外で回避できる方法ありませんか?
yumで自動アップデートさせたいので、できれば配布されているRPMのままで使いたいです。
167名無しさん@お腹いっぱい。:2007/09/28(金) 17:37:06
>>166
くだらねえ質問はここに書き込め! Part 153
http://pc11.2ch.net/test/read.cgi/linux/1189857287/
168名無しさん@お腹いっぱい。:2007/09/28(金) 17:39:57
>>166
/var/wwwにシンボリックリンク作る
169名無しさん@お腹いっぱい。:2007/09/28(金) 18:01:19
レスありがとう。

>>167
少し前にそちらでスルーされてしまったので、ここで質問させてもらいました

>>168
それも試してみましたが、CGIが500エラーはいてしまいます
suexec.logにはcommand not in docroot (/home/user1/public_html/test.cgi)と出ます
170名無しさん@お腹いっぱい。:2007/09/28(金) 18:12:19
>>169
じゃ
mount -bind /home /var/www/home
171名無しさん@お腹いっぱい。:2007/09/28(金) 18:17:26
>>170
おお、こういう方法もあるんですね
無事にできました
ありがとうございます
172名無しさん@お腹いっぱい。:2007/09/29(土) 18:56:47
/var/www/html/
/var/www/html/blog
という二つのコンテンツがあり、

http://www.example.jp
http://blog.example.jp
という感じで、virtualhostしています。

http://www.example.jp/blog
でもアクセス出来てしまうのですが、

こういう場合、
http://www.example.jp/bloghttp://blog.example.jp
に自動的に飛ばすには、
mod_rewriteを使うのでしょうか?
confに手軽に記述する方法はありますか?

centos5のapacheです。
173名無しさん@お腹いっぱい。:2007/09/29(土) 20:45:04
>>172
リダイレクトでいいなら
Redirect permanent /blog http://blog.example.jp
174名無しさん@お腹いっぱい。:2007/09/29(土) 22:40:24
>>172
/var/www/html/
以下なんかに、blog を置くからだろ。
175名無しさん@お腹いっぱい。:2007/09/30(日) 00:44:15
/var/www/html/www と
/var/www/html/blog に分けちゃえよ。
176名無しさん@お腹いっぱい。:2007/10/06(土) 12:48:38
mod_proxyでリバースプロクシをしているのですが対象サーバーが重い場合にすぐに502を返すのですがどこを変更すればタイムアウト?までの時間を変更できるのでしょうか?
177名無しさん@お腹いっぱい。:2007/10/07(日) 20:50:41
apacheのインストーラを起動してもすぐにfinishとなって、
インストールできないのですがなんでですか?
178名無しさん@お腹いっぱい。:2007/10/08(月) 01:27:27
179名無しさん@お腹いっぱい。:2007/10/10(水) 19:01:51
あるぇ?
APR-utilのソースを拾ってきて一生懸命ビルドしてインストールしてたけど、
httpd-2.2.6のtarのhttpd-2.2.6/srclibにapr-utilの1.2.10が入ってるじゃん?
180名無しさん@お腹いっぱい。:2007/10/10(水) 19:05:16
なんだ、--with-aprとか--with-apr-utilとか指定するのはやめて、
今度っから--with-included-aprにしよっとw
181名無しさん@お腹いっぱい。:2007/10/10(水) 19:10:30
apr関連をわざわざ指定したことないや。デフォconfigureでbuiltinだしね。
aprが/usr/libに元々入ってるのってRedHat系ぐらいじゃないのかな?
182名無しさん@お腹いっぱい。:2007/10/10(水) 20:53:30
なぜか俺のPCだと、--with-included-aprを明示的にしてすると、
--with-egd と --with-devrandomを指定しろってエラーになるんだよね。
ApacheもAPRもPCに入ってない状態でApacheのconfigureすると、
同梱のAPRが使われるじゃん、その場合は指定しなくてもいいのに…。

だからApache同梱のAPRでインストール済みのAPRをアップデートしたい場合は
/usr/local/apache2/bin/apr-1-config とかを一時的に実行不可にしてる。
183名無しさん@お腹いっぱい。:2007/10/12(金) 11:34:02
質問です。何か思いついたら教えてください。

FreeBSD上でRealAudioのストリーミング配信のためHelix Serverを稼動させています。
少し前までFreeBSD4.10だったんですがいいかげん古びたので5.5に上げ、
Apacheも1.3から2.2.4にしたところ、ブラウザ側で見ると少し挙動が違うようです。

InternetExplorerでは、HTMLドキュメント上にある.ramへのリンクをクリックすると
RealPlayerが自動的に立ち上がり再生が始まります。
しかし、OperaやFirefoxでは、「ファイルをダウンロードしますか実行しますか」という
類のウインドウが開いてしまい、手で指定しなければ次の挙動へ移りません。

.htaccessのAddTypeの記述の問題かと試してみると、AddTypeに書かれた内容は
正しくブラウザへ伝わっています。たとえば

AddType audio/x-pn-realaudio ram rm smil
とか
AddType audio/vnd.rn-realaudio .ram .ra .rm .rp .smil

を.htaccessに書いて試すと、Opera/Firefoxのウインドウ上にファイルタイプとして
audio/x-pn-realaudioとかaudio/vnd.rn-realaudioのように表示されるし、規定の
アプリケーションとしてRealPlayerが表示されているのでAddType情報は間違いなく
伝わっていると思われます。

なのに自動でアプリケーションが起動しない(つまりファイルの「ダウンロード」でなく、
「実行」を選択した状態になっていない)のはなぜでしょうか?
ただ単にこれはOperaやFirefoxの仕様で、初めて上の場面に当たったときに
適切な指定をして「選択を保存」させればいいだけのことなんでしょうか?
でも、確か以前にはOperaでもそんなことはせず、最初から自動でアプリが起動した
ように思うんですが。。Apache1.3->2.2でCGI回りもだいぶ調整しましたが、
なにかAddType関係で罠があったりしますか?
184名無しさん@お腹いっぱい。:2007/10/12(金) 11:52:18
SEE ALSO telnet(1), tcpdump(8)
185名無しさん@お腹いっぱい。:2007/10/12(金) 23:58:38
186名無しさん@お腹いっぱい。:2007/10/15(月) 01:35:18
>>185
176ですが、不正解でした
まだ受け付けています
187名無しさん@お腹いっぱい。:2007/10/15(月) 08:24:37
>>186
はぁ? 不正解?? 受け付け?? お前に採点される覚えはない。消えろ。
188名無しさん@お腹いっぱい。:2007/10/15(月) 10:20:50
使えない奴は無能です。
消えるのはYouですね。
189名無しさん@お腹いっぱい。:2007/10/15(月) 10:23:23
ただのぐぐってわかるレベルな答えを出す馬鹿には興味ありません。
この中に適切解答を持ってくるオタクがいたら俺に教えなさい。以上。
190名無しさん@お腹いっぱい。:2007/10/15(月) 10:38:04
実際、ぐぐって見つかる内容を語っても面白く無い
かつかつな内容は、ちょぼちょぼブログに書いてる

ぐぐって自分のページが一枚目に出て来ていえ〜い
アクセス数見ると一日30とか
技術的な内容調べてると良く2ch引っ掛かるのは
知識ベースな意味が上がったんだろうなぁ
191名無しさん@お腹いっぱい。:2007/10/15(月) 11:35:44
Operaの動作が急に変わるというのは
私も経験したことがある
192名無しさん@お腹いっぱい。:2007/10/15(月) 13:08:06
>>190
あるあるw
193149:2007/10/15(月) 22:22:41
>>190
自分が試行錯誤して解決させた後、解決の鍵になるキーワードでぐぐって一件も
かからない時とか満足度高いよな(どうせgglが集めてない残り80%のどっかとか
各社内の中に隠匿されてんだけど)。
194名無しさん@お腹いっぱい。:2007/10/15(月) 22:26:51
そこでAddDefaultCharset noneですよ
195名無しさん@お腹いっぱい。:2007/10/15(月) 22:36:52
ググって調べて思うことは、ブログ厨はできなかったことを
できないまままま放置するなってことだな。
196名無しさん@お腹いっぱい。:2007/10/18(木) 22:42:28
.htaccessの中身が見える件について。
ttp://svn.apache.org/.htaccess
197名無しさん@お腹いっぱい。:2007/10/20(土) 12:52:52
FreeBSDを使用して自宅WEBサーバ(apache 1.3)を立てています。
外部にはルータのアドレス変換を利用、グローバルアドレスの取得にはdyndnsを使用しています。

やりたいことは、大方うまくいっているのですが、CGI等を使用したWEBアプリの検証行うときにリダイレクトの関係などで、検証を内部のPCから行う場合と外部のPCから行う場合で、httpd.confを切り替える必要があり面倒を感じています。

現状では、dyndnsサービスを使用して外部PCからのアクセスにはxxx.dyndns.orgでアクセスし、内部PCからは192.168.12.XXとダイレクトにアドレスを打ち込んでアクセスしています。

この場合、ServerNameを"xx.dyndns.org"にしてある場合は、外部からアクセスには有効ですが、内部からdyndnsを用いてアクセスするとルータにぶつかるので接続できません。
そこで、内部のPCから検証する場合は、ServerNameを"192.168.12.X"にしているのですが、検証を行う毎にhttpd.confを書き換えを行うのはやっかいです。

WEBサーバは外部に向けての運用がメインですので、ServerNameは基本"xx.dyndns.com"にしておきたいです。

これを解決する手段として、公開proxyを使う手段を知りましたが、質のいいproxyを見つけられない為かイマイチです。virtual hostを用いる手段などで解決できないかと思っていますが、ローカルIP、グローバルIPをうまいこと共存させる手段はないでしょうか?

うまく説明できてないと思いますが、何かヒントがあればよろしくお願いします。
198名無しさん@お腹いっぱい。:2007/10/20(土) 13:09:11
ServerAlias
199名無しさん@お腹いっぱい。:2007/10/20(土) 13:12:40
クライアントのhostsに
192.168.12.xx xx.dyndns.com
と書いておく
200197:2007/10/20(土) 14:08:16
とりあえず、バーチャルホストを2つ立ち上げて、ServerNameをそれぞれ"xxx.dyndns.org"と"192.168.12.xx"にすることで解決しました。
hostsをいじることも考えたのですが、ラップトップなので場合によりプライベートネットワークの内外を跨ぐため、避けていました。
201名無しさん@お腹いっぱい。:2007/10/20(土) 16:00:11
--with-included-aprを試してみたけど、makeに渡すオプションの-が削り取られて
そのオプションのターゲットの作り方は知らんと言ってビルドが止まる…。

>>200
192...をxxx.dyndns...のServerAliasにすればVirtualHostは1個で済むよ。
202名無しさん@お腹いっぱい。:2007/10/20(土) 16:19:47
>>201はbsdmakeが入ってる環境ではenv MAKE=gmake ./configureってな感じで
明示的にgmakeを指定しないとaprのどこかでMAKE=makeというお馬鹿な定義が
入るらしい。
そして--with-included-aprを指定しないと、別件で/usr/localに入れたapr-utilを使うらしい。
203名無しさん@お腹いっぱい。:2007/10/20(土) 16:26:33
そして-lexpat問題(>>101-112)に刺さるorz
204名無しさん@お腹いっぱい。:2007/10/20(土) 16:40:18
>>203はApacheのconfigureに--with-expat=builtinを渡しておけば通ると。
205名無しさん@お腹いっぱい。:2007/10/20(土) 21:11:41
そういえば最近LinuxだけじゃなくてFreeBSDも試してみて初めて気付いたんだけど
ApacheってGNU make じゃないとだめだよね?
trunkのソースが何回やってもコンパイルできなくて悩んだけど
ふとgmake使ったらすんなり通ってちょっとムカついた。
ドキュメントにはmakeが必要としか書いてないし…。
206名無しさん@お腹いっぱい。:2007/10/20(土) 21:14:40
BSDのmakeが壊れてるだけだろ
207名無しさん@お腹いっぱい。:2007/10/20(土) 23:32:21
FreeBSD使ってるんなら、portsだっけ?それ使えばいいじゃん。
208名無しさん@お腹いっぱい。:2007/10/20(土) 23:45:12
>>206
なるほど…って上に書いてあるのはそういうことか
209名無しさん@お腹いっぱい。:2007/10/23(火) 00:49:03
portsに2.3.0-devってあるんだっけ?
210名無しさん@お腹いっぱい。:2007/10/23(火) 01:44:22
UseCanonicalName
とか?
211名無しさん@お腹いっぱい。:2007/10/24(水) 16:13:32
php5はapache2のworkerでは動かないのでしょうか?
212名無しさん@お腹いっぱい。:2007/10/24(水) 17:03:52
動くけど
213名無しさん@お腹いっぱい。:2007/10/24(水) 17:10:09
ubuntuでphp5をインストールしようとするとpreforkをインストールしようとします。
214名無しさん@お腹いっぱい。:2007/10/24(水) 17:13:08
へー。
215名無しさん@お腹いっぱい。:2007/10/24(水) 18:48:49
                               ,、
                      i''-、  ./'-、  ./ `'-、
                     /  ==/  `'-ノ  凵_
    rー---- 、   __.......__    /  / ./  /ニ/  匸二 ̄
   (,,../._..∠._  /ヘ /ヽ`'、 ./  ム/  ./''''''''フ  ヾ―゙
 ._.. -'゙゙‐'~゙____.ノ/./ ./ /  l  | /  ./゙゙/  /;;;;;;;;/  ,゚;;;;;\
.ヾ-ー/ /     i (ノ ./  / //  ./ ./ 呀^^^フ/  /
   .l゙  ゙''ー、   ヽ_..ノ_. ノ.//  ニ;;′ ./△ //  /
   ゙'-...._ ノ       ''"  ゙‐''"゛ .`゙´`'-、...___.../
216名無しさん@お腹いっぱい。:2007/10/29(月) 21:53:02
IPアドレス宛てに打ってくる、タイムアウト(408)になる、DoSうるさいねー。
"-" 408 - "-" "-"
162個もESTABLISHになって応答遅れる。
217名無しさん@お腹いっぱい。:2007/10/31(水) 21:32:01
>>216
OSのTCP/IPスタックやパケットフィルタの方でタイムアウトを短くして
さっさとコネクションぶった切ればいいんじゃない?
218名無しさん@お腹いっぱい。:2007/11/01(木) 00:50:01
phpで無限ループをしてしまうプログラムを実行してしまった場合、
apacheのプロセスをkill -9で殺しているのですが、この対応に問題はないでしょうか?

みなさんが、phpで無限ループしてしまうプログラムを実行してしまった場合、
一般的にはどのようにしますでしょうか?
219名無しさん@お腹いっぱい。:2007/11/01(木) 01:03:53
php は設定によるけどある程度時間がたったら処理が打ち切られるんじゃなかった?
どっちにしろ php を殺したほうが安全な気はするが。
220名無しさん@お腹いっぱい。:2007/11/01(木) 01:05:36
SIGTERMじゃ止まらないっけ?それだったらSIGKILLしかないよね
221名無しさん@お腹いっぱい。:2007/11/01(木) 01:44:16
kill -9 が嫌なら、kill -KILLをすればいいじゃない
222>>218:2007/11/01(木) 02:23:46
ありがとうございます。

わたしの頭の中では、例えば10個apacheのプロセスがいるとして、
そのうちの1個のapacheプロセスをkillすると、残りは9個になってしまうと思うですが、
そうだとすると、残り9個のapacheを全てkillすると、apacheがサービスを続けられなく
なってしまうと思うのですが、杞憂な考えでしょうか?

それとも、apacheのプロセスはリクエストがくる度に新しくポンっって生成される感じなのでしょうか?

よろしくお願い致します。
223名無しさん@お腹いっぱい。:2007/11/01(木) 02:54:53
大元の親玉Apacheを殺したらダメだけど、子供Apacheなら死んだタイミングで
SIGCHLDが飛んで親玉が子供を生んでくれるからおけ。

そしてPHPなりCGIを実行するのは子供だけ。
マルチプロセスモデルの利点の一つだな。
224名無しさん@お腹いっぱい。:2007/11/01(木) 07:26:28
>>222
どの MPM 使ってるかにもよるんでは。
prefork ならここ読んどいて。
http://httpd.apache.org/docs/2.2/ja/mod/prefork.html
225名無しさん@お腹いっぱい。:2007/11/01(木) 16:14:17
apache2.confとhttpd.confの違いを教えてください。
以前はapache2でもhttpd.confだったと思いますが、今日ubuntuをインストールしたら、apache2.confになっていました。
いつから変わったのでしょうか?
226名無しさん@お腹いっぱい。:2007/11/01(木) 16:25:30
>>225
別に変わったわけではない。
Ubunt (というか Debian) が勝手に変えてるだけ。
227名無しさん@お腹いっぱい。:2007/11/01(木) 17:08:32
Debian系Linuxディストリビューションの
Apache httpdのパッケージは凝りすぎて使えない事で有名
パッケージメンテナが変人で聞く耳持たないとの噂
228名無しさん@お腹いっぱい。:2007/11/01(木) 17:13:53
gentooもすごいよ
229名無しさん@お腹いっぱい。:2007/11/01(木) 17:31:16
メンテナと心をひとつにすればおk
あなたと合体したいってなもんだ
230名無しさん@お腹いっぱい。:2007/11/01(木) 18:17:32
>>225
基本的な設定がapache2.confにある。
これは、ユーザー、もしくはパッケージのインストーラーが弄らないを前提にしてる。
追加設定をhttpd.confに書く。

そのほか、バーチャルホスト、モジュールも別に設定する仕組み。

別に変人ではないな。細かく割ってあるから、おかしくなったときに原因がつかみやすい。

当然、いつでもデフォルトの設定に戻せる。

また、他のパッケージは、apacheフォルダのconf.d以下に設定ファイルを書く。
ルールがあるので、覚えてしまえば、非常に分かりやすい。
231名無しさん@お腹いっぱい。:2007/11/01(木) 18:34:00
>>229>>230は同じ事を、前者は詩的に、後者は技術的に述べている
232名無しさん@お腹いっぱい。:2007/11/01(木) 20:30:40
なるほど。
configureで--with-program-name apache2とすれば、apache2.confを読むバイナリapache2ができるって事か。
233名無しさん@お腹いっぱい。:2007/11/01(木) 21:32:05
>>227
別にそんな変態でもないが・・・

標準で規定されている/etc/apache2/フォルダ以下はメンテナの自由だけど、
その自由になってる当該フォルダ以下の構成とか設定ファイルの中身の
書き方とかが拡張性の高い構成・記述方式になってる点にはこだわりは
感じるけどな。多数台のコンフィグメンテで保守性を突き詰めてくと
大体ああいう書き方になる。
234名無しさん@お腹いっぱい。:2007/11/01(木) 22:54:42
変人系ディストリ利用者はこんな感じってのはよくわかった
235名無しさん@お腹いっぱい。:2007/11/02(金) 12:14:00
実行バイナリとか設定ファイルとかの名前が標準と違うという時点で変態。
修正が apache だけで済めばいいが、プロセス監視の設定とか各種内製スクリプトの
書き換えとかが必要になって手間がムダに増えるだけ。

すべてが debian に統一されているのならば気にならんかもしれんが、
サービスの特性に応じていろんな OS を使いわけているようなところでは、
こんなつまらない部分で独自性を主張されるのは迷惑以外の何物でもない。
236名無しさん@お腹いっぱい。:2007/11/02(金) 12:22:56
この程度の差異でおろおろする技術者はいりません。
237名無しさん@お腹いっぱい。:2007/11/02(金) 12:41:13
>>235

debianのapache2.confを読めば、そんな大層なことをしていないことは一目瞭然だが。
ただ、他の設定ファイルをリンクしてあるだけ。
好きに使いたければ、apache2.confを弄り倒しても同じ結果になる。

それとも、読まずに批判を口にしてるのか?
238名無しさん@お腹いっぱい。:2007/11/02(金) 12:46:58
このスレを見るぐらい興味があるなら
ソースから自分でビルドでしょう

ディストリ・OSのパッケージは、
興味が無いけど必要なソフトウェアの管理のためにある
239名無しさん@お腹いっぱい。:2007/11/02(金) 13:03:37
別にいいじゃんパッケージで。
楽だよ。
240名無しさん@お腹いっぱい。:2007/11/02(金) 13:06:46
>>237
>debianのapache2.confを読めば、そんな大層なことをしていないことは一目瞭然だが。

debian がしてるかどうかは関係ないの。こっちがしてるの。
conf をテンプレートから自動生成するとかいうのは大きなサイトならば
けっこうやってるはず。そこまでしなくても snmp でプロセス監視ぐらいするのは
あたりまえ。debian のときだけ、こいつらを書き換えなきゃいかん。
ちっとも難しいことじゃないが、こんなくだらないことで手間を
取られるのは馬鹿馬鹿しい。使わないからいいけど。

純粋に疑問なんだが、実行バイナリが httpd ではなく apache2 になっている
メリットって何があるの? httpd.conf でなく apache2.conf であるメリットは?
241名無しさん@お腹いっぱい。:2007/11/02(金) 13:07:12
>>238
ソースからビルドと今の設定ファイルの是非は根本的に違う。

例えば、debianのapache2.confを差し替えれば、apacheの標準の設定が要求される。
逆に、パッケージの設定フォルダをビルドしたapacheに適用もできる。

俺は、squidの設定ファイルが長すぎて見難いので、debianのapacheの設定を真似て、自分で変更してる。
要は、個人が見やすければそれでいいわけで、他人がとやかくいう筋合いはないと思う。

debianの設定ファイルが見難ければ、apacheに付いてくる設定ファイルと差し替えればいいだけのこと。
242名無しさん@お腹いっぱい。:2007/11/02(金) 13:12:13
> 純粋に疑問なんだが、実行バイナリが httpd ではなく apache2 になっている
> メリットって何があるの? httpd.conf でなく apache2.conf であるメリットは?
見ただけでApache2だとわかるだろ!
243名無しさん@お腹いっぱい。:2007/11/02(金) 13:50:01
>>241
ああ、仕事したことないのか…それじゃ仕方ないねw
244名無しさん@お腹いっぱい。:2007/11/02(金) 14:03:20
>>243
仕事上では、そういう言い方で上司は絶対に納得しない。
顧客はもっとだ。
245名無しさん@お腹いっぱい。:2007/11/02(金) 14:06:20
>>243
鏡に話し掛けるなよ
246名無しさん@お腹いっぱい。:2007/11/02(金) 17:53:04
apache 1.3の時代はアップデート時に勝手にドキュメントルートをデフォルトに戻してた
あれには閉口した
apache.confは書き換えずにVirtualHostを作る流儀だと気付くまで何度か痛い目にあった
apache2のパッケージでは改善されているのかもしれないが
>>241の言うようなapache2.confの差し替えでうまくいくのか疑問だ

このような問題が起きるのはパッケージ本体と設定ツールを分けないからだ
Red Hatはそうしている
Red Hatのパッケージにはデフォルトに近いhttpd.confと空のconf.dがあるだけで
それとは別に押し付けがましいGUIの設定ツールがあり、使うも使わないも自由だ

余談だがRed Hatは同じ失敗をbindでやっていて
最近まで設定ファイルの構成をあーでもないこーでもないといじっていたが
最終的に「パッケージはnamed.confを提供しない」という方針に落ち着いた
247名無しさん@お腹いっぱい。:2007/11/02(金) 18:09:44
debianとかSUSEは、apacheやbindの設定ファイルは細切れにする傾向が強いよね。
248名無しさん@お腹いっぱい。:2007/11/03(土) 00:20:10
細切れにする流儀はSYSV発祥かな(古い人、証言ヨロ)。
rc.localとrc<n>.d/[SK][0-9][0-9]方式がそもそもの始まりか。

SYSVは気分で細切れにしたわけじゃなく、運用管理上、複数の独立した
ベンダなり運用者が相互に干渉せずに設定の追加削除をしたいがために
rc.local方式をひねってこの方式にしたはず。

この細切れ方式、時代が経つにつれて洗練されていったのはいいけど
逆に見通しが悪いというトレードオフで、現代に至るまでvi対emacs並みの
伝統の一戦となっている。
249名無しさん@お腹いっぱい。:2007/11/08(木) 03:55:12
質問
fopenとかでhtmlファイルを作ろうと思ってます。
ディレクトリのパーミッションは707とかですけど
755じゃなくてもセキュリティは大丈夫でしょうか?
250名無しさん@お腹いっぱい。:2007/11/09(金) 10:52:10
apacheでIf-Modified-Sinceヘッダを有効にする方法を教えてください
251名無しさん@お腹いっぱい。:2007/11/09(金) 11:13:01
は?
252名無しさん@お腹いっぱい。:2007/11/09(金) 22:20:23
Fedoraで2台のApacheサーバーを管理しています。
access_log と error_log を一括で管理する為のツールで、オススメありませんか???
253名無しさん@お腹いっぱい。:2007/11/09(金) 22:45:22
>>252
聞きたいことはなんとなく想像できるけど、それだけじゃあ
質問としてイミフだよ。2台の鯖でバラバラに記録されているログを
タイムスタンプを元にマージしたいってこと?

アクセス数にもよるけど、perlとかで書くのはダメかな?
100万req/dayぐらいなら十分処理できると思われ。
254名無しさん@お腹いっぱい。:2007/11/09(金) 22:47:41
例えば syslog サーバのように、
ログサーバーに送って、そこで管理できれば。。。
と考えています。


255名無しさん@お腹いっぱい。:2007/11/09(金) 23:00:41
何のためにそうしたいのかが分からんけど・・・
こういうので良いのでせうか?
ttp://modules.apache.org/search?id=644
256名無しさん@お腹いっぱい。:2007/11/09(金) 23:03:12
あと CustomLog "| logger" とかwww
257名無しさん@お腹いっぱい。:2007/11/10(土) 16:55:01
mergelog使えば?
258名無しさん@お腹いっぱい。:2007/11/10(土) 16:55:38
スペルこうだっけw
259名無しさん@お腹いっぱい。:2007/11/12(月) 23:55:43
SuExecでCGIを実行しても
他人のディレクトリにドカドカ上がり込んで
これるのですが、出来なくするにはどうすればいいでしょう?
260名無しさん@お腹いっぱい。:2007/11/13(火) 00:21:08
>>259
man chmod
261名無しさん@お腹いっぱい。:2007/11/13(火) 00:24:05
>>259
suEXEC で実行してることは、どうやって確認した?
262名無しさん@お腹いっぱい。:2007/11/13(火) 00:40:07
suexecに幻想抱きすぎ
263名無しさん@お腹いっぱい。:2007/11/13(火) 00:42:50
>>260
最初それでやろうと思ったのですが、
Apacheから静的なファイルを読み取る
時まで拒否されてしまいます
何か良い方法があればご教示下さい。

>>261
CGI上で id コマンドです

大手のレンタルサーバはどうやってるんでしょう…
ついでと言っては何ですが大量のバーチャルホストで
SuExecする方法も分かりません
やはり自分でモジュールを
書くしかないのでしょうか
264名無しさん@お腹いっぱい。:2007/11/13(火) 00:51:59
もしかしてファイルシステム的にやるんですかね…
265名無しさん@お腹いっぱい。:2007/11/13(火) 02:27:07
やべー腹いてぇwww
こいつまともに設定できてない上にSuExecがなにかわかってねーだろwwwww

その上、おそらくApache2使いwwwwwwwwwwwwwwwwwwwwwwwwww
266名無しさん@お腹いっぱい。:2007/11/13(火) 02:56:21

>>265
 __     __  ___ _____  _____                     _
 |   |    /  /  |  //       | /__  __/ [][] / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄フ   / /
 |   |.   /  /  /  / /   / ̄ ̄|. l    / /      ̄フ / ̄ ̄/ / ̄ ̄   ,__/ /
 |   |  /  /  /  / /   /.  / /    |  |___    / _ニ^ヽ_./ /  /\ ヽ  |/ ̄ ̄\
 |   |  /  /  /  / /    ̄ ̄ /     \__|   //  / / / / /  /  /  / ̄ ̄\\
 |   |. /  /  /  / /   / ̄ ̄ ̄            //\ / / / /- ~-ー ^    / /      | |
 |   |/  /  /  /. /   /               //  // / /       / /          | |
 |.     /  /  /  /   /                ̄  //  / /____人  フ /    /二ヽ /
 |    /. /   | ./   /                 //    ヽ ____ゝ ヽ_/     \ニニΛ\
  ̄ ̄ ̄   ̄ ̄ ̄.  ̄ ̄                       ̄                           ̄
267名無しさん@お腹いっぱい。:2007/11/13(火) 09:53:58
それぞれのユーザを同一グループに所属させて、chmod 0705 $HOME するのが王道かな。
268名無しさん@お腹いっぱい。:2007/11/13(火) 17:59:40
>>267
あー…! それは盲点でした
属性はグループが優先されるのですね
どうもありがとうございます
269名無しさん@お腹いっぱい。:2007/11/13(火) 21:58:51
wwwwwwwwwwwwwwwwww爆笑www
270名無しさん@お腹いっぱい。:2007/11/13(火) 22:29:51

>>269
     _____                            __     __  ___ _____
     /      \                          |   |    /  /  |  //       |
    /  / ̄ ̄\ .\                             |   |.   /  /  /  / /   / ̄ ̄|. l
    /  /    /. /   ___       _  . _       . |   |  /  /  /  / /   /.  / /
   /  /    /. /  /     \   / / . / /_     |   |  /  /  /  / /    ̄ ̄ /
   /  /    /. /  ./ / ̄ ̄/ /     ̄  / ___ \.  . |   |. /  /  /  / /   / ̄ ̄ ̄
  /  /    / ./  / /   / /   / ̄/ / /  \ ヽ   .|   |/  /  /  /. /   /
  /  /___/ ./  / /__/ /   /  / / /   / /. . .|.     /  /  /  /   /
 /        /  \___/   /  / / /   / /     |    /. /   | ./   /
  ̄ ̄ ̄ ̄ ̄ ̄                ̄  .  ̄      . ̄     ̄ ̄ ̄   ̄ ̄ ̄.  ̄ ̄
271名無しさん@お腹いっぱい。:2007/11/13(火) 22:44:01
煽ってるヤツは楽しいのか?w
272名無しさん@お腹いっぱい。:2007/11/14(水) 00:54:26
AA貼りたいだけなんじゃねwwwwwww
273名無しさん@お腹いっぱい。:2007/11/14(水) 03:42:49
┐(´ー`)┌
274名無しさん@お腹いっぱい。:2007/11/21(水) 19:45:09
apacheの設定ファイルって、
なるべく、1つのファイルに書いてあったほうが見通しが良いと思うんだけど。
ワシのようなCONFIG_LAYOUTの古い頭では通用しなくなってきてるのかな。

CentOS5に入ってるapache2をいじる必要があって、

index.htmlがないときに、
/var/www/error/noindex.htmってのが、
/etc/httpd/conf.d/welcom.confから呼ばれるんだけど、

/etc/httpd/conf/httpd.confの
Include conf.d/*.conf
って行で呼ばれているのにたどりつくまで、手間かかったのよ。

Linuxってわりと、こうなってるのかね?
275名無しさん@お腹いっぱい。:2007/11/22(木) 12:27:25
Linuxは全部そうなってるね。ひとつの例外もなく。
276名無しさん@お腹いっぱい。:2007/11/22(木) 14:16:58
ソースから入れるから知らん
277名無しさん@お腹いっぱい。:2007/11/22(木) 14:39:27
>>275
さんきゅーです。
「ひとつの例外もなく」そうなってると聞いて、ある意味安心した。
なら、覚えることにしよう。
Slackwareのころからなんだろか。
Linux流でビルドしたときの、config.logとconfig.statusどっかに転がってないか探してみる。
けど、生のapache layoutはこれからも残して欲しいものだ。
278名無しさん@お腹いっぱい。:2007/11/22(木) 14:45:15
念のためディストリ全部調べてみたけど
ひとつの例外もなくそうなってたよ。
279名無しさん@お腹いっぱい。:2007/11/22(木) 14:57:20
Apache2.2だとソースからでも設定ファイルコマ切れだけど?
280名無しさん@お腹いっぱい。:2007/11/22(木) 15:33:15
ソースファイルバラバラ殺人事件だな
281名無しさん@お腹いっぱい。:2007/11/22(木) 16:42:48
なので、2.2は使ってない。
SMPだけ一部2.0で、大部分は1.3でいけるだけいく。
Linuxはしょうがないので、覚える。
282名無しさん@お腹いっぱい。:2007/11/22(木) 17:09:48
設定ファイル一つだけ、って、巨大な関数が一個だけの
プログラムみたいな感じ。main() が何ページもあるCプログラム
みたいな。
283名無しさん@お腹いっぱい。:2007/11/22(木) 17:54:40
1.0.0のhttpd.conf

ServerType standalone
Port 80
User nobody
Group #-1
ServerAdmin [email protected]
ServerRoot /usr/local/etc/httpd
ErrorLog logs/error_log
TransferLog logs/access_log
PidFile logs/httpd.pid
Timeout 400
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 30
#<VirtualHost host.foo.com>
#ServerAdmin [email protected]
#DocumentRoot /www/docs/host.foo.com
#ServerName host.foo.com
#ErrorLog logs/host.foo.com-error_log
#TransferLog logs/host.foo.com-access_log
#</VirtualHost>

思えば遠くへ来たもんだ
284名無しさん@お腹いっぱい。:2007/11/22(木) 18:33:22
2.0ってSuExecまともに動くようになったの?
285名無しさん@お腹いっぱい。:2007/11/22(木) 19:56:05
confの構成がいやなら自分でまとめてもいいじゃん。
俺はそうしてる。自動生成させてるからだけど。
286名無しさん@お腹いっぱい。:2007/11/22(木) 20:45:26
もともと分かれてたのを、1.3.4から統合した
=====================
In addition, we have moved all of the server configuration
directives to a single file (httpd.conf-dist), updated mime.types, and
improved the examples for first-time installers.

で、また分けるのさ。
287名無しさん@お腹いっぱい。:2007/11/22(木) 21:05:46
そりゃ、自宅鯖程度ならいいけどなw
288名無しさん@お腹いっぱい。:2007/11/22(木) 21:16:46
みんな1ファイルにまとまってた方がいいの?
おれはデカいファイルを把握する方がめんどいけどなぁ。
ある程度わかれてた方がいい。
289名無しさん@お腹いっぱい。:2007/11/22(木) 21:36:36
ひとファイル開いて編集すればいいんだし。
中は上からSectionごとにまとまってあるでしょ。
1.Global Environment
2.Main(access log module)
3.Vietual Hosts

で、どうしても2.2使うんで構成変えるなら、
mimeとIfModuleは別にして、この順番で1ファイルにする。
で、所帯が多いサーバのVirtualは、ホストごとにファイルに分けて整理しとくかも。
290名無しさん@お腹いっぱい。:2007/11/22(木) 21:48:55
バーチャルサーバー毎に分けてる
メインは極力一つにしてる

少ない方がメンテナンス楽だよね
291名無しさん@お腹いっぱい。:2007/11/22(木) 22:03:05
好きなようにすればいい
正解なんて無い
292名無しさん@お腹いっぱい。:2007/11/22(木) 23:04:10
どうせ最初っから入ってるのはサンプル。
293名無しさん@お腹いっぱい。:2007/11/23(金) 00:53:07
Linux系で分割するのは、rpmなんかを使ってのバージョンアップを想定していると思う。
個々にカスタマイズした部分(includeされる部分)はそのまま残して
大元のhttpd.confは(大きな変化があっても)そのまま置き換えて新版に変えられるように。

皆がconfの設定に精通していたり、confのバージョン管理をしていたりするわけじゃないから。
多分。
294名無しさん@お腹いっぱい。:2007/11/23(金) 11:42:45
apacheで商売してる会社は、使いまわすからな
パーツ(細切れの設定ファイル)をストックしてあるし
295名無しさん@お腹いっぱい。:2007/11/23(金) 18:31:28
>>293
でもRedHat系のhttpdのrpmはupdateするとrpmsaveで勝手に置き換えられるから、
迷惑な気分になるけど。
ふつーの感覚だと運用中のconfを優先するだろって気分。
296名無しさん@お腹いっぱい。:2007/11/23(金) 21:06:40
>>295
ようこそDebianの世界へ?
297名無しさん@お腹いっぱい。:2007/11/23(金) 21:19:51
>>296
パッケージの思想としては、Debの方がいいのかもね。
仕事でRedHatを使わざるを得ないからめんどくせー。

298名無しさん@お腹いっぱい。:2007/11/24(土) 10:15:36
apache 以外で include に対応してない conf でも、
カテゴライズして細切れ管理してる漏れは変態なんだろうか?w
make config とかして結合して使ってます。
299名無しさん@お腹いっぱい。:2007/11/26(月) 10:53:45
>>298
少数派だろうけど変態ではないと思う。さらに、

start: hoge.conf
hoged
stop:
pkill hoged
reload:
pkill -HUP hoged

のようなターゲットを Makefile に書いておいて、起動スクリプトを

#!/bin/sh
cd /etc/hoge
case "$1" in
start|stop|reload) make $1;;
esac

のようにしておくと、設定ファイルのアップデートを忘れて
起動することがなくなってさらに幸せになれる。
300名無しさん@お腹いっぱい。:2007/11/26(月) 16:56:05
>>299
やまちゃん乙
301名無しさん@お腹いっぱい。:2007/11/27(火) 00:20:36
おーはー

山ちゃんは、ガキの使いをやめへんで〜〜〜!
302名無しさん@お腹いっぱい。:2007/11/27(火) 02:13:56
>>299
もうそこまでいくと/sbin/initからmake -j8とかで起動処理回し始めそうだな
303名無しさん@お腹いっぱい。:2007/11/27(火) 15:56:31
2.2.7がそろそろ出そうだ
304名無しさん@お腹いっぱい。:2007/11/29(木) 00:08:08
mod_bwについて質問させてください。

BandWidthディレクティブで、たとえば以下のようにIPアドレスを範囲で指定した場合、

  BandWidth 192.168.0.0/24 10240

クライアントIPアドレス1つあたりの帯域が10240Bpsになるんでしょうか、それとも、指定した範囲のIPアドレスからのアクセスの合計の帯域が10240Bpsになるんでしょうか。
MaxConnectionディレクティブと組み合わせて、特定のディレクトリ単位のMaxClientsのような設定をしたいと考えているので後者の動作を期待しています。

ttp://bwmod.sourceforge.net/files/mod_bw-0.7.txt
ドキュメントを見ると後者のように思えるのですが、複数のIPアドレスからアクセスできるような環境を構築するのが難しいので検証はできていません。
ご存じの方がおられたら教えてください。
305名無しさん@お腹いっぱい。:2007/11/29(木) 00:40:24
>>304
ifconfig alias で private たくさん振れば?
306名無しさん@お腹いっぱい。:2007/11/29(木) 23:37:03
>>305
ありがとうございます。IPアドレスを割り当てるのが手続き的にめんどくさい環境なのです。

ソースを読んでみたところ、後者の動作のようです。
とりあえず単一のIPアドレスからのアクセスで動作を検証してみました。
BandWidthでの帯域制限はできたのですが、MaxConnectionの動作に問題があるようで、接続数オーバー後まったく接続できなくなるという現象が発生しました。
中途半端なタイミング(error_logにBroken Pipeが出るような状況)でコネクションを切断すると接続数のカウンタがデクリメントされずに残ることがあるようです。
このままでは使えないので別の方法を探してみます。
307名無しさん@お腹いっぱい。:2007/12/04(火) 03:34:29
借り物サーバで、アプリケーションレベルでまで
QoSやるのは骨だと思う。 IP層より上でやるのは
正直うまくいかんよ。

308名無しさん@お腹いっぱい。:2007/12/11(火) 09:19:46
309名無しさん@お腹いっぱい。:2007/12/16(日) 03:17:14
mod_ruidの使用を検討中なのですが、
> there are some security issues, for instance if attacker successfully exploits the httpd process,
> he can set effective capabilities and setuid to root.
という配布元のコメントが非常に気になります。

セキュリティ部分のリスクをできる限り正確に把握しておきたいのですが、
ナカナカうまく理解することができません。

例えば、mod_ruidのソースを見てみましたが、
ソースレベルでsetuidできるUID/GIDが100以上となってます。
普通 mod_ruid.so はroot所有になっていて、apache権限では書き換えられないはずで、
にもかかわらず、apacheの権限が奪取されたとして、
rootに昇格されてしまう危険性が発生する可能性があるのはなぜなのでしょうか。
(UID100以上のユーザの権限が奪取される可能性があるよ、なら分かるのですが)



310名無しさん@お腹いっぱい。:2007/12/16(日) 09:33:33
rootで実行してるから
311名無しさん@お腹いっぱい。:2007/12/16(日) 11:41:01
>>310
>これに対し、mod_ruid は Linux に実装されている
POSIX 1003.1e で定義されたケーパビリティ を利用して、
root で httpd を起動することなく、
setuid/segid できる権限のみ与えて、
プロセス/スレッドの実行ユーザを切り替えています。
ttp://trac.mizzy.org/public/wiki/ModSuid2AndModRuidAndLinuxCapability

とあります。mod_suid2 などのように
rootで実行とは異なるんではないでしょうか。
312名無しさん@お腹いっぱい。:2007/12/20(木) 05:12:09
質問です。
apache2です。
げんざいwebページを見る時は、
http://hoge.net/~oresama/index.html
とやってアクセスしていますが、これを
http://hoge.net/とやっただけで
index.htmlを表示させるためにはどこの設定を変更させれば良いでしょうか?
313名無しさん@お腹いっぱい。:2007/12/20(木) 07:39:46
314名無しさん@お腹いっぱい。:2007/12/20(木) 10:10:53
>>213
トンです!
315311:2007/12/20(木) 17:20:04
おいらの質問に誰かアドバイスくれないでしょうか。orz
316名無しさん@お腹いっぱい。:2007/12/21(金) 05:10:14
ドキュメントルートディレクトリに、
hoge.html
huga.php
foo.php
bar(データベース)
moe.sh(シェルスクリプト)
image(ディレクトリ)
があります。
imgageの中には画像が入っていて、
huga.phpが呼び出します。
で、barとmoe.shに触られたくなくて、imageを掘られたくないのですが。
どのように設定すれば良いのでしょうか?
317名無しさん@お腹いっぱい。:2007/12/21(金) 09:33:11
掘ってあるのに掘られたくない?

db公開するって…
318名無しさん@お腹いっぱい。:2007/12/21(金) 09:39:46
>>316
パーミッションをその通りに設定すればいいだろ
319名無しさん@お腹いっぱい。:2007/12/21(金) 10:02:21
>>316
力抜けよ。
320名無しさん@お腹いっぱい。:2007/12/21(金) 11:44:30
>>319
アッー
って言うのは冗談として、
拡張子が、phpとhtmlだけしか見れないようにしたい訳なんです。
現状、http://www.hoge.net/imageとブラウザからアクセスすると
imageの中身が見れてしまう訳なんです。
>>318
パーミッションとは?
chmodってことですか?
321名無しさん@お腹いっぱい。:2007/12/21(金) 12:00:54
ディレクトリ内の一覧を表示させたくないなら-Indexesすれば良いだけ。掘るとか判らずに使うなボケ。
barもmoe.shも非公開のディレクトリに移動すればいいだろ
322名無しさん@お腹いっぱい。:2007/12/21(金) 12:53:35
脱線するが、「ディレクトリを掘る」って昔はmkdirの意味で使ったけど、
最近は、ディレクトリの中身を見られちゃう、という意味で使うのかね?
323名無しさん@お腹いっぱい。:2007/12/21(金) 13:00:38
あ゛ーー
なんか使われてるような気もする

時代的なものより、コミュニティに依るところが大きいような気もするけど
324名無しさん@お腹いっぱい。:2007/12/21(金) 16:25:31
>>321
barもmoe.shも移動は出来たのですが、
-Indexesと設定しても
やっぱり、
http://www.hoge.net/imageとアクセスすると
ディレクトリにある画像が一覧で表示されてしまいます。
かといってパーミッションを変更すると、画像の読み出しが出来ないし...
325名無しさん@お腹いっぱい。:2007/12/21(金) 16:57:49
自作板のくだ質スレで質問してた軽度の知・・・ピーの方ですか。
326名無しさん@お腹いっぱい。:2007/12/21(金) 17:07:59
>>324
一覧なんか表示されてないから大丈夫だよ。
327名無しさん@お腹いっぱい。:2007/12/21(金) 20:05:21
imageの下に空のindex.html置くとかは?
cd image ; touch index.html
328名無しさん@お腹いっぱい。:2007/12/21(金) 22:56:20
-Indexesがなぜうまくいかないのか知らないが、
それならディレクトリを chmod -r すれば一覧は表示されないだろ
329311:2007/12/23(日) 16:01:47
ちょっと質問の方向性を変えます。

mod_ruid を入れた場合、
直接的にsetuidできるコマンドなどが生成されるわけではありませんでした。

にも関わらず、apacheがsetuidできるようになっている、ということは
直接的にsetuidされたパーミッションではないものでもsetuidできる、
ということなんでしょうか?
330名無しさん@お腹いっぱい。:2007/12/23(日) 23:27:50
それがPOSIXケーパビリティ。
331名無しさん@お腹いっぱい。:2007/12/27(木) 03:16:59
ここの猛者達にお聞きしたいんですが、

今本家の最新版APR-1.2.12(http://ftp.riken.jp/net/apache/apr/apr-util-1.2.12.tar.gz)を
拾ってきて、自前でmake & make test を掛けてみたんですが、

・・(略)
testsleep           :  SUCCESS
testshm             :  Line 254: Error destroying shared memory block (2): No such file or directory
FAILED 1 of 6
testsock            :  SUCCESS
・・(略)
===================================================
testshm                     6      1     16.67%
となりました。

エラー内容でググってみたところ、いくつかHitして、patchも発見しましたが、
(http://svn.apache.org/viewvc/apr/apr/trunk/test/testshm.c?rev=592258&r1=592257&r2=592258&view=diff)
このpatchは、上のRelese版のtar.gzには適用済みでした。

そこで、APR-1.2.11.tar.gzに含まれる、test/testshm.c(上のpatchが当たる前だと思われます)を、1.2.12/test/に
コピーしてやって、make test したところ、全てのテストが”SUCCESS”となりました。

http://www.mail-archive.com/[email protected]/msg19315.html
ここらへんから、同じエラーらしき症状のコメントを追ってみて、「ここ見ろ」的なBugレポートのページに
飛んだりしましたが、(http://issues.apache.org/bugzilla/show_bug.cgi?id=43000)どうも違うようです。

別に1.2.12をどうしても使いたいってわけではないんですが、近々Relese予定のhttpd-2.2.7には、APR、APR-Uの1.2.12が
同封されると思われますので、その時になんか不具合とかないかと思った次第であります。
332331:2007/12/27(木) 03:23:37
すいません。
>>331の各リンクは、最後の’)’をはがして下さい。

あと、言い忘れましたが、当方の環境は、
distri  Cent4 Cent5 FC6 、
gcc    3.4.6(Cent4)、4.1.2(Cent5,FC6)

で、全て同じ現象が出ます。
333名無しさん@お腹いっぱい。:2007/12/27(木) 08:32:13
ちょうどそのMLのスレッドで開発者が

Correct; this is not a regression, not a showstopper, but a new illustration
of an existing bug. We may remove the shm backing store, and destroy the shm
object (or let it clean up) but it will attempt to re-remove itself. It's
illustrating the bug, no patch was forthcoming, I'm considering it closed until
the next go-around with release 1.2.13.
といってるじゃないか
<http://www.mail-archive.com/[email protected]/msg19314.html>
334名無しさん@お腹いっぱい。:2007/12/27(木) 08:36:28
単純に言えば、気にしなくていいということだ
開発者はちゃんとそのテストが失敗することを把握したうえで、
影響はないと判断して1.2.12をリリースした
335331:2007/12/27(木) 13:19:45
>>333 >>334
ありがとうございます。
そのページも、一度yahoo翻訳にかけてみたんですが、なに言ってるかイマイチ理解できませんでした。
私のつたない英語力では、>>334のような解釈には読み取れませんでした。

とりあえず問題なさそうとゆうことがわかったので、ひとまず安心です。

どうもありがとうございました。
336名無しさん@お腹いっぱい。:2007/12/29(土) 20:56:56
apache2を起動するとこんなメッセージが表示されるんだけど意味わかんね。


[Sat Dec 29 20:50:45 2007] [warn] The Alias directive in /etc/apache2/apache2.conf at line 129 will probably never match because it overlaps an earlier Alias.
apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName


apache2.confの129行目はこんな感じで関係なさそうなんだけど。。。。
Alias /icons/ "/usr/share/apache2/icons/"

回避方法を教えてくださいです。
337名無しさん@お腹いっぱい。:2007/12/29(土) 21:01:24
apache2.conf の 129行目よりも「前」のところで重複する
alias が定義されてるから。。。云々というメッセージでっせ。
>>336
338名無しさん@お腹いっぱい。:2007/12/29(土) 22:33:06
>>337

教えてくれてありがとう
apache2.confを確認してみたけどわかんなかった。。。。
129行目から上はほとんどデフォルトのままだし
alias的な記述は無いような。。
339名無しさん@お腹いっぱい。:2007/12/29(土) 22:47:58
apache2.conf の上流のほうで、どっか他所から別の
conf ファイルを読み込むようになってたりしない?
そこに、重複する Alias directive が書いてあるという
ふうな場合があるよ。>>338
340名無しさん@お腹いっぱい。:2007/12/29(土) 22:59:05
確かにincludeはたくさんある。
けど、その中身は重複は考えにくい外部ファイルばっかりだけど。。。


# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf   ←  空

# Include ports listing
Include /etc/apache2/ports.conf

# Include generic snippets of statements
Include /etc/apache2/conf.d/[^.#]*  ← charsetしか入ってない
341名無しさん@お腹いっぱい。:2007/12/29(土) 23:08:10
>>340 なら、

Alias /icons/ "/usr/share/apache2/icons/"

の直後あたりに、以下のようなDirectory directive はいってる?

<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
342名無しさん@お腹いっぱい。:2007/12/29(土) 23:12:25
まさに!その通り書いてあるけど
コレが問題?
343名無しさん@お腹いっぱい。:2007/12/29(土) 23:13:59
Include /etc/apache2/conf.d/[^.#]*

だけど、/etc/apache2/conf.d/ の下の全部のファイル引っ張ってこい、
て意味だよ。そこに、xxx.conf て全然無いの?
344名無しさん@お腹いっぱい。:2007/12/29(土) 23:17:32
conf.dの下はcharsetだけ

中身の記述は
#AddDefaultCharset UTF-8
こんだけ
345名無しさん@お腹いっぱい。:2007/12/29(土) 23:20:06
>>342 いや、そう書いてあるならおkのはずだ。
チェックポイントのネタ切れたよ。こりゃ、分からんわ。
おいら、337=339=341=343 ですた。
346名無しさん@お腹いっぱい。:2007/12/29(土) 23:27:26
付き合ってくれてありがとう
とりあえず起動してるから
じっくり考えます
347名無しさん@お腹いっぱい。:2007/12/30(日) 10:04:33
/icons/ というaliasが 無効になっているという話なんだから
実際にそこにアクセスしてみて、何が見えるかが手がかりにならないかね。
もし/usr/share/apache2/icons/ が見えるなら同じ設定が重複してるっぽいし。
348名無しさん@お腹いっぱい。:2007/12/30(日) 10:22:53
>>346です

>>347
よく考えたら、/icons/にアクセスするというのは
どういうことだ?よくわかんない。
/usr/share/apache2/icons/は普通にアイコン画像が
たくさんある。
つか、apacheのアイコンなんてコメントにしてもいいような
気がするんだけど。。。。
349名無しさん@お腹いっぱい。:2007/12/30(日) 10:24:54
index.html を入れてないディレクトリへのアクセスを許容して
ディレクトリリストを表示させてやるとき用のアイコンだよ >>348
350名無しさん@お腹いっぱい。:2007/12/30(日) 10:32:12
つまり
Opsions Indexesしてないから
コメントしても問題ない?
351名無しさん@お腹いっぱい。:2007/12/30(日) 10:45:39
そのとおり >>350
352名無しさん@お腹いっぱい。:2007/12/30(日) 10:47:25
サンクス!
353名無しさん@お腹いっぱい。:2007/12/30(日) 10:56:01
何度もゴメン

icons辺りをコメントして再起動すると

* Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name,
using 192.168.1.2 for ServerName

一応再起動はOKになるが、NameVirtualhost近辺のエラーだろうか。。。
動作は問題ないんだけど、気になる。
354名無しさん@お腹いっぱい。:2007/12/30(日) 11:21:37
alias の行以外に何をコメントアウトしたの?
355名無しさん@お腹いっぱい。:2007/12/30(日) 11:24:48
Directory部分も一緒にコメントしますた

#Let's have some Icons, shall we?

#Alias /icons/ "/usr/share/apache2/icons/"

#<Directory "/usr/share/apache2/icons">

# Options Indexes MultiViews

# AllowOverride None

# Order allow,deny

# Allow from all

#</Directory>
356名無しさん@お腹いっぱい。:2007/12/30(日) 18:21:46
index of のページが日本語ファイルだと文字化けしてしまうんですが、文字コードの指定とかできますか?
357名無しさん@お腹いっぱい。:2007/12/30(日) 23:24:31
>>356
運用でカバーすることは不可能なのですか?
358名無しさん@お腹いっぱい。:2007/12/31(月) 08:04:51
>>356
その辺に脆弱性があったとかで設定で文字コードを指定できるようになったっぽいよ?
359名無しさん@お腹いっぱい。:2007/12/31(月) 08:08:19
mod_info入れればmod_aliasの設定が全部分かる
360308:2007/12/31(月) 15:35:58
http://mail-archives.apache.org/mod_mbox/httpd-dev/200712.mbox/%[email protected]%3e

ということで、12/29に1.3.40, 2.0.62, 2.2.7 のタグが切られ、(=新バージョンが完成)
1/2にリリースされる予定だったが
mod_davのETag関連、mod_proxy_balancer関連、Content-Typeのcharset関連で更新があり、若干延期中
361311:2008/01/02(水) 17:16:40
>>330
なるほど・・・・

以下みたいな感じですかね?

・mod_suid2
setuidできるプログラムが必要、
かつそれを利用するためにroot権限でapacheを起動する必要がある。
apacheにセキュリティホールがあってのっとられたら
root権限奪われたことになるので一巻の終わり

・mod_ruid
apacheにセキュリティホールがあってのっとられても
POSIXケーパビリティで、root起動ではないため、
完全なroot権限ではなく、
あくまで setuid などに限られた権限しか奪われない


う〜〜ん、あってるのかな・・・
そもそもsetuidが自由にされてしまう状態と
root権限が奪われてる状態って違うのでしょうか。
後者がイッテヨシ状態なのは分かりますが、
前者も変わらないのでは?
362名無しさん@お腹いっぱい。:2008/01/08(火) 17:54:10
草薙は秋田顔だよ。
363名無しさん@お腹いっぱい。:2008/01/08(火) 17:56:07
すまん誤爆orz
364名無しさん@お腹いっぱい。:2008/01/09(水) 03:30:27
ルーターはメルコだよ。
365名無しさん@お腹いっぱい。:2008/01/10(木) 03:20:20
いちいちログローテイトのたんびにHUPが必要なのってどうよ?
今時ルーティンなんだからログのハンドラ取り直させるためだけに
HUPなんてさせるのなんとかして欲しいなぁ。。
366名無しさん@お腹いっぱい。:2008/01/10(木) 09:57:09
367名無しさん@お腹いっぱい。:2008/01/10(木) 21:48:42
>>366
おおー、さんくす。
368名無しさん@お腹いっぱい。:2008/01/12(土) 17:30:59
HUPつーかUSR1で回ってくれたほうが余分なサイクル一切使わないし
信頼性も高いし優れてると思う。
369名無しさん@お腹いっぱい。:2008/01/12(土) 17:58:30
そもそもの疑問:
なんでみんなapachectl使わないで自前でHUPなのか。

restartだとダウンロードが切れちゃうのに、ほとんどのディストリではそれがデフォルト。
まさかそんなあほな設定だとは思わないで1週間使い続けて、苦情が来て気付いた。
370名無しさん@お腹いっぱい。:2008/01/12(土) 18:06:40
>>369
伝統的にリロード処理はHUPだから、ついやってしまった。今は反省している。
てなとこかと。

そもそもgracefulかそうでないかで分ける必要なかったな。
実際、init.dレベルでは無視してるディストリもある。
ユースケースを考えれば設計ミスの部類だろう(重大ではないので
ことさら責めるような話でもないが)。
371名無しさん@お腹いっぱい。:2008/01/12(土) 18:11:15
>>369
開発陣にバグ報告したら?
372名無しさん@お腹いっぱい。:2008/01/17(木) 00:38:37
さて今度こそ新バージョン 1.3.41 と 2.0.63 と 2.2.8 が出るよ
http://mail-archives.apache.org/mod_mbox/httpd-dev/200801.mbox/%[email protected]%3e
373名無しさん@お腹いっぱい。:2008/01/19(土) 02:48:13
2.2.8って言うと、FreeBSDを始めて使ったバージョンと一緒だ
374名無しさん@お腹いっぱい。:2008/01/19(土) 14:08:42
特定メソッドでのアクセスの場合に
別プログラムへログ出力を渡す、みたいなことをしたいんだけど、
既存のモジュール利用して何とかできないでしょうか。

モジュール自体のカスタマイズや作成も考えたんですが、
そこまでプログラミングに精通もしていないので。。
375名無しさん@お腹いっぱい。:2008/01/19(土) 14:17:34
ログってアクセスログ?
SetEnvIfでRequest_Method見て環境変数設定して、CustomLogで環境変数を指定するだけ。

POSTでアクセスログを取る例:
SetEnvIf Request_Method "^POST$" access_is_post
CustomLog "|別プログラム" common env=access_is_post

あるいは別プログラムの前にgrepをはさむのもいいかもね
376名無しさん@お腹いっぱい。:2008/01/19(土) 15:27:37
webdav の delete で削除したファイルの
データサイズを調べる方法ってないでしょうか?
どうもログには残らないようで汗
377374:2008/01/19(土) 15:29:29
>>375
ありがとうございます。
他にもapache自身に処理させなくても
ちょっと考えてみれば、渡すプログラム側でgrepに近い処理するのも
ありですね、参考になりました。ありがとうございます。
378名無しさん@お腹いっぱい。:2008/01/20(日) 04:48:28
気がつけば新しいApacheが出てたorz
379名無しさん@お腹いっぱい。:2008/01/22(火) 04:56:58
mod_ssl マダー?
380名無しさん@お腹いっぱい。:2008/01/30(水) 06:49:05
apacheのオプションって、将来使うかもしれないと思うものまで含めて、
殆ど全部インストールしているんだけど、あれって使うものだけに絞って
インストールしたら、処理って結構早くなりますか?
それとも、大した差ではないでしょうか?

今、運用しているので、大した差でなければサービスを止めてまでする必要があるか、
悩むところなんですが。
381名無しさん@お腹いっぱい。:2008/01/30(水) 12:11:13
Linuxのカーネルなんかと考え方は一緒。
モジュールとしてコンパイルされているなら、設定ファイルから消せばそのモジュールは読み込まれない。
商用UnixやLinuxに初めから入っているApacheのモジュールが、スタティックリンクされているってことはほとんどないと思うし。

どっちにしろ、処理能力の問題においては、読み込まれたモジュールの数なんて大した影響ではないと思うが。
382名無しさん@お腹いっぱい。:2008/01/30(水) 12:23:19
詳しい方
prefork → Worker にする際のメリット、デメリットを教えてください!
383名無しさん@お腹いっぱい。:2008/01/30(水) 12:53:29
メリット: 速くなる
デメリット: 動かなくなる
384名無しさん@お腹いっぱい。:2008/01/30(水) 21:19:29
言い得て妙ですな >>383
385名無しさん@お腹いっぱい。:2008/01/31(木) 04:43:23
動かなくなるってどうなるの?
アクセス集中すると落ちるって事?
386名無しさん@お腹いっぱい。:2008/01/31(木) 10:10:40
マルチスレッドで動くことを考慮してないのが落ちたりするって話
387名無しさん@お腹いっぱい。:2008/01/31(木) 18:20:53
>>381
詳しくありがとうございます。
makeに結構な時間が掛かるので、結構ボトルネックになっているのかと思いました。
388名無しさん@お腹いっぱい。:2008/02/03(日) 20:04:51
>>386
thx
怖いからpreforkのままにしておきます
389名無しさん@お腹いっぱい。:2008/02/03(日) 21:04:25
こうやってまたレガシーが残るのか
390名無しさん@お腹いっぱい。:2008/02/04(月) 15:09:59
PHP使うならpreforkで、それ以外なら、とりあえずworkerで、でいいんじゃないのかな
391名無しさん@お腹いっぱい。:2008/02/04(月) 15:14:09
>>389
prefork 残るとなんかまずいんだっけ。
392名無しさん@お腹いっぱい。:2008/02/05(火) 09:15:38
preforkなら、子供が死んでも、親がまた子供を作ってくれる。
393名無しさん@お腹いっぱい。:2008/02/05(火) 11:27:53
もしかして prefork 以外のものはそれをやってくれないと思ってる?
394名無しさん@お腹いっぱい。:2008/02/05(火) 12:55:38
やってくれる。
395名無しさん@お腹いっぱい。:2008/02/05(火) 14:59:14
こういったログが大量に…。

121.89.202.193.serverhosting.pnet.hu - - [05/Feb/2008:10:42:55 +0900] "GET /./././././././././././././././././././././././././././index.php HTTP/1.0" 200 8134 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)"

以下数千行…。
アクセス拒否してやったら、イギリスやらアメリカやらオランダやら、さらにはEU連合とかからアクセスしやがる。
日本以外拒否するぞ…
396名無しさん@お腹いっぱい。:2008/02/05(火) 17:52:51
そりゃ日本人より外国人のほうが多いんだから
そういうことするのはたいてい外国人に決まってる
それでわざわざ外国を拒否するなんてバカだ
397名無しさん@お腹いっぱい。:2008/02/05(火) 17:53:48
>>395
そのログが出るとなんかマズいの?
398名無しさん@お腹いっぱい。:2008/02/06(水) 10:48:58
>>396
2行目→3行目の論理展開がおかしいぞw
399名無しさん@お腹いっぱい。:2008/02/06(水) 18:34:26
>>396
わかりました
日本語圏からのアクセスを遮断してみます
400名無しさん@お腹いっぱい。:2008/02/08(金) 21:15:01
1.3.41用のmod_sslって出ないんですか?
401名無しさん@お腹いっぱい。:2008/02/18(月) 12:01:39
Webalizerでホスト名を表示させたい場合、apacheの設定でHostnameLookupsをONにしないといけないのでしょうか?
402名無しさん@お腹いっぱい。:2008/02/19(火) 01:08:26
>>401
--enable-dnsを付けてコンパイルしたWebalizerならあとで逆引きできる。
ftp://ftp.mrunix.net/pub/webalizer/DNS.README
Apacheで逆引きするとパフォーマンスが落ちるからログ解析が目的なら後で逆引きするのがよいと思うよ。
403名無しさん@お腹いっぱい。:2008/02/20(水) 06:23:27
拡張子htmlのファイルだけど、中身はphpで書かれたものを、
phpとして動かしたいのですが、どのようにすればよいでしょうか?
404名無しさん@お腹いっぱい。:2008/02/20(水) 12:16:32
>>403
phpのハンドラを設定する or mod_rewriteなどで外から見た名前だけを変える
405名無しさん@お腹いっぱい。:2008/02/20(水) 16:53:58
>>403
拡張子 php のファイルが php で書かれたものとして動かすようにする
設定のうち、ファイルの拡張子に相当する部分を html に読み替えるだ
けで良いのでは?
406>>403:2008/02/21(木) 07:17:21
>>404
>>405
ありがとうございます
407名無しさん@お腹いっぱい。:2008/02/21(木) 19:38:23
Apache22+FreeBSD6.2を使っています。

サーバーを立ち上げて簡単な負荷テストをしたのですが、
F5を10秒間押し続けるだけで、プロセスが大量に作られ、以下のようなエラーが出力されて画面が表示されなくなります。
server reached MaxClients setting, consider raising the MaxClients setting
「MaxClients」は、200に設定していますが、これを上げる方法しかないのでしょうか?

いくら上げても、F5の連打ですぐにサーバーがクラッシュしてしまうので、
これに対応できる設定の方法はありませんか?

宜しくお願いします。
408名無しさん@お腹いっぱい。:2008/02/21(木) 19:51:58
>>407
keepAliveを切るか、タイムアウトを短くしてみたら?
409名無しさん@お腹いっぱい。:2008/02/21(木) 20:47:37
>>407
上げるしかないね。
あるいは同じIPアドレスからの複数接続を拒否するモジュールを自作するか。
ちなみにこの用途ではmod_limitipconnは役に立たない。


あと蛇足だが、クラッシュ???
なんでもかんでも落ちたことにするなよ
410名無しさん@お腹いっぱい。:2008/02/23(土) 20:39:09
>>407
クラッシュって、OSごとフリーズしちゃうか再起動しちゃうってこと?
そんな程度で陥るかなぁ?

apacheが一時的にリクエストに応えられなくなるぐらいじゃない?

んで、対策としてなんだけど、200以上上げるのはあんまりお勧めできない。
workerにしてスレッドとプロセスの調整をしても限界あるし、それを超えたいなら
複数台で負荷分散するしかないね。

>>408もいってるけど、一点のチューニングにだけとらわれず、システム全体に
対するチューニングが必要だよ。kernelのネットワークバッファ周りやら、
apacheのリソース周りやら色々。
411410:2008/02/23(土) 20:40:33
追加だけど、apacheのモジュールならmod_vhost_limitでどう?
412名無しさん@お腹いっぱい。:2008/02/23(土) 21:23:59
FreeBSDならpf使って制限かけられる。
max-src-conn, max-src-conn-rateで制限。
413名無しさん@お腹いっぱい。:2008/02/24(日) 01:41:59
good solution
414名無しさん@お腹いっぱい。:2008/02/24(日) 03:26:04
prefork+SuExec有効状態で大量にコネクション張られたら
root権限のプロセスが山程出来てシステム停止した覚えが
415名無しさん@お腹いっぱい。:2008/02/24(日) 21:58:24
Apacheのスタートをしようとしたら、
「The requested operation has failed!」
とでてきます…どうすれば普通にスタートできるでしょうか…
416名無しさん@お腹いっぱい。:2008/02/24(日) 22:14:04
エラーログをまず読む。
417名無しさん@お腹いっぱい。:2008/02/25(月) 09:04:29
access_logに以下の自己アクセスが大量に残っているのですが、
これはなんでしょうか?リモートIPは、自分のサーバーのIPです。
宜しくお願いします。

xxx.xxx.xxx.xxx - - [25/Feb/2008:09:00:00 +0900] www.example.com "GET / HTTP/1.0" 403 202 346 "-"
"Apache/2.2.6 (FreeBSD) mod_ssl/2.2.6 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.2.5 with Suhosin-Patch (internal dummy connection)"
418名無しさん@お腹いっぱい。:2008/02/25(月) 09:42:59
proxyでもさがしてんじゃないの
419名無しさん@お腹いっぱい。:2008/02/25(月) 09:45:02
420名無しさん@お腹いっぱい。:2008/02/25(月) 09:45:10
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=internal+dummy+connection&num=50

なんでも検索で済ませるのもどうかと思うが
このくらいは検索して欲しい
421名無しさん@お腹いっぱい。:2008/02/25(月) 12:54:33
422名無しさん@お腹いっぱい。:2008/02/25(月) 13:22:08
>>421
どうした?
423名無しさん@お腹いっぱい。:2008/03/06(木) 19:21:15
ソースからインストールしたapacheのserver rootを
rpm版のように/etc/httpdにしようと思います
ただ、server rootはhttp.confの中で設定しますよね?
鶏が先か玉子が先かみたいな状態になるんですが、
どうしたら出来ますか?
424名無しさん@お腹いっぱい。:2008/03/06(木) 20:30:10
configure時のオプションで--enable-layoutとか--bindirとか--datadirとかその辺をいじる。
または、httpdのコマンドラインオプション -dとか-fを使う。

http://httpd.apache.org/docs/2.2/programs/configure.html
http://httpd.apache.org/docs/2.2/programs/httpd.html
425名無しさん@お腹いっぱい。:2008/03/06(木) 20:32:55
>>423
spec読んでみ
426名無しさん@お腹いっぱい。:2008/03/07(金) 00:49:04
その程度変更できないんだったらソースから入れる意義がないと思うぞ。
単なる自己満足?
427名無しさん@お腹いっぱい。:2008/03/08(土) 15:49:12
logrotateってkill -hupしてるんですが何か問題はないのでしょうか?
apacheはgracefulに終了させたりするのに
いきなり-hupを送りつけるのは乱暴なのではないかと思うのですが・・・
428名無しさん@お腹いっぱい。:2008/03/08(土) 16:46:39
429名無しさん@お腹いっぱい。:2008/03/08(土) 18:28:28
>>365あたりで話題になってる。
俺は、いじらない場合はHUPを送るようにしてるディストリは下に見てるよ。
430名無しさん@お腹いっぱい。:2008/03/09(日) 10:40:34
logrotateとmailmanのコンボ技で/var溢れさせられてからlogrotateは
インストール後真っ先に止めるプログラムだ。
431名無しさん@お腹いっぱい。:2008/03/09(日) 22:50:06
それは/varをケチり過ぎなだけのような・・・
432名無しさん@お腹いっぱい。:2008/03/11(火) 23:10:46
Apache2.2を使っているのですが、
毎日勝手にリスタートしています。
時間もマチマチですし、わざとやっているわけでもありません。
考えられる原因ってどのようなものがあるのでしょうか?

宜しくお願いします。
433名無しさん@お腹いっぱい。:2008/03/11(火) 23:14:45
ちなみに、エラーメッセージは↓です。
SIGHUPをApacheに意図して送ったことありません。

[notice] SIGHUP received. Attempting to restart
[warn] (22)Invalid argument: Failed to enable the 'httpready' Accept Filter
[notice] Digest: generating secret for digest authentication ...
[notice] Digest: done
[notice] Apache/2.2.6 (FreeBSD) mod_ssl/2.2.6 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.2.5 with Suhosin-Patch configured -- resuming normal operations
434名無しさん@お腹いっぱい。:2008/03/11(火) 23:41:04
apache22_http_accept_enable="YES"
435名無しさん@お腹いっぱい。:2008/03/13(木) 01:56:28
apacheの追加モジュールで*.cと*.soってありますけど、
どう違うんですか?mod_rewrite.cとmod_rewrite.soは
どっちを設定したらいいんですか?
436名無しさん@お腹いっぱい。:2008/03/13(木) 02:05:48
rewrite_module   モジュール識別子
mod_rewrite.c  モジュールソースファイル
mod_rewrite.so  モジュールのDSOファイル
437名無しさん@お腹いっぱい。:2008/03/13(木) 13:40:25
>> 435
返信ありがとうございます。
httpd.confに
LoadModule rewrite_module modules/mod_rewrite.so
AddModule rewrite_module.c
という行がありますが、これらはどのような意味なのでしょうか。
438名無しさん@お腹いっぱい。:2008/03/13(木) 13:45:21
いいかげん1.3は捨てれ。
439名無しさん@お腹いっぱい。:2008/03/13(木) 14:39:30
inetdモードで動かしたいので 1.3系は必須です
440名無しさん@お腹いっぱい。:2008/03/13(木) 14:56:54
>>437
マニュアル読めよ
441名無しさん@お腹いっぱい。:2008/03/13(木) 14:59:29
いいかげんinetdモードは捨てれ。
442名無しさん@お腹いっぱい。:2008/03/13(木) 17:44:03
>>432
OSは何れすか? 恐らくだけど、ログローテーション周りで
別の処理が走って勝手にHUPしてるんだと思う。
時刻がマチマチなのは、時刻がトリガになってるんじゃなくって、
ログサイズとかなんじゃね?
443名無しさん@お腹いっぱい。:2008/03/13(木) 18:05:15
たまーにしかクエリが飛んでこないような Web API を組み込んだシステムの場合には
inetd 経由の方が心理的に落ち着くこともあるかもねw
例えばメール鯖に Web API 経由でアカウント操作できる仕組みを作るときとか。

もっとも apache を起動したままにしても大してリソース食うわけじゃないし、
inetd 配下で動作する httpd を perl なり ruby なりで書いても良いんだけどね。
444名無しさん@お腹いっぱい。:2008/03/13(木) 19:41:57
httpd.conf中でincludeするファイルがないとエラーになりますが
なければ読まないだけでエラーにならない方法ありませんか?
IfFileExistsみたいなディレクティブがあればいいんですが・・・
445名無しさん@お腹いっぱい。:2008/03/13(木) 19:58:06
C などで作った CGI がセグメンテーションフォルトとか起こした時って Apache 本体の方も
巻き込まれますか? 何か子プロセス起こしてるっぽいけどどうなんだろ。

あと CGI が巨大なライブラリ参照している場合って、CGI 実行のたびにそのライブラリが
ロードされるんでしょうか。
446名無しさん@お腹いっぱい。:2008/03/13(木) 20:02:07
>>445
>Apache 本体の方も巻き込まれますか?

いいえ。ApacheとCGIは別プロセスだから。

>CGI 実行のたびにそのライブラリがロードされるんでしょうか。

はい。
447名無しさん@お腹いっぱい。:2008/03/13(木) 20:05:28
>>446
もやもやしたものが解けました。ありがとう。
448名無しさん@お腹いっぱい。:2008/03/13(木) 22:36:11
apache意外のHTTPサーバー探すのが早そうだな
449名無しさん@お腹いっぱい。:2008/03/13(木) 22:48:41
>>444
ワイルドカードを使うのは?
  Include "conf.d/*.conf"
あれば読むし、なければ読まない。
450名無しさん@お腹いっぱい。:2008/03/13(木) 23:33:21
>>449
なるほど〜
ありがとうございました
451名無しさん@お腹いっぱい。:2008/03/14(金) 00:18:27
ダイジェスト認証をログアウト状態にさせるにはどうしたらいいですか?
一回パスワードを入力したら、ずっと認証されたままなんですが・・
452名無しさん@お腹いっぱい。:2008/03/14(金) 01:07:29
それはクライアント側の問題では。
453名無しさん@お腹いっぱい。:2008/03/14(金) 01:21:47
Status: 401を送りつけてやればよい。
454名無しさん@お腹いっぱい。:2008/03/14(金) 03:16:36
送りつけるだけじゃダイアログが出るだけ。
h ttp://[email protected]/
とか実在しないユーザーのリンクでも踏ませて
強引に別のユーザーに切り替えてログインに
失敗させる必要がある。
455名無しさん@お腹いっぱい。:2008/03/14(金) 07:30:41
>>451
Digest? Basicじゃなくて? よくワカンネ
そえばウチのバッファローのルータはBasic認証なんだけど、
ログアウトってのがあって実行すると、認証ダイアログに戻るな。
tcpdumpとかで見てみれば分かるけど・・・
# メルコのルータじゃないぞw
456455:2008/03/14(金) 07:58:31
こんな感じですた。

GET /cgi-bin/cgi?req=twz&frm=logout.html HTTP/1.0
User-Agent: w3m/0.5.1
Accept: text/*, image/*
Accept-Encoding: gzip, compress, bzip, bzip2, deflate
Accept-Language: en;q=1.0
Host: 192.168.11.1

HTTP/1.0 401 Unauthorized
Content-type: text/html
Date: Thu, 13 Mar 2008 22:36:42 GMT
Connection: close
WWW-Authenticate: Basic realm="AirStation"

ここで <a href> とか <meta> とか使ってトップページに戻せば良いみたいです。
457名無しさん@お腹いっぱい。:2008/03/14(金) 13:49:43
>>455
なんだ。メルコじゃないのか。
んじゃダメだなw
458名無しさん@お腹いっぱい。:2008/03/17(月) 05:15:18
適切なmaxclientsを求めるために、
maxのプロセスサイズを知りたいのですが、
どうやればいいですか?
459名無しさん@お腹いっぱい。:2008/03/17(月) 09:14:21
ps(1) で VSZ と RSS を見て概算する。
460名無しさん@お腹いっぱい。:2008/03/18(火) 04:06:41
  ヽ/l l ニ|ニ           ,.、-''"..;:;:;:;:;:;:;:... `'ヽ、
  (   ( ̄   ̄)      /....:::;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;.....ヽ、/ ̄ ̄ ̄ ̄\/
    ̄    ̄         i_;;、:_;、;_;、;、;、、ィッ.;:;:;:;:;: /  興  男     君
 ,.、-──-- 、.,_     ,、  |      ,,,,,,  / ;:;:;:;:;:;: |   味   の      :
          ``''--イ ,),、,! '''''        \ ;;;;;;;;;_|   が   は      :
              ヾー'゙ |ヒニニュ ャニ,ニニ、> 〉;; / _|   あ  だ
       ノ l  ハ  l ヾ トイ `!゙l)_j   ' iリ__, `  }ii l f'ト〉   る  か
    _,,.ノ _ノ / ノ ノ ノノ!_丿 |   l   ` " '''   }ii リノ |   の   に  |\__
      ノ ,、ィ'-=z=F [_   .l! .{   、     ィ!ii;}' ノ|   か       |
   -‐''゙_ノ ,ノ  '゙ (ソ   ヽ   {! ゙ー<⌒'     ,ミi;i;}ー'゙ |   ね       |
  、 ィッ>f「  _,,二-   ヽ.  }i、  -===-'  リiii;ツ   |   ?       |
   `〒T〔!|       r ,_ノ _ノ}lli,  -r=‐  ,i;llilili|   > _____/`ヽ、
     ゙、ヽ`!  l   _ _」 // '}llli, ,;i|i;, ,,ii;ilililll'゙リ /  ̄ l l      ,、 ''⌒゙ヽ、
     `ト.、!  lj  (__l、/  |   ゙ト!llllllllllliillllllllヅ_、-゙    /,l l       /
     l ゙ト、     t'゙ |   |  | |、'lトllトllトツ "´    // l l       /
   ,ィ、化ァ ',\       l 〉  |   | | ゙、 //∧    / /  l l     l
(爪((、`ー'′ ', `''t‐--'′〉ト、 |   | |. Vハ彡 ∧  /    |_L、  i | /
 ̄ ̄ ̄`¨`''ー--ニL_   `!、 `! l ̄`''┴--┴'-'゙-─…''"´_,, ィ|  l |/
            h   ヽ ` ', | O``''────…'''"´  O',゙:、  l |/
461名無しさん@お腹いっぱい。:2008/03/18(火) 10:14:49
メルコのルータには興味がある。
462名無しさん@お腹いっぱい。:2008/03/20(木) 15:01:41
Apache(2.2.6使ってます)の同時接続数についてなんですが。

MaxClientsなりで制限しない限り、リクエストの増加に応じて、搭載メモリ限界まで
プロセス(orスッドレ)をどんどん起動してしまい、Apacheが不安定になったり死んだり
してしまう、という認識であってますでしょうか?
463名無しさん@お腹いっぱい。:2008/03/20(木) 18:40:00
>>462
×搭載メモリ限界までプロセス(orスッドレ)をどんどん起動してしまい
○プロセス(orスッドレ)がスワップを使用し始めて
464名無しさん@お腹いっぱい。:2008/03/20(木) 19:45:13
>>462 合ってない。デフォルト制限が暗黙に効いてる。
むしろkeep-aliveのタイムアウトをめちゃくちゃ小さくするほうが重要。
465名無しさん@お腹いっぱい。:2008/03/26(水) 17:55:17
すいません。こちらにも書かせていただきます。

---
mod_headers を使って Location ヘッダを書き換えるため、以下を考えました。

Header edit Location www\.example\.com www2.example.com

ですが、「edit」は apache2.2.x で実装されていて
導入したかったサーバーの apache は 2.0.x で使えませんでした。

2.0.x で同じことをする方法はあるのでしょうか?
また、2.2.x にバージョンアップするリスクはどのぐらいあるのでしょうか?
466名無しさん@お腹いっぱい。:2008/04/02(水) 12:09:50
mod_deflateを使った時って
html以外のtext、
たとえばtext/csvなんかも圧縮送信されてるのでしょうか?
467名無しさん@お腹いっぱい。:2008/04/02(水) 13:36:05
指定方法によるだろ
468名無しさん@お腹いっぱい。:2008/04/06(日) 08:14:41
SetEnvIf Remote_Addrでは
CIDR表記のIPアドレスが表記できません
CIDRで表記する方法はないものでしょうか?
469名無しさん@お腹いっぱい。:2008/04/06(日) 14:50:20
XAMPPの質問もこちらでよろしいでしょうか?
XAMPPコントロールパネルを開くと、Apacheの項目は「起動」と表示されているのにも関わらず、停止ボタンには「停止中」と表示されているのですが、これで正常なのでしょうか?
他のサービスの停止ボタンには「停止」と表示されています。
470名無しさん@お腹いっぱい。:2008/04/06(日) 20:17:35
よろしくありません
471名無しさん@お腹いっぱい。:2008/04/08(火) 15:22:14
2つ以上同時接続してきた場合、受け付けないようにするにはどうしたらよいのでしょうか?
472名無しさん@お腹いっぱい。:2008/04/08(火) 16:26:58
ひとつaccept()したら、fork()とかしないで、通信が終るまで次のaccept()を
しないようにソースを修正する。
473名無しさん@お腹いっぱい。:2008/04/08(火) 16:32:10
MaxClients 1 か?
474名無しさん@お腹いっぱい。:2008/04/09(水) 17:51:40
Apache の起動/停止に、 # apachectl -k start や # apachectl -k stop をおこないますが、
この -k オプションってどういう意味ですか?

-k をつけなくとも起動/停止はできていますが、ぐぐると -k をつけた例もとても多いので気になりました。
475名無しさん@お腹いっぱい。:2008/04/09(水) 18:00:46
>>474
-k あり → そのまま httpd に渡される。
-k なし → start や stop などであれば -k を付けて httpd に渡される。

apachectl の中身読んでみ。
476474:2008/04/09(水) 18:23:57
どうもありがとうございます。
apachectl を読んで理解しました。

・先頭の ARGV="$@" で、スクリプトに渡された引数をすべて ARGV にいれている
・apachectl start だったら ARGV が "start" なので、
 case $ARGV in の start にマッチするので、
 $HTTPD -k $ARGV が呼ばれる
・apachectl -k start だったら ARGV が "-k start" なので、
case $ARGV in の * にマッチするので、
 $HTTPD $ARGV つまり $HTTPD -k start がよばれる

ということで結果的に一緒ですね。
httpd に -k を渡す意味は、シグナルを渡すためと理解しました。
http://httpd.apache.org/docs/2.2/stopping.html

# いままで rpm とかでなんとなく使っていただけだったが、
# 今回は初めてソースからビルドしてサイトを構築するのでいろいろ勉強しないと
477名無しさん@お腹いっぱい。:2008/04/12(土) 00:51:03
Apacheのモジュール開発を勉強したいんだけど、
「The Apache Modules Book」って本はいいですか?
洋書だけど。

一応、これとかは読んでみました。
ttp://module.jp/dist/InternetWeek2005-T16.pdf
478名無しさん@お腹いっぱい。:2008/04/12(土) 04:19:27
479名無しさん@お腹いっぱい。:2008/04/12(土) 10:23:24
>>478
値段が高すぎて、買えないな〜と思いました。
480名無しさん@お腹いっぱい。:2008/04/12(土) 23:51:27
Apacheで、出力するHTMLのフッターに
ServerNameを自動挿入する方法はありませんか?

ロードバランサ配下に複数のApacheを置いているのですが、
出力HTMLの末尾にServerNameがコメントとして挿入されていたら
どのサーバからの応答か簡単に判別できて便利かなと。
481名無しさん@お腹いっぱい。:2008/04/12(土) 23:52:32
>>479
いっ、いちまん超え?

うちにもあるよその本。
古本屋で500円で買ってきた。内容は1.3ベースだよ。

今だと、あれくらいだったらオライリーのApacheハンドブックでもいいと思うよ。2.2じゃないけど。

ちなみに「The Apache Modules Book」もそんなに悪くないよ。
482名無しさん@お腹いっぱい。:2008/04/12(土) 23:56:24
>>480
mod_substitute
483名無しさん@お腹いっぱい。:2008/04/13(日) 00:03:14
と思ったけどServerNameは無理か
484480:2008/04/13(日) 00:24:58
>>482
thx. 惜しい。

あ、ServerNameではくても、リモホでもIPでもいいです。判別できれば。
Yahoo! JAPANのソースを見ると全ページに入ってるっぽいんだよね。独自拡張かしら。
485名無しさん@お腹いっぱい。:2008/04/13(日) 00:45:01
>>484
使ったこと無いけど、mod_layoutってのがある
486480:2008/04/13(日) 03:38:51
mod_layoutですか。。
全サーバ同一設定でいきたいので、mod_layoutで実現するには
CGIかPHPの実行結果を挿入することになるので、負荷が高そうだな… と思って敬遠しておりました。

でも丁度、別件でアクセス解析用のタグを全ページに入れるのが
かったるいと思っていた所なので、これもアリかも知れませんね。
やってみます〜 ありがとう。
487名無しさん@お腹いっぱい。:2008/04/13(日) 14:05:59
mod_line_editもあるで
488名無しさん@お腹いっぱい。:2008/04/14(月) 02:29:55
質問させてください。

.htaccessを使って
http経由でのアクセスやダウンロードを禁止にして
ftp経由でのアクセスやダウンロードを許可することってできますか?
489名無しさん@お腹いっぱい。:2008/04/14(月) 02:43:59
>>488
そりゃ話を整理したほうがいいんじゃないの?

>.htaccessを使って
>http経由でのアクセスやダウンロードを禁止にして
これはhttpdの世界で可能。

>ftp経由でのアクセスやダウンロードを許可することってできますか?
これはftpdの世界の話。
ftpdの設定でいかようにも。お好きなように。
490名無しさん@お腹いっぱい。:2008/04/14(月) 03:05:09
>>489
申し訳ないです。ちょっと整理というか変えてみました。
ブラウザでアクセス・ダウンロードを禁止して
LINUXなどのwgetでアクセス・ダウンロードを許可したい。

SetEnvIf User-Agent "IE" DenyUserAgent
SetEnvIf User-Agent "Mozilla" DenyUserAgent
<Directory "/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Deny from env=DenyUserAgent
</Directory>

↑これでいいのかな?と思ってやってみたけどwgetも500エラーがでてしまいました。
なぜだろう・・・
491名無しさん@お腹いっぱい。:2008/04/14(月) 03:15:29
>wgetも500エラー
492490:2008/04/14(月) 03:22:46
>>491
なるほど。ありがとう。解決しますた。
493名無しさん@お腹いっぱい。:2008/04/14(月) 07:44:55
SSL証明書1枚で、
hoge1.example.com
hoge2.example.com
の両者をSSL表示させるのって可能ですか?
Verisignを使いたいので、複数で用意するには費用がかなり
きついためです。

SSLで表示させる場合のURLは
hoge1.example.com → https://ssl.example.com/hoge1
hoge2.example.com → https://ssl.example.com/hoge2
みたいになってもかまわないんですが、
これってどうやって実現するんでしょうか。
ApacheよりDNSよりの話でしょうか。
494名無しさん@お腹いっぱい。:2008/04/14(月) 09:58:17
リバースプロキシ?
495名無しさん@お腹いっぱい。:2008/04/14(月) 10:34:35
ワイルドカード証明書とか
リバースプロキシとか
実際にrsync等でファイルを一か所に持って来るとか
496名無しさん@お腹いっぱい。:2008/04/14(月) 10:43:11
そもそも、何でドメインが2つ必要か
って所からだな
497名無しさん@お腹いっぱい。:2008/04/14(月) 17:04:27
>>493
Verisignの契約内容は台数が複数あったら複数の証明書を取れだったよね。
>hoge1.example.com
>hoge2.example.com
この2つの間ではそこは大丈夫なの?
もっとも、通常はネームベースのバーチャルホストでSSLはできないし。
498493:2008/04/14(月) 20:14:17
レスありがとうございます。

なるほど、
そのリバースプロキシというやつでモロにいけそうですね。
一つちょっと思ったんですが、
これ使えば、
本来SSL通信されていないサイトまで擬似的にSSL化してるように
見せれてしまいますよね?

それに対して、SSL証明書側で何か対応されたりしていないのでしょうか?
SSL証明書の信頼性が激減してしまうような。
EVにしたところで変わりないですよね?

> Verisignの契約内容は台数が複数あったら複数の証明書を取れだったよね。

あう!!まじですか、だとすると厳しそうですね。。。。orz
499493:2008/04/14(月) 20:15:50
>>496
かなりのアクセス数になった場合を想定して
コンテンツ毎にサーバを用意したいのです。
500名無しさん@お腹いっぱい。:2008/04/14(月) 20:22:57
1000
501480:2008/04/14(月) 21:38:51
>>487
大当たりっぽいです。ありがとうございます!!
日本語の情報が皆無ですね・・・ 試してみます。

>>498-499
負荷分散のためにコンテンツ毎にサーバを分けるというのは
あまりスマートな方法ではないような。
各サーバには同じコンテンツを用意しておき、
リバースプロキシ+ロードバランサで均等に振ったほうがいいんじゃない?

SSL化されてないサイト(バックエンド?)まで擬似的に〜 というのは、その通り。
パケットが宛先に到達した後、宛先がどのような所からデータを持ってきて返すかまで
信頼性を担保するものではないので、それでいいのです。

・・・と書いてからググったら一番上に出てきたがどうよ?
http://squid.robata.org/ReverseProxy_ssl.html

#ライセンス
http://www.verisign.co.jp/server/license/2_server.html

サーバの分割について、トラフィックではなくCPU負荷を懸念しているのであれば、
CPUスケールアップの力業でどうよ? それならライセンスは1枚でいい。
502名無しさん@お腹いっぱい。:2008/04/14(月) 23:24:22
もっと安い証明書の会社もあるよ。
いろいろ検討するのもいいんじゃね?
503名無しさん@お腹いっぱい。:2008/04/15(火) 01:50:28
>>501

>>>498-499
>負荷分散のためにコンテンツ毎にサーバを分けるというのは
>あまりスマートな方法ではないような。

>>487 がどういうコンテンツを持っているか知らないけど、コンテンツ毎に
サーバを分けるのは結構有効だし、実際やっているサイトは多いぞ。

サービスが保持しているコンテンツが
→すべてユーザに同じようにリクエストされるとは限らない
→コンテンツによってリクエストを捌く手段が異なる場合もある

たとえば mixi みたいなのは、日記が圧倒的にアクセスされるので、
(内部で)日記の処理を専門に処理するサーバを立てている。

ただ、コンテンツのアクセスのされ具合とサーバへのトラフィックの誘導の
バランスが難しいしめんどくさいので、各ノードに同じコンテンツを配置して
ロードバランサで振り分けるほうが楽なのも事実だけどね。
504493:2008/04/15(火) 03:06:21
>>502
携帯でほぼ安心して使えるのってverisignくらいなんですよね。。。
505名無しさん@お腹いっぱい。:2008/04/18(金) 18:35:29
Apache2.2 から、*.conf ファイルが
conf/httpd.conf と
conf/extra/httpd-*.conf
になりましたが、 extra 以下にあるファイルは、conf/httpd.conf の中で Include しないと
有効にならないのですか?
506名無しさん@お腹いっぱい。:2008/04/18(金) 19:03:39
もちろんそうよ
507名無しさん@お腹いっぱい。:2008/04/19(土) 01:01:23
すいません、質問なのですが、ダウンローダによる無差別ダウンロードでトラフィックが占有され困っています…。
何度もipを変えたりユーザエージェントを偽装したりするので、いちいちipで拒否も大変です。
何か効果的な対策はないでしょうか…

apache 2.2.4
です
508507:2008/04/19(土) 01:11:19
何度もすいません、それで特定のフォルダにあるファイルだけ馬鹿みたいにダウンロードされるんで、クッションのページを入れ、そこを経由しないとダウンロードできないようにしたいと思いますが…。
効果薄いでしょうか
509名無しさん@お腹いっぱい。:2008/04/19(土) 01:24:22
CAPTCHA
510名無しさん@お腹いっぱい。:2008/04/19(土) 11:13:19
フォルダ単位で接続数制限とか
511名無しさん@お腹いっぱい。:2008/04/19(土) 22:18:07
mod_bwでいいじゃん?
512507:2008/04/21(月) 01:15:24
>509-511
ありがとうございます。
それでいろいろ調べてみると、dsoが有効になっていないらしくリビルドもダメなようなのですが、その場合はモジュールフォルダにモジュール入れて、confでリンクすればロードされ有効になるでしょうか?
結局1ipからの多重ダウンロードを阻止したいので…。
513名無しさん@お腹いっぱい。:2008/04/21(月) 17:59:15
httpd -l を実行して mod_so.c が出力されれば DSO は有効になってる。
有効であれば、apxs を使って追加モジュールだけビルドしてインスコすれば良い。
その場合にはお察しの通り、conf に追記してあげれば機能するぽ。
無効なら apache ごとリビルドした方が今度のためかな。
514与太者:2008/04/22(火) 00:10:48
PUTメソッドを使用してファイルをアップロードしたいんですが、
デフォルトの設定では禁止されてますよね…。
どうすれば変更できるのでしょうか?
515名無しさん@お腹いっぱい。:2008/04/22(火) 03:21:44
dav
516507:2008/04/22(火) 15:35:38
>>513
ありがとうございます。

それで、mod_so.cはありましたが、何度やってもエラーでインストールできないので、もしやと思って調べると…。
develとaprがないという、なんとも恥ずかしい結果でした。
で、それもインストールして、2.2なので使えないかも…と思いましたが、目的にあったmod_limitipconnをインストールしました。
結果はすんなりいき、ここ2日間の悩みはなんだったのかと思えるほどあっさり終了。
まだ、効果のほどは具体的には調べられていませんが、apacheの方は安定して稼働中です。
apache2.2とmod_limitipconnで不具合があれば、mod_bwにしてみます。

まずは皆様、お付き合い頂きありがとうございました。
517名無しさん@お腹いっぱい。:2008/04/23(水) 02:44:15
産総研:プレス・リリース パスワード相互認証プロトコルの技術評価用ソフトウェアを公開
ttp://www.aist.go.jp/aist_j/press_release/pr2008/pr20080422_2/pr20080422_2.html産総研とヤフー、パスワード相互認証プロトコルの技術評価用ソフトウエアを公開
ttp://it.nikkei.co.jp/security/news/release.aspx?i=187563

Apache用モジュールと改良版Firefoxで
中間者攻撃に耐性のある Password Authenticated Key Exchange を実現
518507:2008/04/23(水) 04:30:27
一日経ってみてログを見てみますと、27000リクエスト余りを503で返してくれていました^^
それに伴って転送量も激減、無事に目的を達成しました。
519名無しさん@お腹いっぱい。:2008/04/23(水) 05:12:41
おめ
520名無しさん@お腹いっぱい。:2008/04/23(水) 07:01:27
ダウンローダによる無差別ダウンロードなんてしてくる奴いんの?
うぜーなぁ
521名無しさん@お腹いっぱい。:2008/04/23(水) 19:20:57
/etc/httpd/conf.d/squid.confって何を設定するファイルなのですか?
522名無しさん@お腹いっぱい。:2008/04/23(水) 19:43:29
>>521
Squid用のディレクティブを記述するファイルだ。
Squidの管理用CGIを公開する時に書き込む。
別にhttpd.confに書いてもいいと思うけどね。

Squidはキャッシュ機能付きのプロキシサーバで、Apacheの前にリバースプロキシとして設置して
アクセスを物凄い勢いで高速化することができるがスレ違いなのでやめとく。
523名無しさん@お腹いっぱい。:2008/04/23(水) 23:06:58
apacheをソースからインストールしている場合でも
apr、apr-utilはRPMのものを使っていいのでしょうか?
524名無しさん@お腹いっぱい。:2008/04/23(水) 23:07:27
いいよ
俺はそうしてる
525名無しさん@お腹いっぱい。:2008/04/23(水) 23:14:19
ありがとうございました
526名無しさん@お腹いっぱい。:2008/04/23(水) 23:32:00
GWSってApache?
527名無しさん@お腹いっぱい。:2008/04/24(木) 08:14:12
本のサンプルに、SSLRandomSeedの指定で
start,connectともに
builtin,file:/dev/random,file:dev/urandom
を連続して記述してあるのですが、
連続して指定すると種が継起的に変化していくのでしょうか?
実際問題、ここには何を指定するのが適当ですか?
528名無しさん@お腹いっぱい。:2008/04/24(木) 19:51:10
腐った処理系じゃなければ何でもいんじゃね? ぶっちゃけ気にしたことないw
529名無しさん@お腹いっぱい。:2008/04/27(日) 02:57:45
IEでphpを読み込もうとするとダウンロードのメッセージボックスが出てしまうのですがなぜでしょう?
530名無しさん@お腹いっぱい。:2008/04/27(日) 03:26:31
apache2.0.x + mod_auth_ldap2で認証するユーザをグループで指定できますか?
Require userで個別にユーザ指定するのはできるのですが、マニュアル通り設定しても
動いてくれないようです。

httpd.conf
require group cn=hogeg,ou=Groups,dc=ldapsv

LDAPレコード
dscl ldapsv read /Local/default/Groups/hogeg
cn: hogeg
Member: user1 user2 user3


よろしくお願いします。
531名無しさん@お腹いっぱい。:2008/04/27(日) 14:19:25
>>529 AddType もしくは AddHandler してる?
>>530 分からん。
532名無しさん@お腹いっぱい。:2008/04/28(月) 06:36:41
mod_proxyでproxyフォワードを試しています。

proxy.conf内の<Proxy *>ディレクティブにて、
Order deny,allow
deny from all
Allow from hogehoge.ddo.jp
としていますが、接続が成功しません。
直IPをAllowに指定すると成功します。lookupが問題なのかとも思い、
HostnameLookups On を付け足してみましたが効果なしでした。

何か見直すべき個所があれば、教えて頂けませんか? お願いします。
533名無しさん@お腹いっぱい。:2008/04/28(月) 11:30:13
>Allow from hogehoge.ddo.jp

逆引きはできる?
534名無しさん@お腹いっぱい。:2008/04/28(月) 12:02:10
>>532
そのホスト名はFQDNなの? 違うなら
.example.jp のように先頭にドットをつけてみれ。
535532:2008/04/28(月) 17:03:46
>>533 逆引きできます。nslookupでNon-authoritative answer:と返ってくるのは関係ありますでしょうか?

>>534 FQDNです。念のため . を先頭につけてみましたが、結果は同じでした。

ddo.jpはDynamic dnsを借りているものですが、何か設定があるのかな…。
536名無しさん@お腹いっぱい。:2008/04/28(月) 18:27:38
なんで逆引きで DDNS な FQDN 返してくれるのかの方が不思議だ。
537532:2008/04/28(月) 18:54:55
>>536 勘違いしました。逆引きできないからホスト名利用できなかったんですね。
もう少し調べてみます。ご指摘ありがとうございました。
538名無しさん@お腹いっぱい。:2008/04/28(月) 19:09:27
DDNSなDQN に見えた
539名無しさん@お腹いっぱい。:2008/04/29(火) 21:52:41
apache の ログフォーマットで

%tを

[2008-04-30 12:34:56]

と書きたいのですが、どのような変数名にすればいいのでしょうか?
YY DDとか使うと思うのですが・・。
540名無しさん@お腹いっぱい。:2008/04/30(水) 01:54:24
541名無しさん@お腹いっぱい。:2008/04/30(水) 14:05:55
質問させてください。
3時間くらい処理時間がかかるcgiスクリプトを実行するとエラーになって途中で終わってしまいます。
最後まで処理させるにはどうしたらいいでしょうか?
ちなみにhttpd.confにRLimitCPU 300 と書いたのですが途中でエラーになって終わってしまいました。
542名無しさん@お腹いっぱい。:2008/04/30(水) 14:49:39
5分とか10分とかならまだしも、3時間もかかるものを
CGI でやろうとする考え自体が間違い。
543名無しさん@お腹いっぱい。:2008/04/30(水) 14:58:35
RLimit書かなきゃいいだろ
544名無しさん@お腹いっぱい。:2008/04/30(水) 15:03:29
>>541 いろんな意味でアフォだろ?w >>542 >>543の言う通りだと思うぞ。どんまい。
545名無しさん@お腹いっぱい。:2008/04/30(水) 15:46:23
httpサーバーがタイムアウトしないようにする。
Webブラウザがタイムアウトしないようにする。
546名無しさん@お腹いっぱい。:2008/04/30(水) 16:29:58
>>541
> 3時間くらい処理時間がかかるcgiスクリプトを実行するとエラーになって途中で終わってしまいます。
> 最後まで処理させるにはどうしたらいいでしょうか?

まじれすすると、そういうのはCGIでキューに積んで、Cronで回してください。
ProxyServerとかが間にはいると、そいつがきっちまって、停止することもあるので、問題が複雑になります。


> ちなみにhttpd.confにRLimitCPU 300 と書いたのですが途中でエラーになって終わってしまいました。

これ、単位違うものではないかな。
547541:2008/04/30(水) 17:18:56
>>542
仕方ない。時間がかかる処理もあります。

>>543
最初は書かずにタイムアウトした。

>>545
それを知りたい。

>>546
単位違うものとは?
548名無しさん@お腹いっぱい。:2008/04/30(水) 17:36:07
いや、仕方ないなんてことはない。
他の手段を考えるべき。
適材適所。
549名無しさん@お腹いっぱい。:2008/04/30(水) 17:45:48
時間がかかる処理を1つのプログラムにして
CGiはそれを起動するようにするべきだが。。。

RLimitなんとかってのはそもそも書いちゃだめ
Timeoutディレクティブを適当に書け
単位はマニュアル読め
550名無しさん@お腹いっぱい。:2008/04/30(水) 22:27:52
質問です。
64bitでコンパイルして動作するapacheのバージョンは決まっているのでしょうか?
このバージョンならいけるよというのがあれば教えていただきたいのですが。
551名無しさん@お腹いっぱい。:2008/05/01(木) 00:21:16
>>547
キチガイ警報w

まぁ、どうしてもCGIでやりたいのならだな、CGI から別プロセスでやりたい処理を
system("/path/to/program &"); のようにバックグラウンド起動してだな、CGI は
速やかに終了させる。バックグラウンドプロセスは、処理中はテンポラリファイルを
作るようにしておくんだ。処理が終わったら自分自身でテンポラリを削除する。

そんでもって CGI は、そのテンポラリファイルが存在しているうちは
「処理中です」というメッセージを出力して二重起動しないようにするんだ。
これでどうですかね?

しっかし、いるんだよな。こういうアプローチそのものを変えようとしない香具師がよ。
別の発想がないっつーか。長い処理を CGI でやろうってセンスがイミフだぞ。
552551:2008/05/01(木) 00:22:18
RLimitCPU はもちろん無効にしろよ。
553名無しさん@お腹いっぱい。:2008/05/01(木) 00:31:56
>>550 特に理由が無いなら2.2.xの最新
554名無しさん@お腹いっぱい。:2008/05/01(木) 01:01:05
>>551
それじゃプロセスグループを切り離せないからマズい。>system(...)
apacheにSIGHUP等が飛んだら巻き添えを食うぞ。
daemonプロセスを起動するときと同じ手順を踏む必要があるはず。
555名無しさん@お腹いっぱい。:2008/05/01(木) 01:18:37
>>554
やっぱそう?w 何となくそんな気はしたんだけどね・・・
彼に理解できるレベルじゃないな。
close, fork, setsid, SIGIGN
556名無しさん@お腹いっぱい。:2008/05/01(木) 01:43:32
ちと個人的にも気になったんでやってみた。厳密には setsid した方が良いんだろうけど、
漏れの環境では省いても要件は満たせそうだ。setsid しないと親子関係が続いてるから
やっぱ close しないとダメだね。以下は perl でテキトーに書いた例。

if ((my $pid = fork()) == 0) {
 child();
} elsif ($pid > 0) {
 parent();
}
die $!;

sub parent {
 print 'Content-Type: text/html', "\n\n";
 print '<html>ok</html>';
 exit(0);
}

sub child {
 close(STDIN); close(STDOUT); close(STDERR);
 $SIG{'HUP'} = 'IGNORE'; $SIG{'USR1'} = 'IGNORE';
 system("./test.sh &");
 exit(0);
}
557541:2008/05/01(木) 01:46:12
>>544=>>551=552=555

ごめんなさい。あなたはとても知識が豊富で頭がいいこともわかってます。
僕はあなたから見ると基地害かもしれませんが一生懸命がんばりたいです。
僕に理解できそうにないなら理解できるように教えてください。
といっても、教えてもらえないだろうな・・・orz
558名無しさん@お腹いっぱい。:2008/05/01(木) 01:56:00
だから、どうしても >>545 をやるなら方法は >>551 だっつーの。これは理解できるでそ?
画面と実処理を切り離さないといけないと思うの。
で、その実現方法が >>556 なの。これも良く読めば難しくないはず。はず。はず。
559名無しさん@お腹いっぱい。:2008/05/01(木) 02:01:18
むしろTORQUEみたいなバッチジョブ管理システムを導入したほうが後々楽かも
560名無しさん@お腹いっぱい。:2008/05/01(木) 02:05:51
そもそも何がしたいのか(ry
そもそもプログラミング知識は(ry
561名無しさん@お腹いっぱい。:2008/05/01(木) 02:20:41
>>556
んー、プロセスグループを切り離さないと、シグナル等のからみでどんな副作用
が出るかわからんから、ちゃんとsetsid()した方がいいと思うんだけどなぁ。
perlなら use POSIX qw(setsid); ... setsid(); でOKだし。
あと、そこまでやってsystem()は無いと思うんだが。
素直にfork&execしようよ……。
562名無しさん@お腹いっぱい。:2008/05/01(木) 02:30:27
> httpサーバーがタイムアウトしないようにする。
RLimitCPU maxする。RLimitCPUは秒またはmaxを指定だから300と書いたら5分でタイムアウト。

> Webブラウザがタイムアウトしないようにする。
だらだらと定期的(例えば1分毎)に出力を垂れ流す。

但し、Apache 1.3の頃はNPHスクリプト使えば、Webブラウザと直結だったが
2.xからNPHを含めて、httpdが常にCGIの向こう側にいるような気がする。
これが正しいなら、httpdがバッファリングするからWebブラウザにデータが
渡らないかもしれないので、一回のトランザクションでやる(Webブラウザを
タイムアウトさせない)のは難しい。
(バッファリングを回避するために、でかいデータを垂れ流すとWebブラウザが太る)

確実にやるなら
>>551(>>556, >>561)のようにCGIプロセスを切り離す。
・自分でサーバーソケット開く。
・定期的にそれに接続(JavaScriptやmeta refresh使う)することにより、終了を監視する。

ほら、無理にCGIでやる気がなくなってきただろ。(笑)
563名無しさん@お腹いっぱい。:2008/05/01(木) 02:35:42
>>541 は おどろき とまどっている!
>>541 は あたまが こんらんした!
>>541 は にげだした!
しかし まわりこまれてしまった!
>>541 は くだけちった!
564名無しさん@お腹いっぱい。:2008/05/01(木) 02:42:17
>>561
> あと、そこまでやってsystem()は無いと思うんだが。
たしかにwwww サーセン
565名無しさん@お腹いっぱい。:2008/05/17(土) 12:57:26
>>438
何か嫌なことでもあったのか。
俺は未だに、1.3系を使い続けてるけどな。
これで十分こと足りるし、ライセンスがらみの問題もあるんで
566名無しさん@お腹いっぱい。:2008/05/17(土) 13:24:22
Apacheはパイプが詰まったりするし、Perlはシグナル周りを無視しておかないとウンコだったりしてやってられないw
567名無しさん@お腹いっぱい。:2008/05/17(土) 15:28:45
ちょい質問なんですが最新版の2.2.8ではなく、
2.2.3をゲットしたいんですが公式にはアーカイブ置いてないんでしょうか??
568名無しさん@お腹いっぱい。:2008/05/18(日) 00:30:49
(??д?)? ????????????????????

(??д?)?????????????????
569名無しさん@お腹いっぱい。:2008/05/18(日) 00:34:24
Older Releases
Only current, recommended releases are available on www.apache.org and the mirror sites.
Older releases can be obtained from the archive site.
http://archive.apache.org/dist/httpd/
570567:2008/05/18(日) 00:53:30
>>569
ありがとうございます!

2年間ぐらい海外のどっかのコミニティサイトをずっと公式だと思ってましたwwww(ノ∀`)
571名無しさん@お腹いっぱい。:2008/05/20(火) 13:32:22
パスワード認証に付いて質問させてください。

アウトソーシングしているサーバがあるのですが、ssh等でのアクセスはできず
FTPのみのアクセスになり、htpasswdが実行できません。
パスワードファイルは他の環境(手持ちのLinux環境)で作成したものをアップロードして
使用することもできるのでしょうか?

すみませんが教えてくださいお願いたします。
572名無しさん@お腹いっぱい。:2008/05/20(火) 13:32:47
パスワード認証とはBASIC認証のことです。
申し訳ありません。
573名無しさん@お腹いっぱい。:2008/05/20(火) 13:36:13
試してみれば
574名無しさん@お腹いっぱい。:2008/05/20(火) 13:48:55
やってみたらできました。
パスワードファイルを見たら、単に暗号化してあるだけなんですね。

cgiで生成できるのであれば、便利ですね。
575名無しさん@お腹いっぱい。:2008/05/20(火) 20:05:37
つ system関数
576名無しさん@お腹いっぱい。:2008/05/20(火) 21:32:06
すいません。apacheのアクセスログの
書き込みタイミングっていつなんでしょうか。

問題なのはアクセスログが残っているにも関わらず、
(例えばネットワークの障害の原因で)
クライアントがデータを取得できていないということが
あり得るのかどうかということです。

お手数ですがご教授頂けないでしょうか。
577名無しさん@お腹いっぱい。:2008/05/20(火) 21:37:32
syslogの書き込みタイミングなんてならんでしょ
UDPだし、信頼性の微塵もない
578名無しさん@お腹いっぱい。:2008/05/20(火) 21:40:30
>>576
ひとつのリクエストが終わったとき
つまり、突然ネットワークがおかしくなった場合でもTimeoutだけ経過すれば
ログに書き込まれる

>>577
579名無しさん@お腹いっぱい。:2008/05/20(火) 22:11:53
>>576
ログ指定に依存
例えば、mod_logio使えば実際に転送されたバイト数。

>>577
apacheは自前でログ書いてるよ。知ったか乙。
580名無しさん@お腹いっぱい。:2008/05/20(火) 22:36:38
>>579
あなたも何を言ってるんだ?
581576:2008/05/20(火) 22:45:24
>>577,578,579
返信ありがとうございます。

現状の設定ではmod_logioは設定していません。
mod_log_config.soを設定しているだけです。

その場合ですと
apacheにアクセスログが残っているということは
1. クライアントからapacheにリクエストがあった
2. apacheがクライアントにデータを送出した
3. クライアントがデータを受信したかどうかは定かでは無い
という事でよろしいのでしょうか。

また2についてなのですが、apacheがデータを送出というのは
実際にネットワークカードからパケットが送信されたと認識しても
問題ないのでしょうか。勉強不足確認不足で申し訳ないのですが、
例えばiptables等で外へ出ていくパケットを遮断をした場合等にも
アクセスログは残るのでしょうか。

質問ばかりで申し訳ありません。
自分でももう少し調べてみます。
582名無しさん@お腹いっぱい。:2008/05/20(火) 22:56:07
apacheのログをsyslogに回して配信してもらうのが普通だと思ってた。
ローカル環境以外に飛ばしたいときはどうしてるの?
583名無しさん@お腹いっぱい。:2008/05/20(火) 23:07:32
飛ばしたくなったことがない。
584名無しさん@お腹いっぱい。:2008/05/20(火) 23:12:33
>>582
逆にlocalに書く以外を見たことがない。
運用屋さんによると、syslogはログが欠けるからダメなんだと。(localhostでもダメなのか?)
ちなみにログは、ローテートした後、NAS上のホスト毎のディレクトリに保管。
一定期間後にテープにバックアップ。
585名無しさん@お腹いっぱい。:2008/05/20(火) 23:12:59
syslogのリモート転送機能なんて使うかな?
OpenViewやJP1などのログ監視エージェントを入れるとかして、
ある程度整理・要約したものをイベントとして送信するようにしている。
フリーのツールでも探せばこれらに相当するものはあるんじゃね(muninとかnagiosあたりかな?)。
586名無しさん@お腹いっぱい。:2008/05/20(火) 23:17:14
>>581
まず、mod_logioは全く関係ない。

サーバーが、クライアントとのやり取りが終了したと考えた時点でログに記録される。

クライアントとのやり取りが終了するのは
1.正常にデータを全部送った
2.クライアントが途中で切断した
3.クライアントが応答のままTimeoutの時間が過ぎた
4.サーバーが諸事情により切断せざるを得なくなった(Apacheのstop,restart)
ってとこかな思いつくのは

あなたはTCPのことをきちんと知ってる?
そうじゃなけりゃ正直何から説明していいか分からん
587名無しさん@お腹いっぱい。:2008/05/20(火) 23:17:40
×クライアントが応答のままTimeoutの時間が過ぎた
○クライアントが無応答のままTimeoutの時間が過ぎた
588名無しさん@お腹いっぱい。:2008/05/20(火) 23:20:22
>例えばiptables等で外へ出ていくパケットを遮断をした場合等にも
>アクセスログは残るのでしょうか。

残る
589名無しさん@お腹いっぱい。:2008/05/20(火) 23:42:10
>>586 関係おお有り。知ったか乙。

http://httpd.apache.org/docs/2.2/mod/mod_log_config.html
> httpd 2.0 では 1.3 とは異なり、%b と %B フォーマット文字列はクライアントに
> 送信されたバイト数そのものではなく、 HTTP レスポンスのバイト数です (これら
> は異なるもので、たとえば、 コネクションが途中で破棄された場合や、SSL 使用時
> に一致しません) 。 mod_logio で提供されている %O フォーマット文字列で、ネッ
> トワーク経由で実際に転送されたバイト数を 記録できます。
590名無しさん@お腹いっぱい。:2008/05/20(火) 23:59:30
>>582
リアルタイムには飛ばさない。
忙しい時間帯にさらに負荷をかけるようなことはしない。

ローカルにとっといて、
一日一回 NFS なり scp なり rsync なりで送る。
591名無しさん@お腹いっぱい。:2008/05/21(水) 00:10:41
>>590
んなことしてたら、ログの意味がねーだろ
各々のマシンに監視させて処理させてるの?
592名無しさん@お腹いっぱい。:2008/05/21(水) 00:18:48
>>591
「ログの意味」って、たとえばどういうこと?
593名無しさん@お腹いっぱい。:2008/05/21(水) 00:21:02
記録する意味。
24時間も前の情報なんてほとんど使わないでしょ。
なにか問題が起きて、24時間後に対応するって
594名無しさん@お腹いっぱい。:2008/05/21(水) 00:22:47
ん、Apacheスレだからアクセスログの話かと思ってたけど、違うの?

ErrorLogの方の話なら、それぞれのマシンに監視仕掛けてるよ。
595名無しさん@お腹いっぱい。:2008/05/21(水) 00:27:08
>24時間も前の情報なんてほとんど使わないでしょ。
SOX法知ってる?
596名無しさん@お腹いっぱい。:2008/05/21(水) 00:39:12
>>593
後から問題が発覚して、ディスク上に残ってるログ全部をごりごり調査したことなんて、1度や2度じゃ済まないんだが。
597名無しさん@お腹いっぱい。:2008/05/21(水) 00:47:48
>>596
あるね。
おれはWeb屋だけど、お客から何月何日、〜のコンテンツにアクセスしたIPアドレス、時間を調べて報告して欲しいなんてしょっちゅう。
598名無しさん@お腹いっぱい。:2008/05/21(水) 01:07:43
フルボッコだなw
599名無しさん@お腹いっぱい。:2008/05/21(水) 01:10:37
>>589
それと、ログに記録されるタイミングに、何の関係があるんだ?
600名無しさん@お腹いっぱい。:2008/05/21(水) 01:21:08
>>595
それ別に訳に立たないじゃん。
法律で帳面の保存を義務づけられてるのと同じ

>>596
だから一箇所にまとめるんじゃん

>>597
ログをあさる数少ない原因をだされても…
601名無しさん@お腹いっぱい。:2008/05/21(水) 01:48:20
だから>>590とかやって一箇所にまとめてるじゃん。

何を主張したいのかよくわからん。
602名無しさん@お腹いっぱい。:2008/05/21(水) 01:48:44
>>599
日本語で書いてあるのにわからないの?
転送開始前にログを取るか、転送完了後にログを取るかが異なる。
603名無しさん@お腹いっぱい。:2008/05/21(水) 01:50:49
>>602
どこにそんなことが書いてあるか、日本語でも英語でもいいから
Apacheのマニュアルからそのまま(as-is)コピペしてくれないかな?
604名無しさん@お腹いっぱい。:2008/05/21(水) 01:54:13
>>603
>>589にコピペした部分に書いてある。池沼さん?
605名無しさん@お腹いっぱい。:2008/05/21(水) 01:54:34
>>600
おまえの頭が悪い(≒おまえの周りの状況が全てに適用できると思い込んでる)のはわかった。
606名無しさん@お腹いっぱい。:2008/05/21(水) 01:55:55
> mod_logio で提供されている %O フォーマット文字列で、ネッ
> トワーク経由で実際に転送されたバイト数を 記録できます。

確かに、mod_logioを使ったときは、実際に転送が終わった後にログがログファイルに記録されるだろうね。
んじゃ、mod_logioを使わなかったときは転送が終わる前にログがログファイルに記録されるなんてどこに書いてあるんだ?
607名無しさん@お腹いっぱい。:2008/05/21(水) 02:07:07
>>606
チンケなプライド保とうと必死だな。www
元の質問(>>576)で問題にしているタイミングとは、実際の書き込みタイミングで
はなく、ログに書き込まれた情報が取得されたタイミングである事は明白。
608名無しさん@お腹いっぱい。:2008/05/21(水) 02:31:08
>>607
おいおい
mod_logio使うかどうかでログに記録される時刻が変わるというのか?
1GBのファイルをダウンロードするのに2分かかる場合、
ログファイル内のアクセス時刻の表示が2分変わると言うのか?
609名無しさん@お腹いっぱい。:2008/05/21(水) 02:54:34
>>608 低脳必死杉。www
タイミング==アクセス時刻と読む事に活路を見出したのか?。www

元の質問(>>576)を良く読んで、何を気にしているかよく考えなさい。

>>608の言いがかりに関しては
ログに書き込まれた情報(転送バイト数)が取得されたタイミングが異なる。
といっておこう。
610名無しさん@お腹いっぱい。:2008/05/21(水) 02:56:07
>>576と転送バイト数には何の関係も無いんだが
611名無しさん@お腹いっぱい。:2008/05/21(水) 03:28:40
>>610
ある。わからないのか? 本当に馬鹿なんだな。
612名無しさん@お腹いっぱい。:2008/05/21(水) 03:41:40
>>576には
「問題なのはアクセスログが残っているにも関わらず、」
と書いてあり、アクセスログが書いてあるかどうかが問題なわけで
転送バイト数がどうかしたのか?

さっきから人のことを低脳とか日本語ができないとか言うけど、
だいたい>>579の「例えば、mod_logio使えば実際に転送されたバイト数。」
はどの質問に対する答えなのか。日本語が出来てないのは誰なのか。
613名無しさん@お腹いっぱい。:2008/05/21(水) 03:59:28
>>609の言ってるように、プロセスがログに書き込む内容を取得する時間が異なるとゆうことは、
>>608の言ってるような事態が起こりうるかもしれない。
しかしそうなって来ると、そもそもlogに書き込まれるアクセス時間が、リクエストを受け取った時間なのか、
リクエストが終了した時間なのかが問題になりそう。

ウチで以前、一部のクライアントがコネクションを放さなくて、アクセスログに書き込まれた時刻が、
前後の行から3分位ずれたログが多数書き込まれることがあった。
mod_logioなんぞは不使用だったが、恐らくリクエストがあった時間をそのプロセス(スレッド)が記憶しており、
コネクションが切れた時点でlogに書き込んだものと思われる。(sizeについては動的ページだったのでアテにできず)

もしmod_logioを使えば、コネクションが切れた(書き込む情報を取得した)時間も取れるかもしれない。
あるいは、その時間を書き出す設定が、ひょっとしたらCustomLogあたりにあるかもしれない。
(それが出来れば、問題が起きたどうかを判断する助けになるかも)

つうことで、本家のmanualあさって来ます。
614613:2008/05/21(水) 04:27:27
今、読んできた(jpのページだけだけど)。

まず、ログに書き込まれる時刻は、リクエストを受けた時間のみしか記録できないようだ。
(logio使用、不使用に関わらず。なーんだ、残念・・)

で、リクエストを返すのに掛かった時間を、秒またはミリ秒(ms)で記録することはできるようだ。
(これは、CGI等が実行された時間なのか、リクエストが完全に終了するまでの時間なのかは、検証必要。今度やってみよう。)

>>576の質問については、logio使用不使用に関わらず、アクセスが異常終了(TimeOutとか、クライアントが中止とか)
した場合に、その内容を書き出す(あるいは書き出さない)ような設定はないようなので、

>>579の答えは、「タイミングがいつなのか?」のみの場合は、その通りだけど、
後半部分も含めると、「log指定に依存」は正確ではないのではないか。
615名無しさん@お腹いっぱい。:2008/05/21(水) 04:32:12
>>614 だけど、
ごめん、ミリ秒じゃなくてマイクロ秒だった・・・・・。
616名無しさん@お腹いっぱい。:2008/05/21(水) 11:15:38
apache のバージョンや設定にかかわらず、ログに出力されるのはレスポンス終了後。
ただし、1.3 ではログのタイムスタンプがログを書いた時刻になるのに対して、
2.x ではリクエストを受け付けた時刻になる。
なので、1.3 ではログが必ず時刻順に並ぶが、2.x ではレスポンス完了まで
時間がかかるとログの時刻がさかのぼることがある。
コンパイル時に何か define すれば 2.x でも 1.3 互換の時刻出力が
できたような記憶があるけど、詳しいことは忘れた。

で、mod_logio は LogFormat で使える書式制御文字を増やすだけで、
今回の件にはまったくなんにも関係ない。
617名無しさん@お腹いっぱい。:2008/05/21(水) 12:14:42
応用力が致命的に欠如してるな。これが「ゆとり」か。

%b 転送する予定のバイト数
%O 転送したバイト数
両方記録することで>>576が問題にしている状況を説明できるログになる。
618名無しさん@お腹いっぱい。:2008/05/21(水) 12:18:10
サーバが送信したバイト数は
クライアントが受信したバイト数と必ず一致するのだろうか。
619名無しさん@お腹いっぱい。:2008/05/21(水) 12:42:38
>すいません。apacheのアクセスログの
>書き込みタイミングっていつなんでしょうか。

という問いに対して %b、%O が出てくる理由を応用力が欠如したゆとりにも
理解できるように説明してもらえるとありがたいです。

>問題なのはアクセスログが残っているにも関わらず、
>(例えばネットワークの障害の原因で)
>クライアントがデータを取得できていないということが
>あり得るのかどうかということです。

こちらに関していえば、「あり得る」で問題ないですよね。
ログ出力をどう指定するかとはまったく無関係に。
っていうか、ログの指定方法を変えることでデータの転送の確実性が
変わったりなんかしたら大変なことだ。
620名無しさん@お腹いっぱい。:2008/05/21(水) 12:57:40
>>619
> という問いに対して %b、%O が出てくる理由を応用力が欠如したゆとりにも
> 理解できるように説明してもらえるとありがたいです。
それは >>576 の後半に書いてあるじゃん。
そもそもの問いが的外れだった。
621名無しさん@お腹いっぱい。:2008/05/21(水) 13:31:02
>>620
えーと、ということは、

>こちらに関していえば、「あり得る」で問題ないですよね。
>ログ出力をどう指定するかとはまったく無関係に。

これを否定するってことですか?
ログの指定ってのは、発生した現象を記録するかどうかの違いだけで、
その現象が発生するかどうかとはまったく無関係だと思うんですが。

それともアレですか、バグのあるプログラムのあやしそうなところに
printf をつっこんだらバグが再現しなくなったとかいうのを
日常的にやってる方なんでしょうか?
622名無しさん@お腹いっぱい。:2008/05/21(水) 13:34:29
>>619
「ゆとり」恐るべし。
字面をなぞるだけでは、質問の意図するところはわからんよ。

後半とあわせて読めば、>>576の状況は
・クライアントがデータが取得できていない(ように思える)
・でもアクセスログでは正常に転送したことになっている。

そこで、>>576はアクセスログの記録タイミングを疑って
> すいません。apacheのアクセスログの
> 書き込みタイミングっていつなんでしょうか。
という質問をしたわけだ。
質問が「アクセスログが残っているのですが、これ本当ですか? 実際には
転送されていないのでは?」であることは明白。

%b %O両方とれば、
1 (apacheから見た)クライアントのプロトコルスタックまではデータ転送が完了している。
2 コネクション切断等の原因で転送が中断された。
のいずれかであることがわかるので障害の切り分けができる。
623名無しさん@お腹いっぱい。:2008/05/21(水) 13:39:15
>>621
>>620 != >>617なので勘違いしないように。
624名無しさん@お腹いっぱい。:2008/05/21(水) 13:39:42
>>617
応用力?w

それなら
%X 応答が完了したときの接続ステータス
を使うから、mod_logioをその目的に使おうなんて思わないんだよ。
だから誰もお前の「応用」を理解できないんだよ。

それにそもそも質問者に対する答えになってないだろ>>579は。
625620:2008/05/21(水) 13:46:19
>>621
否定も肯定もしないよ。
>>619 の前半に答えただけ。
626名無しさん@お腹いっぱい。:2008/05/21(水) 13:47:05
っていうか、よく見たら

>%b 転送する予定のバイト数
>%O 転送したバイト数

これ思いっきり嘘じゃねーか。

%b response body だけのバイト数
%O header 込みの総バイト数

どっちも実際に転送したサイズで、転送する「予定」のバイト数ではない。
つーか、CGI みたいにリクエストを受けてから動的に生成してるページの
「転送する予定のバイト数」をどうやってログに載せるんだよ。
627名無しさん@お腹いっぱい。:2008/05/21(水) 14:12:20
>>624
後出し乙。後出しといわれたくなかったら、別スレでお前が自分で
言ってたようにmd5貼っとけば良かったのに。www

>>626
ウルトラ初心者は黙ってろよ。

> どっちも実際に転送したサイズで、転送する「予定」のバイト数ではない。
>>589でも引用している。
> httpd 2.0 では 1.3 とは異なり、%b と %B フォーマット文字列はクライアントに
> 送信されたバイト数そのものではなく、 HTTP レスポンスのバイト数です (これら

> つーか、CGI みたいにリクエストを受けてから動的に生成してるページの
> 「転送する予定のバイト数」をどうやってログに載せるんだよ。
apacheが一旦受け取ってバッファリングしている。
お前は知らないだろうが、HTTPレスポンスメッセージにはステータスラインが必須なのだが、
Apacheが裏でつけてくれている。
お前のようなウルトラ初心者が作ったCGIの出力を正しいHTTPレスポンスメッセージにするた
めにApacheは頑張ってるんだぞ。
628名無しさん@お腹いっぱい。:2008/05/21(水) 14:37:22
後出し?別スレ?md5?
もういいよ
629名無しさん@お腹いっぱい。:2008/05/21(水) 15:42:01
>628
お前の負けーwwwwwwwwwww
630名無しさん@お腹いっぱい。:2008/05/21(水) 16:39:10
劣悪な通信環境化でのサーバ・クライアントのやり取りを見ているみたいだw
631名無しさん@お腹いっぱい。:2008/05/21(水) 16:44:17
以上、本試合は「最後にしゃべった方が勝ち」ルールでお送りしました。
632名無しさん@お腹いっぱい。:2008/05/22(木) 15:57:46
apache-2.2.8 をインストールしました。
httpd.confにて、
DocumentRoot "/usr/pkg/share/httpd/htdocs"
を、
DocumentRoot "/www/htdocs"
に変更しました。(/www/htdocsは作成し、index.htmlも作成しました。
そして、apacheを再起動してアクセスすると
Forbidden
You don't have permission to access / on this server.

と表示されてしまいます。

何が原因かわかりません絵ででしょうか?

上記以外の修正点は、
ServerAdmin と ServerNameだけです。

633名無しさん@お腹いっぱい。:2008/05/22(木) 16:06:39
777にでもしてみ
634名無しさん@お腹いっぱい。:2008/05/22(木) 16:12:28
/www/htdocs に対し、GroupとUserで指定した実行ユーザのアクセス権限がない
→ディレクトリのパーミッションを調べる

/www/htdocs に対し、ディレクティブで許可指定が無い
→とりあえず<Directory /usr/pkg/share〜> とかいう部分を/www/htdocsに書き換えてみる

最低の対策としては、多分このへんでは。
635632:2008/05/22(木) 16:19:42
ありがとうございます。
解決できました。

DocumentRootだけを変えていたのですが、cgi-binやerrro, iconsも同じパスに変更し、
もとのDocumentRootの中身をすべてコピーすればできました。

お手数をおかけいたしました。
636名無しさん@お腹いっぱい。:2008/05/22(木) 16:30:42
777のままにしとくなよ。
637名無しさん@お腹いっぱい。:2008/05/23(金) 05:25:35
mod_proxy 使って、クライアント→SSLproxy化サーバ→WEBサーバ
というようにSSLアクセスさせたいのですが、
この場合に、
ログの管理上、
WEBサーバにクライアントのIPを直に残させることは可能なのでしょうか。
638名無しさん@お腹いっぱい。:2008/05/23(金) 07:13:32
XAMPP for Windowsでローカル用にApache 2.2.8を動かしているのですが、
ちょっと困ったことがあり、御助言を頂きたく思います。

USBメディアにて異なる環境にてapacheを使えるようにしているのですが、
httpd.conf(実際には httpd-vhosts.conf)の、<VirtualHost *> の DocumentRoot 指定に
存在しないドライブを指定すると、
Syntax error on line 80 of (インスコしたディレクトリ)/xampp/apache/conf/extra/httpd-vhosts.conf:
DocumentRoot must be a directory
と言われてapacheが起動しません。

環境によって場合分け、もしくは、存在しないドライブを指定しても(無視して)起動できるようにする方法はありませんでしょうか?

結局のやりたいこととしては、家の環境と作業場の環境のsambaで割り当てたドライブ(家の環境には存在しない)で、
共通の方法で運用したいということです。
639638:2008/05/23(金) 07:28:59
バージョンを書き忘れてました。
Server version: Apache/2.2.8 (Win32)
XAMPP Version 1.6.6a
です。

補足なのですが、他のバーチャルホストの設定などの共通の設定もたくさんあるため、
できれば、apacheなどを2つわけてインストールをしたくないということです。
640名無しさん@お腹いっぱい。:2008/05/23(金) 09:14:32
>>637
proxy→web鯖 の際、mod_proxyの機能として、
X-forwarded-For
というヘッダがリクエストに挿入されるので、それをログに記録すればよい。
あるいは、mod_rpafを入れればHostが上書きされるのでログも変わる。
641名無しさん@お腹いっぱい。:2008/05/23(金) 09:15:41
場合わけで使えそうなのは IfDefine かねえ。
ttp://httpd.apache.org/docs/2.2/ja/mod/core.html#ifdefine
642名無しさん@お腹いっぱい。:2008/05/23(金) 10:29:19
自宅パソコンの中身を同じ風味にすれば良いかと
ドライブレター変えるとかエイリアス作るとか
643638:2008/05/23(金) 13:28:38
>>641
いけますた!!

次のレスのようなWSHを書いて、

<IfDefine WorkMachine>
  <VirtualHost *>
    DocumentRoot ないドライブを含むパス
    :
    :
</IfDefine>

みたいに、httpd.conf(httpd-vhosts.conf)に書いておけばばっちりでした。
644638:2008/05/23(金) 13:29:06
でっち上げたWSHです。

MachineNameForWork = 'RED';

function IsMachineForWork() {
  return WScript.CreateObject("WScript.Network").ComputerName == MachineNameForWork;
}
function GetApacheArgs() {
  return IsMachineForWork() ? " -DWorkMachine" : "";
}

var args = WScript.Arguments;
var shell = WScript.CreateObject("WScript.Shell");

var isStopMode = (args.length == 1 && args(0) == 'stop');

// stop process
shell.Run('apache_stop.bat', 0, true);
if (isStopMode) {
  // if mysqld is not booting, beep onn urusai!!
  shell.Run('mysql_stop.bat', 0, true);
  WScript.Quit();
}

WScript.Sleep(1000 * 3);


// run apache etc...
shell.Run('apache\\bin\\apache.exe' + GetApacheArgs(), 0, false);
WScript.Sleep(1000 * 1);
shell.Run('mysql\\bin\\mysqld --defaults-file=mysql\\bin\\my.cnf --standalone', 0, false);
645638:2008/05/23(金) 13:30:56
>>642
アドホックに行くならば環境の方を変えてしまうのもアリですね。


無事解決いたしました。
ご協力くださりありがとうございました。
646名無しさん@お腹いっぱい。:2008/05/23(金) 14:52:57
FreeBSDでApache2.2.8で存在しないディレクトリをDocumentRootに設定したら
Warning: DocumentRoot [/usr/home/user1/www/vh/virtualhost1/] does not exist
って警告が出るけど普通に起動するね。
存在しないドライブだとエラーになるのか…。バグ報告出すかね。
647名無しさん@お腹いっぱい。:2008/05/23(金) 21:29:59
>>646
まずソースを読んで、意図的なのかバグっぽいのか判断してみては?
メインのDocumentRootだとエラーで、<VirtualHost> だったら警告のみ、とかって
いう風になっている可能性もあるし。いきなりバグ報告されても萎えると思う。
# 漏れは読んでない。ごめん。
648名無しさん@お腹いっぱい。:2008/05/24(土) 01:02:19
すいません、以前アドバイス頂いた>>507です。
チラシの裏みたいで恐縮ですが、その後の快調になりました。ありがとうございます。

今回いろいろ蓄積してきたルールを整理しようとしているのですが、
httpd.confに
<IfModule mod_limitipconn.c>
ExtendedStatus On
<Directory "/var/www/example/*/example">
<FilesMatch "\.(zip|lzh|rar|sit|tgz)$">
MaxConnPerIP 2
</FilesMatch>
</Directory>
</IfModule>
...
<IfModule log_config_module>
...
SetEnvIf User-Agent "(bad-agent1|bad-agent2 ...)" robots
...
SetEnvIf Referer "example.jp" ref_ok
SetEnvIf Referer "^$" ref_ok
</IfModule>
649648続き:2008/05/24(土) 01:03:14
そしてhttpd-vhosts.confに
<Directory /var/www/example/*/example>
<FilesMatch "\.(zip|rar|lzh|sit|tgz)$">
Order deny,allow
Deny from env=robots
Allow from env=ref_ok
</FilesMatch>
</Directory>

としている箇所がありますが、limitは効いて503を返すのですが、アクセスログを見るとuser-agentで弾けてないのに気づきました。
前はSetEnvIFでの環境変数の設定はしてずにRewriteルールで403を返すようにしていました。
これはルールの適用順の問題なのかアドバイス頂けますと助かります。

で、前述のとおりログを見て気づき、修正できるまでRewriteとSetEnvIfはコメントアウトして、同一ipから503を返した回数に閾値を設定し、超えたユーザは問答無用でiptablesに突っ込んでいます。
なるべくiptablesをしょっ中更新したくないので、apache側で出来ないかと思いました。
もし、私の設定単純ミスでしたらお詫びします…宜しくお願いします。
650名無しさん@お腹いっぱい。:2008/05/24(土) 04:56:52
複合条件だから難しいなw こんな感じかな?

SetEnvIf User-Agent "^bad-agent1" robots
SetEnvIf User-Agent "^bad-agent2" robots
SetEnvIf Referer "^.+" ref_ng
SetEnvIf Referer "^http://example\.jp" !ref_ng
Order allow,deny
Allow from all
Deny from env=robots
Deny from env=!ref_ng

Referer のとこに補足すると、まず Referer 値があったら ref_ng という
拒否前提のフラグを立てておいて、それが許可される Referer だった場合には
ref_ng のフラグを解除する。Referer 値がないときは ref_ng が立たないから
アクセスは許可される。

これ以上に条件が増えると難解になるだけなんで、素直に mod_rewrite で
設定した方が良いと思うです。
651名無しさん@お腹いっぱい。:2008/05/24(土) 05:01:13
閾値の件については、apache で処理させてたら意味ないな。
503 を返そうが 403 を返そうが、リクエストが httpd にまで到達していることに
変わりはないので、処理コストの若干の違いはあれど同じこと。

ログを定期的に見て、IP アドレスを iptables に追加するスクリプトでも
書いたほうが早いかと・・・・
652名無しさん@お腹いっぱい。:2008/05/24(土) 05:03:35
>>650
度々すんませんorz 修正・・・
× Deny from env=!ref_ng
○ Deny from env=ref_ng
653648:2008/05/24(土) 07:35:29
おはようございます。
朝までチューニングして眠たい>>648です:-)

>>650
ありがとうございます。ご参考にさせて頂きます。
やはりRewriteでやった方がいいでしょうか…。
別件ですが、limitも完璧ではないので、悪質なユーザになると1秒間に10以上のアクセスを掛けてきます。

>>651
ありがとうございます。一応1行野郎スクリプトで15分おきにログを見させて、閾値を超えたipをiptablesの設定スクリプトで拾ってはいるのですが…。
ただ、その更新中には全てのアクセスに一時応答しないラグが出るので(3〜5秒)、その際に嫌われないか思案中でした。
他の監視スクリプトもドンピシャリタイミングで動くとポート開いてネーヨ(゚Д゚)ゴルァ!!されるので、微妙にタイミングをずらしています。

…と書いてて気づいたのですが、激しく板違いでしたでしょうか…。
654648:2008/05/24(土) 09:50:39
殆ど>>650さんのを参考に稼働させると
limitで弾く前に評価され(当たり前なのかも知れませんが…すいません)、robotsと設定されたツールでアクセスされると403が返り、たまにこぼしていたlimitもより希望に沿う形となりました。
そこから若干変更を加え、SetEnvIfNoCaseに変更してある程度のツール系は遮断。
そこからブラウザのマッチ評価、そして同時接続数の評価へと改良しました
やはり過度なアクセスがあるとlimitはこぼしてしまうので、完璧とは言えませんが基本ポリシーを満足させるものに近づきました。

なにせほぼ嫌がらせとしか思えないほど(今も)朝から凄まじいアクセスをしてきているので、気分はヌッ殺したいところです。( ´ー`)y-~~
ここ4日間で54万アクセス(503)ですので…。

mod_rewriteはもうちょっとしっかりとお勉強します。
655名無しさん@お腹いっぱい。:2008/05/24(土) 14:58:44
>>653
> …と書いてて気づいたのですが、激しく板違いでしたでしょうか…。

個人的にだけど、Web 鯖へのアタックや過剰アクセスから守る方法として
一般論(?)が展開されるなら、このスレでも間違っていないと思いますお。
656名無しさん@お腹いっぱい。:2008/05/24(土) 15:26:44
ipってゆうな。クズ。
657名無しさん@お腹いっぱい。:2008/05/24(土) 16:28:09
テリー乙
658名無しさん@お腹いっぱい。:2008/05/24(土) 20:10:23
perl-5.8.8nb7 Practical Extraction and Report Language
ap22-perl-2.0.4nb1 Module that embeds a Perl interpreter into Apache
をインストールしました。

apache2 の起動はできるようになったのですが、mod_perl の使い方が分かりません。
どのように設定すればいいでしょうか?
659658:2008/05/24(土) 20:15:15
apache2はモジュールの読み込みが必要無いんですね
660名無しさん@お腹いっぱい。:2008/05/25(日) 00:16:43
>>658
使い方が分からないなら今から覚えるな。バッドノウハウになりかねん。
まず SpeedyCGI で、次に FastCGI を覚える方がいいよ。
661名無しさん@お腹いっぱい。:2008/05/25(日) 20:10:35
>>657
はあ?俺はテリーじゃねえしww
つーかおまえらテリー乙テリー乙って馬鹿の一つ覚えみたいに言ってるけど
テリーにもファンがいるってことを認めたくないだけだろww
現実見ろよwwwwwwww
662名無しさん@お腹いっぱい。:2008/05/25(日) 20:20:27
テリーは目がいってるよ、こわいよお
663テリーファン:2008/05/25(日) 22:37:35
みんなテリーのことを悪く言いすぎだと思います。
一人で旅をするのはとても勇気がいることです。
武闘家にならずにバトルマスターになれるのもテリーしかいません。
もっとテリーを評価してあげてほしいです。
よろしくお願いします。
664名無しさん@お腹いっぱい。:2008/05/28(水) 09:28:35
すみません質問です
apacheからperlやphp等を実行する場合、実行権限ってどうなるんでしょうか?
試しにドキュメントルートより上の階層を見に行くスクリプトを組んで実行してみると難なく見えてしまいました

ユーザー1であれば user1/ 以下の階層のみアクセス可能にしたいのですが、
そういった設定はapache側から行うんでしょうか?

apacheのバージョンは2.2.3です
665名無しさん@お腹いっぱい。:2008/05/28(水) 09:40:34
PerlもPHPも、Apacheの実行権限で動く。
(CGIのsuexecは除く)

そして、Apacheから呼ばれるPerlもPHPも、ドキュメントルートは知ったことではない。
その辺は所有者やパーミッションをうまく設定するしかない。
suexecもその一環で使えると思う。そういう意味ではApache側からできるっちゃできるが。

PHPはセーフモードと言うのがあって、そういうことが出来るらしいが、俺は良く分からない。
666名無しさん@お腹いっぱい。:2008/05/28(水) 09:48:31
そういう人は、jail+chrootで幸せになれると思うよ。
667名無しさん@お腹いっぱい。:2008/05/28(水) 10:22:51
Windowsの場合はログインしてるユーザーなのかな
jailはBSD以外でも言うのかな
668名無しさん@お腹いっぱい。:2008/05/28(水) 14:03:26
早速ありがとうございます!

chrootコマンドだとユーザーが複数いる場合は難しいですよね?

jailって、要するにvirtualPCとかvmwareとかと同じ仮想OSの事でしょうか
使ってるlinuxはCentOSなので、OpenVZって言うのが見つかりました
調べてみると、仮想OSを複数作ってもカーネルは1つでいいようです

結局、この仮想OS上でユーザーごとに別途サーバーを構築して
仮想OSごとにchrootするということでしょうか

もしそうだとすれば相当面倒ですね^^;ポートは共有できるんでしょうか
たとえばレンタルサーバーとか、いちいちそんなことをしてるんですか?
669名無しさん@お腹いっぱい。:2008/05/28(水) 15:48:14
ニャース・ΜL キテガイリスト 28人目
http://pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
http://pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
http://pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
http://pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
http://pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
http://pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
http://pc11.2ch.net/test/read.cgi/unix/1211200469/
670名無しさん@お腹いっぱい。:2008/05/28(水) 16:33:32
レンタルサーバーは普通CGIはsuexecかね
PHPは知らん
671名無しさん@お腹いっぱい。:2008/05/28(水) 22:24:51
やるとしたらフロントにプロキシ立ててNameBaseでポート別立てしたバックのapache叩く感じかなぁ
起動オプションでコンフィグファイル切り換えればpidファイルもユーザーも切り換えて複数のapache立てられる

そもそも、そんな運用は却下するかな
672テリーファン:2008/05/28(水) 22:37:39
>>664
apache では何の制限もできないし、そのためだけにユーザ毎に chroot するのはちょっと無駄。

お互いのホームディレクトリを不可侵にしたいのであれば、各ユーザを同一グループ(users 等)に
所属させて、各ホームディレクトリを 0705 の permission に設定することで、ほとんどの場合問題ない。

/var/log とか見せたくないディレクトリは 0750 にすればいいし、ファイルアクセスはさせたいけど、
ディレクトリの中を見られたくない場合は 0751 すればいい。

レン樽鯖はこんな程度だと思われ。
673名無しさん@お腹いっぱい。:2008/05/29(木) 13:48:00
apacheをインストールしたのですがstartを押すとThe requested operation has failedと出てきて起動できません。
解決方法をよろしくお願いします。


674名無しさん@お腹いっぱい。:2008/05/29(木) 15:09:35
早くしてください

675テリーファン:2008/05/29(木) 16:46:14
              ,,,,,,iiiiiiiiiiiiiii,,,,,,
         ,,,iilllllll!!!l゙゙゙゙~~゙゙!!llliiii,,,
        ,,illlll!゙゙’: :     : ::゙゙!lllllli,,
       ..,illlllllll″       : :;lllllllllli,
      .,illlllllll!!′        : ;::゙lllllllli,
      :lllllllll゙..,,,,,,,,,,ii   : .i,,,,,iii,,::゙lllllllll、  
      .lllllllli,il!!!゙゙゙゛: :   : `゙゙゙゙゙!",llllllllll:
      .lllllllll!: l!!○llト:,..,,:.ll○l!ll.:!lllll!゙゙
       !llll!’:  :  ,,’ ’ : : :  .:llllll°  
          ,llllii,   ll,,,、 ,_,,i、   ll'llll:   
        ゙ll,l゙li..i、: : ``: ~゙°..",,.,l!|ll゙:    
           ゙l,.゙ト 'lトェェェェェェイフ`゚,lll°
            ゙ll,,.', `゙゙`''''''゙゜ ||,,il!゙`
            ,,l!ili,:      ,iliill,、
      ._,,,,,iiillll;:゙!llil,,,,、.._,,,,ll!゙゙.ll!llii,,,_
 _,,,,,,iiiiiiilllllllllllllllllll,::”`.゙゙゙゙゙゙゙゙″: .:l゙lllllllllllliiiii,,,__
lllllllllllllllllllllllllllllllllllllll:        : ,lllllllllllllllllllllllllllliiiiii,,,,,、
676名無しさん@お腹いっぱい。:2008/05/29(木) 16:57:22
>>673 httpd.confの編集ぐらいしれ
677名無しさん@お腹いっぱい。:2008/05/29(木) 16:57:24

ふざけないでくださいな。

できれば今日中に回答ほしい。勉強が進まない。
678名無しさん@お腹いっぱい。:2008/05/29(木) 16:58:29
>>676
あ、すみません。
それは編集しました。
679名無しさん@お腹いっぱい。:2008/05/29(木) 16:59:58
ウホw 2秒後にレス来たのかと思って焦った
error_log見たら? そのメッセージだけじゃ分からん
680名無しさん@お腹いっぱい。:2008/05/29(木) 17:00:59
>>679
どこにあるんですかそんなの?
start押したら>>673のエラーメッセージが出るのですが?
681名無しさん@お腹いっぱい。:2008/05/29(木) 17:02:47
ボットよけに特定のURLにアクセスがあったらそのIPからのアクセスを全部遮断したいんですが、なんかうまいことやる方法ありますか?
682名無しさん@お腹いっぱい。:2008/05/29(木) 17:06:52
>>680
OSの種類とバージョン、apacheのバージョンとインスコ方法を記しなさい

>>681
<Directory "/path/to/there">
 Deny from ....
</Directory>
683名無しさん@お腹いっぱい。:2008/05/29(木) 17:09:14
この手のは相手しない方がいいよ。
684名無しさん@お腹いっぱい。:2008/05/29(木) 17:10:13
>>680
winXP pro
apache 2.0.54
普通にインストールしました。
685名無しさん@お腹いっぱい。:2008/05/29(木) 17:16:36
>>684
なるほどね
ネット関連のカテゴリに自宅サーバ板があるんで、そっち行ってちょーだい
スレ違いでございます
686名無しさん@お腹いっぱい。:2008/05/29(木) 17:17:14
>>685
ここapacheのスレだろ?
頭大丈夫か?
687名無しさん@お腹いっぱい。:2008/05/29(木) 17:22:58
ここはUNIXの板だよ。
頭大丈夫?
688名無しさん@お腹いっぱい。:2008/05/29(木) 17:23:48
どうでもいいからapache教えてくださいよ
689名無しさん@お腹いっぱい。:2008/05/29(木) 17:24:19
テリー乙
690名無しさん@お腹いっぱい。:2008/05/30(金) 00:26:06
「start押す」って何かと思ってたw
691名無しさん@お腹いっぱい。:2008/05/30(金) 00:31:41
ふと思ったけど、Linuxのユーザーと、Apacheのユーザーってどっちが多いかな?
692名無しさん@お腹いっぱい。:2008/05/30(金) 02:05:19
Apacheじゃないかな。LinuxユーザならApache入れてる人そこそこいるだろうし、某メーカがApacheを
録画予約制御用にWindowsパソコンにプリインストールしてたりするし。
693名無しさん@お腹いっぱい。:2008/05/30(金) 09:24:50
>>669
何でもかんでもコピペしてんじゃねえよクズ、今すぐビルから飛び降りて死ねやwwww

妄想爆裂発狂中のキチガイは今すぐ死ねwwwwwwwwwwwwwwwwwwwwwwwww
どうでもいいんだよカス
早く死んでおけよwwwwwwwwwwwwwwww

いいから今すぐに死ねwwwwwwwwwwwwwwwwwwwwwwwwww


なんで精神病院に逝けないの?いいから死ねよもうwwww









完全に壊れたキチガイ猿は今すぐに死ねwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
694名無しさん@お腹いっぱい。:2008/05/30(金) 19:37:02
apache geronimoなんですけど、他サーバのgeronimoを自サーバに丸々コピー(クローン)
したいんですけど、設定等何か注意することはありますか?

ディレクトリごと持ってきたのはいいんですけど、他サーバで起動していたシステムが
自サーバではacionエラーで動かなくて困っています・・・

初期設定等何かありますかね?
695名無しさん@お腹いっぱい。:2008/05/31(土) 16:13:11
ドメイン部分を変えずに、別サーバを読み込むことって可能ですか?
DNSを使って
example.jp → サーバA
test1.example.jp → サーバB
なら簡単かと思いますが、
DNSで変更を加えずに
exmaple.jp → サーバA
example.jp/test1 →サーバB
というのは可能でしょうか?
ぱっと思いついたのが、
mod_proxyですが、その他よさそうな方法があったら木盆ぬ
696名無しさん@お腹いっぱい。:2008/05/31(土) 16:23:08
VirtualHost
697名無しさん@お腹いっぱい。:2008/05/31(土) 16:42:51
そりゃmod_proxyしかないな

>>696
質問読んでるか?
698名無しさん@お腹いっぱい。:2008/05/31(土) 16:59:30
mod_proxy で実現できるけど、受け側に絶対パスの制約が出ることに注意。
ここを意識したサイト制作が出来るなら大丈夫かと。

× <a href="/">TOP</a>
○ <a href="../">TOP</a>
× <img src="/img/moe.jpg">
○ <img src="../img/moe.jpg">

さらに Location ヘッダにも影響が出る。Location は絶対パスしか出力できないので、
リクエストの最後に / があるかどうかで挙動が変わってしまう。

GET /test1/moe/ HTTP/1.1
Host: example.jp

↑これは問題ない。

GET /test1/moe HTTP/1.1
Host: example.jp

HTTP/1.1 301 Moved Permanently
Location: http://test1/moe/

↑リダイレクトで変なところへ誘導されてしまう。

結論としては、あんまりオススメできる方法じゃあないですね・・・・
699698:2008/05/31(土) 17:11:26
訂正です。以下の文は関係ないので無視してくださいorz
> Location は絶対パスしか出力できないので、
700名無しさん@お腹いっぱい。:2008/06/02(月) 01:20:15
質問があります。
現在ApacheとPHPを一緒に動かしているのですが、アイドル状態の子プロセスが死なず、また、
レスポンスが返ってこなくて困っています。
 現象:
  1Apacheの起動後、PHPアプリを起動
   このときは問題なく表示されます
  2ブラウザのリロードボタンを何度か(約8回)押します
   このときに、レスポンスが全く返ってきません。また、ブラウザの停止ボタンを押してプロセスをアイドル
   状態にしても、MaxSpareServersで設定した子プロセス数までプロセス数下がりません。
701700:2008/06/02(月) 01:20:56
>>700 です。
利用しているApacheとPHPのバージョンとコンパイルオプション、Apacheの設定を載せます。
 PHPのバージョン: 5.2.5
  ./configure --prefix=/usr/local/php-5.2.5 -with-apxs2=/usr/local/httpd/bin/apxs \
        --enable-mbstring --enable-sockets --with-zlib-dir=/usr \
        --with-jpeg-dir=/usr --with-png-dir=/usr --with-gd \
        --with-mcrypt=/usr/local/libmcrypt-2.5.8 --enable-pcntl \
        --with-mysql=/usr --with-libxml-dir=/usr/local/libxml2-2.6.27 \
--with-gettext=/usr \
 Apacheのバージョン: 2.2.8
  ./configure --prefix=/usr/local/httpd-2.2.8 --enable-ssl --with-ssl=/usr/local/openssl-0.9.8g \
        --enable-suexec --enable-so --with-mpm=prefork --with-apr=/usr/local/apr-httpd/ \
        --with-apr-util=/usr/local/apr-util-httpd/ --with-suexec-caller=www
 Apacheの設定:
  <IfModule mpm_prefork_module>
   StartServers 5
   MinSpareServers 5
   MaxSpareServers 10
   MaxClients 150
   MaxRequestsPerChild 10000
  </IfModule>
  Timeout 60
  KeepAlive On
  MaxKeepAliveRequests 100
  KeepAliveTimeout 5
 使用ブラウザ: Firefox 2.0.0.14、Opera9.27

長くなってしまいましたが、何か原因が分かればお願いします。
702700:2008/06/02(月) 02:04:01
>>700 です。
すみません。自己解決しました。
原因は、パイプから渡されてきたアクセスログを処理しているスクリプトでした。

次のログが延々と吐き出されていました。
 piped log program '/var/www/bin/syslog_accesslog.php' failed unexpectedly
 /usr/bin/env: php: No such file or directory
そしてスクリプトは次のようになっていました。PHPが見えてなかっただけでしたorz
 #!/usr/bin/env php
 <?php
 while(!feof(STDIN)) {
  $access_log = fgets(STDIN);
  syslog(LOG_NOTICE, $access_log);
 }
これを以下のように書きなおして問題解決しました。
 #!/usr/local/php-5.2.5/bin/php
 <?php
 while(!feof(STDIN)) {
  $access_log = fgets(STDIN);
  syslog(LOG_NOTICE, $access_log);
 }
すみません。お騒がせしました。
703名無しさん@お腹いっぱい。:2008/06/02(月) 03:39:46
乙です。余計なお世話かもしれないけど、syslog 送りにしたいだけならこれで行けそうな・・・
CustomLog "| /usr/bin/logger -t httpd -p daemon.notice" myformat
704700:2008/06/02(月) 17:19:58
>>703

それで行けました!わざわざ書く必要ありませんでしたね
ありがとうございます!
705名無しさん@お腹いっぱい。:2008/06/03(火) 22:07:36
すいません
もしかしてServerLimitってgracefulじゃ反映されないの?
512にしても最大256で頭打ちのまま…
706名無しさん@お腹いっぱい。:2008/06/03(火) 22:19:41
ServerLimitはgracefulどころかrestartでもだめで、stop⇒startじゃないとだめ
マニュアル読んでくれよ…
と思ったが、日本語訳がおかしいなorz

http://httpd.apache.org/docs/2.2/mod/mpm_common.html#serverlimit
「再起動中にこのディレクティブを変更しても無視されますが、 MaxClients は再起動中に修正することができます。」

マニュアル読まない人が多いのって、やっぱわかりづらいからなのかな?
食わず嫌いだったら悲しいけど
707名無しさん@お腹いっぱい。:2008/06/03(火) 22:22:58
>>706
てんきゅー!
ServerLimitのマニュアルはざっと読んだんだけど反映のさせ方がいまいち分からなかった
訳が変だったのね…
708名無しさん@お腹いっぱい。:2008/06/03(火) 22:25:05
あー、2.2以降だったらgraceful-stop⇒startのほうがいいな
これならgracefulと変わらないしお勧め
709名無しさん@お腹いっぱい。:2008/06/03(火) 22:27:46
あ、もう再起動しちゃった
でもそれも覚えとく
ありがとう
710名無しさん@お腹いっぱい。:2008/06/05(木) 18:09:57
apacheで公開しているあるディレクトリにアクセスしたら、ntopが公開している
別ポートのコンテンツにリダイレクトしようとしています。

アクセスしたURLが
http://www.example.com/ntop/
だったら、
http://www.example.com:3000/
にリダイレクトするようにしたいのですが、アドレスバーに
http://www.example.com:3000/」と表示させたくないのです。というのも、
ntopにはブラウザからアクセスしたときの認証の機能がないので、URLを隠蔽し、
必ずApacheのベーシック認証を通し、その後にntopのコンテンツにリダイレクトしたいのです。

mod_rewriteを使って、ブラウザのアドレスバーに
http://www.example.com/ntop/
と表示させたまま、ntopのコンテンツを表示する術はないでしょうか。
ちなみに、mod_rewriteではなくフレームを使う方法では、ntopのURLがバレてしまいます。

この場合のmod_rewriteの記述はどうすればよいのでしょうか。
711名無しさん@お腹いっぱい。:2008/06/05(木) 18:15:19
>>710
mod_proxy かな。

バレたらアクセス可、というのはよくない。
そもそも直接アクセスできないようにしておくべき。
localhost からしか許可しない、とかで。
712名無しさん@お腹いっぱい。:2008/06/05(木) 18:34:04
>>711さん
即レスありがとうございます。
mod_proxyを試してみたのですが、ntopが動的に生成するURLがあったりするので、どうしたものかと頭抱えてます。
静的な画像は、シンボリックリンク張って誤魔化せるのですが、例えば

http://www.example.com/ntop/aboutNtop.html
にアクセスしようとしても
http://www.example.com/aboutNtop.html
になってしまうので、mod_rewriteでURLを書き換えられないかなーと思ったのです。。。
713名無しさん@お腹いっぱい。:2008/06/05(木) 19:51:11
>>712
ntop を起動するときに -w 127.0.0.1:3000 として localhost で listen させる。
とりあえずこれで外部から ntop への接続はできなくなる。
あとは apache で mod_proxy の設定をする。

NameVirtualHost *:80
<VirtualHost www.example.com:80>
 ProxyRequests Off
 ProxyPass / http://127.0.0.1:3000/
 ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>

試してないけど多分こんな感じで何とかなるかと。URL がずれなくなるから
この方が楽なんじゃないかな。
アクセス制限とか認証とかは <VirtualHost> に対して掛ければ良いかと。
714名無しさん@お腹いっぱい。:2008/06/05(木) 19:53:57
>>710 です。
結局のところ、今までのドキュメントルートにあるコンテンツと混在してたら
mod_rewriteではどんなルールを書いても、「あちらを立てたらこちらが立たず」状態なので、
IPベースでバーチャルホスト立てて、proxyを使うことにしました。。。
これでアドレスバーは誤魔化せましたが、ステータスバーに裏のIPアドレスとポートが出てしまうので
苦労の割には誤魔化しきれなかったり。。。orz

715名無しさん@お腹いっぱい。:2008/06/05(木) 20:03:21

リバースプロキシで一撃じゃないの?
716名無しさん@お腹いっぱい。:2008/06/05(木) 20:14:21
ntop が返す HTML の中のリンクに URL が埋まってる、とかじゃないの?
717名無しさん@お腹いっぱい。:2008/06/05(木) 20:54:17
試してみる元気はないけど、ntop proxy とか ntop mod_proxy で
検索していっぱい出るじゃん。出来るんじゃね?
718名無しさん@お腹いっぱい。:2008/06/05(木) 22:17:57
ntopが出力するhttpデータは調整出来ないの?
サーバー名とかURLとか・・・
719名無しさん@お腹いっぱい。:2008/06/05(木) 23:43:45
>>710です。

どういうわけか、 -wオプションで127.0.0.1:3000を指定したり、
プロキシの転送先を127.0.0.1:3000にしたりすると、

[Thu Jun 05 23:10:04 2008] [error] [client 123.456.789.012] client denied by server configuration: proxy:http://localhost:3000/

というログが出て接続ができませんでした。

ntopのスタートスクリプトでeth0のIPアドレスを明示的に指定してやって、
バーチャルホストのconfigも、ProxyPass ProxyPassReverse ともにeth0のIPアドレスで
書いてやったら、目的を達成できました。
FireFox2、IE7ともに、裏のIPアドレスとポートを隠蔽してユーザに見せることができました。

あ(・∀・)り(・∀・)が(・∀・)と(・∀・)う!ございます!
720名無しさん@お腹いっぱい。:2008/06/06(金) 06:21:59
>ntopにはブラウザからアクセスしたときの認証の機能がないので

嘘はいかん。doc嫁
721名無しさん@お腹いっぱい。:2008/06/06(金) 06:53:19
裏のIPアドレスとポートにアクセスすると表示されるんでしょ?w
パケットフィルタでもしておいたら
722名無しさん@お腹いっぱい。:2008/06/06(金) 20:34:30
CGI、またはPHPを運用していて、それぞれのスクリプトが管理・ファイルを生成している
フォルダa・b・cがあるとします。
このフォルダ内に生成されるファイルが、外部からURLを手打ちでアクセスできてしまう為
フォルダ内への直アクセスを規制したいのですが
どうすればよいのでしょうか?
723名無しさん@お腹いっぱい。:2008/06/06(金) 20:53:40
上から順番にお勧め

1.フォルダa・b・cをドキュメントルートの外に配置する
2.mod_authz_hostを使ってアクセスを拒否する
3.その中のファイルの末尾を.cgiにする
724名無しさん@お腹いっぱい。:2008/06/06(金) 21:20:23
.htaccessでもいいんじゃん?
725名無しさん@お腹いっぱい。:2008/06/06(金) 21:33:27
レンタルサーバーでもないのになんで.htaccessが出てくるんだ?
726名無しさん@お腹いっぱい。:2008/06/06(金) 22:58:38
レンタルサーバーじゃないと .htaccess 使っちゃいかんの?
727名無しさん@お腹いっぱい。:2008/06/06(金) 23:11:38
.htaccessでやるとパフォーマンス落ちるよ。
728名無しさん@お腹いっぱい。:2008/06/06(金) 23:41:14
「.htaccessを使う」ってのは要するに「設定を変える」ということだけしか意味しない
何の設定を変えるかは全く言及されていない
729名無しさん@お腹いっぱい。:2008/06/07(土) 01:30:13
デフォルト設定で入っている
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
が有効なら、ファイル名/ディレクトリ名の頭に .ht を付けるという手がある。
素直に>>723の1にしておくのが本筋ではあるが。
730名無しさん@お腹いっぱい。:2008/06/07(土) 09:50:30
>>726
使っちゃいけないってことはないけど、conf いじれる root 様は普通は
AllowOverride None だと思う。None 以外に設定するのも萎える。
理由は >>727 の通り。ま、アクセスが少ないサイトなら影響しないけどね。
731名無しさん@お腹いっぱい。:2008/06/07(土) 10:22:53
ただ、大きなファイルをダウンロードさせてるサイトで
WorkerMPM使ってる場合は、graceful restartがきついから
.htaccess使う理由にはなる
732名無しさん@お腹いっぱい。:2008/06/07(土) 11:55:19
>>731
あー、なるほどね。セッションが長い場合は .htaccess の処理コストが
与える影響は低いね。これは盲点ですた。
733名無しさん@お腹いっぱい。:2008/06/14(土) 11:08:16
2.2.9がもうすぐリリース
アナウンスが出てないけど、すでにトップページに表示されてるが
734名無しさん@お腹いっぱい。:2008/06/14(土) 13:10:21
Apache+MySQLでDBを使ったBASIC認証で教えてください。
こんな感じでhttpd.confを設定するとユーザーごとの制御はうまくいったのですが、
DAV svn
SVNParentPath /usr/local/svn/
AuthType Basic
Require valid-user
AuthMySQLHost localhost
AuthMySQLUser apache
AuthMySQLPassword apache
AuthMySQLDB htpasswd
AuthMySQLUserTable user_info
AuthMySQLTableUserName user_name
AuthMySQLTableUserPasswd user_passwd
さらにユーザーグループごとにディレクトリをアクセスできたりできなかったりする設定がうまくいきません。
上の設定に加えて
AuthzSVNAccessFile /usr/local/svn/.svnaccess
AuthMySQLGroupTable user_group
AuthMySQLTableGroupName user_name
AuthMySQLTableGroupGroupName user_group
/usr/local/svn/.svnaccessがこんな感じです。
[groups]
[proj-1:/]
@group-1 = rw
ページを開くと認証を求められますが正しいパスワードを入れても403 Forbidenです。
/var/log/httpd-error.logがこんな感じです。
[error] Internal error: pcfg_openfile() called with NULL filename
[error] [client 192.168.0.1] (9)Bad file descriptor: Could not open password file: (null)
[error] [client 192.168.0.1] Failed to load the AuthzSVNAccessFile: An authz rule refers to group '@group-1', which is undefined
[error] [client 192.168.0.1] Access denied: 'user-1' GET proj-1:/
なにが悪いのでしょうか?
735名無しさん@お腹いっぱい。:2008/06/14(土) 19:59:42
> なにが悪いのでしょうか?
エラーメッセージを読もうとしないキミの性格、またはエラーメッセージを
読めないキミの英語力。
736名無しさん@お腹いっぱい。:2008/06/14(土) 23:29:36
Apache HTTP Server 2.2.9 Released
ってメール来たよ
737名無しさん@お腹いっぱい。:2008/06/15(日) 12:21:55
質問です。
Apacheが落ちたのでerror.logを見たのですが、
落ちた時刻に

[Sun Jun 15 05:00:02 2008] [notice] Graceful restart requested, doing restart
[Sun Jun 15 05:00:02 2008] [emerg] (2)No such file or directory: Couldn't initialize cross-process lock in child
[Sun Jun 15 05:00:02 2008] [emerg] (2)No such file or directory: Couldn't initialize cross-process lock in child
[Sun Jun 15 05:00:02 2008] [notice] Apache configured -- resuming normal operations
[Sun Jun 15 05:00:02 2008] [alert] Child 5617 returned a Fatal error... Apache is exiting!
とありました。

この時刻には手動でGraceful restartをしていないのですが、自動で行われることがあるのでしょうか?
738737:2008/06/15(日) 12:22:51
追記:バージョンはApache/2.0.63です。
739名無しさん@お腹いっぱい。:2008/06/15(日) 12:47:01
時刻がきっかりだしcronでログ処理を走らせてんじゃないの?
740名無しさん@お腹いっぱい。:2008/06/15(日) 18:02:57
ログのローテーションじゃない?
741名無しさん@お腹いっぱい。:2008/06/15(日) 18:05:24
いろんなOSについてるApacheのパッケージはデフォルトで
ログのローテーションで再起動するようになってるよ
時刻が朝の5時だし、間違いないだろう
742737:2008/06/15(日) 18:08:40
>>739-741
レスありがとうございます。
なるほど単なるローテーションでしたか。。。
もうちょっと原因を探ってみます。
743名無しさん@お腹いっぱい。:2008/06/15(日) 19:06:20
>>742
>もうちょっと原因を探ってみます。
もうちょっとも何も。
アドバイスに従ってまずcron設定みなよ。
744名無しさん@お腹いっぱい。:2008/06/15(日) 23:33:19
crontab じゃなくて /etc/logrotate.d/* というオチなんだろうな・・・・
745名無しさん@お腹いっぱい。:2008/06/16(月) 05:36:39
いやnewsyslog.confかもしれん
746名無しさん@お腹いっぱい。:2008/06/16(月) 14:55:46
2.2.9のconfigureで、オプション付けると必ず
configure: WARNING: Unrecognized options:
って出ない?
747名無しさん@お腹いっぱい。:2008/06/16(月) 15:05:26
>>746
ほんとだ
./configure --with-mpm=worker
でやったら
configure: WARNING: Unrecognized options: --with-mpm
configure: WARNING: Unrecognized options: --with-mpm
と。でもmakeしてみるとちゃんとworkerになってる
748名無しさん@お腹いっぱい。:2008/06/16(月) 20:07:54
>>746

同じく。オプションが急に変更になったのかと思ったよ。まともに動いて
るのか不安だな、、、
749名無しさん@お腹いっぱい。:2008/06/17(火) 09:57:34
Apache/2.2.2とFreeBSD6.2で動かしています。
それで、最近Apacheが知らない間にいつも再起動されてて悩まされています。

色々と原因を探った結果、httpd-access.logが100MBに達して、
次のログに切り替わるとき(ログローテーション)に、
必ず落ちます。逆に、それ以外のときには落ちません。

そのような特別な設定をした訳ではないのですが、
この対処法ご存知の方はアドバイスいただけないでしょう?

なにとぞ宜しくお願いします。もう、2ヶ月も悩まされています。
750名無しさん@お腹いっぱい。:2008/06/17(火) 10:51:34
ログ切替えはnewsyslog?
シグナルを送ってhttpdにログファイルを作り直させている?
751名無しさん@お腹いっぱい。:2008/06/17(火) 12:52:38
落ちたならエラーログが出ていそうなもんだけど、どうなのよ?
752名無しさん@お腹いっぱい。:2008/06/17(火) 19:41:38
>>750>>751
アドバイス有難うございます。
確かに、newsyslogからの信号で落ちておりました。
newsyslogの仕様なんですね。助かりました。

ちなみに、これって、落とさずにログを循環させる方法はないのでしょうか?
newsyslog以外でもいいのですが。
753名無しさん@お腹いっぱい。:2008/06/17(火) 20:16:00
>>752
rotatelogsを使ったら?
754名無しさん@お腹いっぱい。:2008/06/17(火) 20:19:28
>>752
ふつー落ちない。設定だか何だかわからんが、どっかの何かがおかしい。
それを解消しなければ、たぶん何を使ってもやっぱり落ちる。
755名無しさん@お腹いっぱい。:2008/06/17(火) 21:13:42
シグナル送らないとhttpdがファイルハンドル放してくれないから、よーわからん状況になるよ
newsyslog.confの編集作業に戻るんだ
756名無しさん@お腹いっぱい。:2008/06/17(火) 21:22:34
>>753-755
いつもすばやいレス有難うございます。

私がした設定は、どこかのサイトの設定を見てこのようにしました。

# vi /etc/newsyslog.conf
/home/hogehoge/log/httpd-access.log 644 100 100000 * Z /var/run/httpd.pid
/home/hogehoge/log/httpd-error.log 644 100 100000 * Z /var/run/httpd.pid

設定のどの辺が変が分かりますか?
>>755さんが書かれていたことを読んで思い出したのですが、
そのサイトにも、httpdにシグナルを送らないとダメだと書いてありました。
757名無しさん@お腹いっぱい。:2008/06/17(火) 21:29:12
すみません。他のサイト検索していたら、30を後につけろ、と書いてありました。
これだけで、大丈夫でしょうか?シグナルの種類があって、30番なら落ちずにログ循環が可能と書いてありました。

/home/hogehoge/log/httpd-access.log 644 100 100000 * Z /var/run/httpd.pid 30

たびたびすみません。
758名無しさん@お腹いっぱい。:2008/06/17(火) 23:56:44
30とか環境依存じゃないの?w 素直にHUPかUSR1にしておけって。
759名無しさん@お腹いっぱい。:2008/06/18(水) 01:37:15
>>757
>>751 >>754を無視かよw
newsyslog とシグナルの関係で落ちてるので間違いはなさそうだが、
デフォルトではSIGHUPが送られるんで、httpdが落ちるのもおかしい。
念のため、VirtualHostじゃないメインのerror_logの該当時刻を確認すべし。
760名無しさん@お腹いっぱい。:2008/06/18(水) 03:03:46
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=newsyslog.conf&dir=jpman-6.3.2%2Fman§=0
http://httpd.apache.org/docs/2.0/ja/stopping.html
んだね再起動する感じだねぇ
いずれにせよ、シグナルで落ちてるんだったら、ログに残るわな

以前自分でやった事あるもんで。はい。
ログファイルを圧縮しちゃったんだけど、プロセスが持ちっぱなしで
見えないファイルがずんどこでかくなるとゆー
/varがいっぱいになったけど、謎!みたいなww

いずれにせよ、どっかのサイト丸写しじゃなくて
その意味する所を把握しれ
761名無しさん@お腹いっぱい。:2008/06/18(水) 09:51:49
>>759>>760
すみません、色々と有難うございます。
無事30のシグナルを送信することで解決しました。
ログが変わってリスタートしませんでした。

ログも見ましたが、確かにシグナルで落ちていました。
もっと仕組みを勉強していきたいと思います。

本当にありがとうございました。
762名無しさん@お腹いっぱい。:2008/06/18(水) 13:58:49
>>761 httpd は SIGHUP で落ちたらおかしいんだよ。そのログ晒してみてくれない?
763名無しさん@お腹いっぱい。:2008/06/18(水) 19:27:56
>>746

2.2.9 buildconf してからconfigure すると、ワーニングが出なくは
なりましたが、、、これでいいのかは不安です。
764名無しさん@お腹いっぱい。:2008/06/18(水) 20:15:23
>>763
ウチでは、fedoraのspec参照に、./configure前に、
autoheader && autoconf 実行しても、やっぱりWARNING出ます。
765名無しさん@お腹いっぱい。:2008/06/19(木) 01:31:23
2.2.9はスルーで。
766名無しさん@お腹いっぱい。:2008/06/19(木) 17:37:43
出力するHTML内に指定のタグが入ってなかったら
強制的に指定のタグ挿入、とかするモジュールなかとですか?
767名無しさん@お腹いっぱい。:2008/06/20(金) 03:42:29
favicon.icoのリクエストが多くて、
403ではじくとエラーログに出力されちゃいますが、
エラーログみるとそればかりで、他のエラーがスゴク見つけにくいです。

favicon.icoの403エラーをエラーログに記録させない方法を教えてくださいませんか?
768名無しさん@お腹いっぱい。:2008/06/20(金) 03:45:33
favicon.icoを置く
769名無しさん@お腹いっぱい。:2008/06/20(金) 08:29:50
grep -v で見ればいいじゃん。

ErrorLog は SetEnvIf 使えないんだっけ。
770名無しさん@お腹いっぱい。:2008/06/20(金) 08:47:15
>>768-769
ご助言ありがとうございます。
当サイトはトラフィックが非常に多く、
favicon.icoを置くと、転送量が増えてしまうため、できれば避けたいです。

grep -vは確かにそうですね。
ただ、できればログに記録したくなくて、
調べたところerrorlogにはsetenvifは使えないようです。
検索エンジンで調べてそう書いてありまし、又自分でもやってみてダメでした。

後からログを綺麗にするしかないのでしょうか。
771名無しさん@お腹いっぱい。:2008/06/20(金) 08:48:31
パイプに渡してがんばる、とか。
772名無しさん@お腹いっぱい。:2008/06/20(金) 09:13:04
>>770
favicon.icoという名前の空ファイルを置いておけば、
転送量は増えない。
773名無しさん@お腹いっぱい。:2008/06/20(金) 09:35:37
>>772
HTTP ヘッダは送っちゃうんじゃない?
774名無しさん@お腹いっぱい。:2008/06/20(金) 09:50:50
どうせリクエストは送られてきて、それに対してのレスポンスも返すんだ。
作っておいてexpireでキャッシュの生存期間延ばしたほうが転送量も抑えられる。
775名無しさん@お腹いっぱい。:2008/06/20(金) 09:51:26
>>773
それはfavicon.icoがなくても同じ。だから、転送量は増えない。
776名無しさん@お腹いっぱい。:2008/06/20(金) 10:05:42
なるほど。
777名無しさん@お腹いっぱい。:2008/06/20(金) 10:26:51
やってます
0byteのfavicon.ico
拗ねちゃうブラウザもいないっぽい
778名無しさん@お腹いっぱい。:2008/06/20(金) 11:39:54
>>763
autotoolsは詳しくないので良くわからんけど、
公式配布のtarを作った人のautoconfが新しすぎた?とか。
自分でbuildconfして警告でなくなったら、それで2.2.8以前と同じ状態になったということだからOK。

ついでにこのバグ報告はあがってるけど対応する気はなさそうだな
こういうバグこそなんとかするべきだと思うんだが
https://issues.apache.org/bugzilla/show_bug.cgi?id=45221
779名無しさん@お腹いっぱい。:2008/06/20(金) 19:34:15
>>778

ありがとう。2.2.9 ひとまずテスト環境では順調です。
780 :2008/06/21(土) 19:00:27
Linuxで使用するapacheとWindowsで使用するapacheとでは差異などあるのでしょうか?
バージョンは2.2.8でお願いします。
利点や欠点などもご存じでしたらぜひお願いします。
781名無しさん@お腹いっぱい。:2008/06/21(土) 19:36:28
httpd 単体で考えたときにはあまり差異はないと思う。
何をしたいのか、何を動かしたいのかが重要。

メリット
・LAMP に相当するものは一応揃えられる。
・UNIX 系の知識がないなら OS 管理が楽。

デメリット
・UNIX 系 Apache と比べて情報収集がやや困難。
・サードパーティなモジュールが動作しない可能性がある。
・UNIX 系でよく利用するコマンド、ユーティリティが使えないかも。
・Cygwin であれこれ揃えるならそもそも UNIX で(ry
・OS のスリム化がしづらい。
・.NET とか MS 特有のものは知らん。
782名無しさん@お腹いっぱい。:2008/06/21(土) 23:10:11
MultiViewsでheader.html.jaが自動選択されて内容が表示されているのですが、
HTTPヘッダにContent-Type: text/html;charset=ISO-8859-1が出力されていて
ブラウザで文字化けしてしまいます。
IndexOptions +SuppressHTMLPreamble にして meta で指定しても、
IEはHTTPヘッダを優先するようで文字化けは改善されませんでした。
どうしたら.jaのファイルのHTTPヘッダのcharsetを変えられるでしょうか。

環境
sourceforge.jp のサーバ Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11
.htaccess が使えますが、どこまで許されているかわかりません。
783名無しさん@お腹いっぱい。:2008/06/21(土) 23:25:11
IndexOptions Charset
784782:2008/06/22(日) 00:28:25
ありがとうございます。
<Files でうまく条件分けできなかったためか、.enファイルにもSHIFT_JISが
付くようになってしまったので、.jaファイルもUTF-8にして解決としました。
785 :2008/06/22(日) 00:40:39
>>781

ありがとうございます。
何をしたいとか何を動かしたいとかは特に考慮しなくて大丈夫です。
Apache単独での差異が知りたかったので…。

一応書いておきます。linux上でapache・tomcatの連携をします。
windows上での連携と差異はありますか?
786名無しさん@お腹いっぱい。:2008/06/22(日) 07:06:46
連携以前にWindowsで動かすと不安定で落ちやすい
787 :2008/06/22(日) 19:15:43
>>786

ありがとうございます。
ってことはLinux上では安定していると受けってもよろしいのでしょうか?
788名無しさん@お腹いっぱい。:2008/06/22(日) 19:21:41
大差ない
789名無しさん@お腹いっぱい。:2008/06/23(月) 02:30:17
十分に安定。
790名無しさん@お腹いっぱい。:2008/06/23(月) 10:36:59
あと、ライセンス関連が違う
791名無しさん@お腹いっぱい。:2008/06/23(月) 16:20:14
質問

CGIゲームの改造をしてるんだが、

「いきなりサーバーにあげないで、
ローカルでテストしてからにしてください」

とよく書いてある。その趣旨はわかるんだが、
自分のパソコンにWEBサーバーをインストールすると
いうのは、自分がなにをしているのかよくわかっていない
場合は、危険な行為ではないのか?

パソコンのハードディスクの中身がすべて
ネットに公開される可能性もあるし、
インストール直後のデフォルトの状態は
結構安全なのか?

公開用のフォルダというものがあって、
そこに入れたものだけが公開されるのか?
792名無しさん@お腹いっぱい。:2008/06/23(月) 16:22:38
よくわかってからやれ。
793名無しさん@お腹いっぱい。:2008/06/23(月) 16:23:56
>>791
>自分のパソコンにWEBサーバーをインストールすると
>いうのは、自分がなにをしているのかよくわかっていない
>場合は、危険な行為ではないのか?

はい。危険な行為です。
そして、その程度の知識の人がCGIを作ることはもっと危険です。
要するに、「自分のPCに、安全にWebサーバーをインストールすることもできない人は
CGIをアップロードしないでください」
ということです。
794名無しさん@お腹いっぱい。:2008/06/23(月) 16:53:45
じゃあ、どうやれば安全なのか、
また、どうした場合には危険なのか、
解説がまとまってるページか書籍を
教えてもらえますか?

また、インストール直後のデフォルトの
状態の安全性はどうなってますか?

インストールして、5分後に自分のPCの
IPアドレスにポート80でアクセスがあったら
パソコンの中身を見られてしまうのですか?
795名無しさん@お腹いっぱい。:2008/06/23(月) 16:55:07
CGIなんてWebサーバーなくたって、直接起動すりゃテストできるだろ
796名無しさん@お腹いっぱい。:2008/06/23(月) 16:59:13
そんなん逐一人に聞かないとわからないような人は
向いてないと思います。
797名無しさん@お腹いっぱい。:2008/06/23(月) 17:41:10
>>791 >>794
煽りじゃなくてマジレスだが、このスレで論議する内容じゃない。
何故なら UNIX/Apache 云々以前の問題であるから。
自宅サーバ板の方が適切な回答を得られやすいと思われ。
798名無しさん@お腹いっぱい。:2008/06/23(月) 19:26:56
インストールするときに、勝手にネット接続を
テストしようとしやがるな。マカフィーが反応した。
799名無しさん@お腹いっぱい。:2008/06/23(月) 19:42:06
アパッチ2だと、最初にインストールして、
localhostをブラウザで表示したとき、

it works!
しか表示されないの?
800名無しさん@お腹いっぱい。:2008/06/23(月) 20:15:27
>>799
待て待て、それはソースからコンパイルしてインストールした時の状態じゃないか?

(Winの)msiバイナリパッケージでinstallした時は、
おめでとうございます。
この計算機で無事Apacheのインストールが完了しました。

云々のページが出るはず。
Linux系のrpmで入れた場合も、ディストリごとのwelcomeページが出るハズだ。
ソースから入れれるくらいの知識があれば、そんなの気にする必要あるか?
801名無しさん@お腹いっぱい。:2008/06/23(月) 20:29:11
>>800
OSはWindows2000で
msiをダウンロードしてインストしただけですが。

なんで自分のページだけ

「あなたの意に反して、、、」

がでないんだろう。
802名無しさん@お腹いっぱい。:2008/06/23(月) 20:39:50
Windows版のApacheは板違いだろうて・・・
803名無しさん@お腹いっぱい。:2008/06/23(月) 21:17:52
>>801
はーん、さては上書きインストールか、以前のバージョン入れてたんじゃないかな?
httpd.confが置き換わらないんで、auto_negoやfiles_matchが正常に効いてないからじゃないか?

>>802
うーん、Win限定の話じゃない時(confや標準moduleの設定とか)は、別にいいんでんね。
804名無しさん@お腹いっぱい。:2008/06/23(月) 21:25:50
OSはWindows2000

win用のアパッチをインストールした。
http://localhost/index.html
↑これは表示されるようになった。
しかし、
http://localhost/a.cgi
これを表示しようとすると
Forbidden

You don't have permission to access /a.cgi on this server.

となってしまう。
おそらく、cgiを表示するパーミッションを与えていない、
というのが原因だと思う。
その設定ファイルは、
httpd.conf
だと思う。
805名無しさん@お腹いっぱい。:2008/06/23(月) 21:32:22
>>804
についてだが、
You will also need to add "ExecCGI" to the "Options" directive
という記述を見つけたので、

Options Includes FollowSymLinks ExecCGI MultiViews

これを入れたら、
You don't have permission to access /a.cgi on this server.
というエラーは出なくなった。しかし今度は、
500 Internal Server Error
になってしまう。
806名無しさん@お腹いっぱい。:2008/06/23(月) 22:02:48
>>805
自己解決した。
単にHTMLで出力してなかった。
HTMLのタグで(<body>とか)ちゃんと
書いたら普通に表示できた。
807名無しさん@お腹いっぱい。:2008/06/23(月) 22:55:54
>>803
インストールなんて思いっきりwin限定の話じゃん。
808803:2008/06/24(火) 00:12:35
>>807
そうかな?
今回の流れでは確かにWinでの話だっけど、インストール自体は別にWinに限った話じゃないじゃん。
>>799の書き込みだけでは、それがWinでの話かどうか断定できないし。

Linux系でもrpmとかあるし、FreeBSDでもportsとかあって、ソースインスコだけとは限らないじゃない。
803で書いたhttpd.conf等のデフォルトファイルの置き換えに絡む話は、WinだけじゃなくLinux系でもpkg_installで出てくる問題だし。
(具体的にどれがどうとかは、確かに各ディストリやパッケージマネージャーに因った話になってしまうけど)

それともここは、ソースインスコに限った話しかしたらいけないのかな?
(自分はWinでもLinuxでも、パーケージからとソースからと両方でインストールしたの混載で使ってる)
809名無しさん@お腹いっぱい。:2008/06/24(火) 01:03:31
バイナリパッケージの話は
別板なり各OS/ディストリのスレなりの方がいいと思うよ。
プラットフォーム固有の話かどうか完全に切り分けできないでしょ。
810名無しさん@お腹いっぱい。:2008/06/24(火) 10:13:08
なんか日記になってる
811名無しさん@お腹いっぱい。:2008/06/27(金) 21:58:22
OSはWindows2000で、

アパッチwin版をこのまえ
インストールしたんだけど、
今は起動してないはずなんだけど、
Windowsタスクスマネージャーで見ると、
プロセスのところで、
httpd.exe
ってのがあるんだけど、これって
自分が気づけてないだけで、実は
httpdが、ようするにアパッチが影で
起動しちゃってるってこと?
どうやって確認すればいいの?
812名無しさん@お腹いっぱい。:2008/06/27(金) 23:18:07
板違い
813名無しさん@お腹いっぱい。:2008/06/28(土) 17:44:02
気違い
814名無しさん@お腹いっぱい。:2008/06/28(土) 17:48:40
人違い
815名無しさん@お腹いっぱい。:2008/06/28(土) 18:29:35
メルコ違い
816名無しさん@お腹いっぱい。:2008/06/28(土) 18:33:13
勘違い
817名無しさん@お腹いっぱい。:2008/06/29(日) 02:09:24
UNIX板で聞いても判る人少ないだろ
サービスとかその辺りじゃね?
818名無しさん@お腹いっぱい。:2008/06/29(日) 12:20:54
UNIX板は誤字の指摘は得意だぞ。
× アパッチが影で
○ アパッチが陰で
819名無しさん@お腹いっぱい。:2008/07/01(火) 15:35:28
アッーパチ
820名無しさん@お腹いっぱい。:2008/07/01(火) 19:40:47
ガチムチHTTPサーバ

いったい何をサービスするのやら
821名無しさん@お腹いっぱい。:2008/07/06(日) 11:30:44
Apache の起源は韓国ニダ
822名無しさん@お腹いっぱい。:2008/07/10(木) 03:21:33
apache2.2+mod_layout5.1で LayoutIgnoreTag が効かない
バグだれか直してくれ。
パッチ誰か出してくれ。
おながい
823名無しさん@お腹いっぱい。:2008/07/19(土) 03:23:10
質問です。
solaris(euc)→fedora(utf-8)へ、webファイルを移動した場合、
自動でそのファイルやフォルダの文字コードが変更されるのでしょうか?

winXP(s-jis)htmlはwebでみる際s-jis設定でこのhtmlをfedora(utf-8)へsambaで移動の場合、
自動でエンコードされてるらしく文字化け無しでした。
移動したhtmlをwebで見るとs-jisで文字が表示してました。
この場合大丈夫でしたが、solaris(euc)からfswikiをfedora8へ移動しても勝手にutf-8に
変更してくれるのでしょうか?

824名無しさん@お腹いっぱい。:2008/07/20(日) 16:55:37
質問です。
apacheって何て言うの?
ソフト?アプリケーション?デーモン?
たぶん全部正解だと思うけど専門家の間では一般的に通常何が正解でしょうか?
825名無しさん@お腹いっぱい。:2008/07/20(日) 17:03:19
うちらは鯖ソフト、と呼ぶことが多いかな。きっと方言だろうから、あんまり確信があっての
呼び方じゃない。システム管理上の会話では、httpd と呼んでる。
826名無しさん@お腹いっぱい。:2008/07/20(日) 17:19:53
普通に、サービスだろ。
827名無しさん@お腹いっぱい。:2008/07/20(日) 17:39:25
普通に、アパッチでしょ。
828名無しさん@お腹いっぱい。:2008/07/20(日) 17:42:44
ハードウェアとの対比で言えばソフトウェアだし
OSとの対比で言えばアプリケーションだし
普通フォアグラウンドで使うプログラムに対比させればデーモンだよな
829名無しさん@お腹いっぱい。:2008/07/20(日) 17:48:44
あえて選ぶなら、ソフトウェアだと思う。
UNIXやLinuxではアプリって言い方しないし(kernel以外全部アプリだし)
apacheのパッケージに入っているのはデーモンやサービスだけじゃないし、
間違いないのはソフトウェア。多分。
830名無しさん@お腹いっぱい。:2008/07/20(日) 17:49:17
よく、「サービスのことを*nixではデーモンと呼ぶ」みたいな言い方する人が居るけど
それって違うよね。

例えば、同じhttpのサービスでも、TUXみたいにカーネル内で動作するものや
IIS6のhttp.sysみたいに(見た目)ドライバのように動作するものもある。
その中で、常駐の方法としてdaemonizeするサービスのことをデーモンと呼ぶだけ。
831名無しさん@お腹いっぱい。:2008/07/20(日) 17:53:23
で?
832名無しさん@お腹いっぱい。:2008/07/20(日) 18:09:41
apache(の主機能)はサービス。
デーモンと呼ぶ奴はアホ。
833名無しさん@お腹いっぱい。:2008/07/20(日) 18:10:54
やば、絶対反論が来るのが予想できる。
834名無しさん@お腹いっぱい。:2008/07/20(日) 22:44:46
漏れもサーバソフトだなぁ。ただまぁ、世間的にはミドルウェアと
呼ばれてしまっていることが多いね。ハァ?と思うが、ミドルウェアらしい・・・・・・・

デーモンっつーのは、httpd(8) などのプロセスの元になるプログラムや、
常駐するという意味での実行形態をを指してると思う。
835名無しさん@お腹いっぱい。:2008/07/21(月) 11:08:39
サービスっていうと、何かを提供するものってイメージかなー
私の周りだと、Webサーバソフトかな。
836名無しさん@お腹いっぱい。:2008/07/21(月) 11:38:53
>>834
ミドルウェアで違和感無いんだけど、逆にミドルウェアという守備範囲は何を指すの?
837名無しさん@お腹いっぱい。:2008/07/21(月) 14:24:01
マジでミドルウェアって呼ぶコミニティってあるの?
普通にサーバアプリ、デーモンじゃないの?

apacheがミドルって、どことどこの層のミドルを指すんだよ。
スタンドアロンでも当たり前に動作されているだろうよ。
838名無しさん@お腹いっぱい。:2008/07/21(月) 14:32:55
スタンドアローンで動いてるミドルウェアはたくさんあると思うが?
839名無しさん@お腹いっぱい。:2008/07/21(月) 14:33:38
apacheは紛れもなくミドルウェアであるけど、開発側がそれをいうことはあまりないだろうがなw
840名無しさん@お腹いっぱい。:2008/07/21(月) 14:37:33
>>832
うむ。
Postfixデーモンっていったら、間違いなく笑われるよね。
841名無しさん@お腹いっぱい。:2008/07/21(月) 14:52:54
Webプログラマーからみたらミドルウェア。
842名無しさん@お腹いっぱい。:2008/07/21(月) 15:25:03
>>837
コミュニティは知らんが、会社ではミドルウェア呼ばわりされてる。
下はOS、上に載っかるのはWebアプリや静的コンテンツだな。
843名無しさん@お腹いっぱい。:2008/07/21(月) 16:05:21
ミドルウェア apache とかでググって見れば分かるぞw
postfix やら bind やら RDBMS やら、みーんなミドルウェアさ。
844名無しさん@お腹いっぱい。:2008/07/21(月) 16:27:28
OSでもなくてフロントエンドアプリでもなければ
とりあえずミドルウェアって呼んどくのかなあ
アンチウイルスとか監視系は別なのかな
845名無しさん@お腹いっぱい。:2008/07/21(月) 16:41:29
クロスプラットフォームのためのライブラリなんかも、ミドルウェアだな。
846名無しさん@お腹いっぱい。:2008/07/21(月) 16:46:38
perl とか php でつくった掲示板とかはなんて呼ぶの? Webアプリケーション?
847名無しさん@お腹いっぱい。:2008/07/21(月) 16:52:57
Webアプリケーションってのに慣れるのも時間がかかったな
848名無しさん@お腹いっぱい。:2008/07/21(月) 16:53:16
CGI(笑)
849名無しさん@お腹いっぱい。:2008/07/21(月) 20:49:57
>>846 底辺アプリ
850名無しさん@お腹いっぱい。:2008/07/22(火) 07:12:35
>>824の質問に対する回答は「ミドルウェア」という結論でおk?
851名無しさん@お腹いっぱい。:2008/07/22(火) 08:53:32
どこをどう読んだらそうなる
強く納得できる理屈が無いだろ
852名無しさん@お腹いっぱい。:2008/07/22(火) 09:13:45
ライブラリやフレームワークみたいな縁の下の力持ちみたいな層をミドルウェアと呼ぶのは理解できる。
しかし、apacheはあまりに主体性がありすぎる。フロントエンドと呼ぶべきじゃないのか。
853850:2008/07/22(火) 13:15:55
>>852
いや、漏れもそういう認識なんだけどね。
世間的にはミドルで通ってるっぽいじゃん?
854名無しさん@お腹いっぱい。:2008/07/22(火) 14:29:39
apache がフロントエンドはないだろw
855名無しさん@お腹いっぱい。:2008/07/22(火) 14:54:14
わかった。見切った。
apacheはapacheなんだ。
これで解決。
856名無しさん@お腹いっぱい。:2008/07/22(火) 14:55:50
そうだな。
他の呼び方を求めること自体が愚問なんだな。
857名無しさん@お腹いっぱい。:2008/07/22(火) 15:56:01
基本ソフトウェア、応用ソフトウェアと来たら、やっぱり中間ソフトウェアなんかね?
858名無しさん@お腹いっぱい。:2008/07/22(火) 18:06:54
分離できないOSバンドルソフト以外は全部応用だろうが。
859名無しさん@お腹いっぱい。:2008/07/22(火) 21:01:46
IEは基本かぁ
860名無しさん@お腹いっぱい。:2008/07/22(火) 21:09:46
ブラウザ=ネット時代のコマンドプロンプトと捉えれば
確かに基本ソフトかも知れん。
861名無しさん@お腹いっぱい。:2008/07/22(火) 21:12:50
そういう見方をすると、Webアプリがハッテンする程に
ブラウザはミドルウェアに近くなる。
862名無しさん@お腹いっぱい。:2008/07/22(火) 21:44:31
ミドルウェアにとどまらず、
基本ソフトに近くなるといったほうがいいのでは。
863名無しさん@お腹いっぱい。:2008/07/22(火) 21:44:53
どーでもいいよ
864名無しさん@お腹いっぱい。:2008/07/22(火) 21:49:37
考えてみた。

     Webアプリ
ブラウザ--------Apache
  OS         OS

とapacheの位置づけはブラウザと同じレイヤということで、
ブラウザが基本ソフトならapacheも基本ソフト、ということになるか。

でもまだ完全体になってないので現状ミドルウェア、
と言われれば納得感があるかも。
865名無しさん@お腹いっぱい。:2008/07/22(火) 21:53:50
団体の名称である
866名無しさん@お腹いっぱい。:2008/07/23(水) 14:54:02
apache って、もう精錬されすぎ枯れすぎでネタ切れ? 空気みたいなもんだな。
フレームワークやらAjaxやらそっちの方がアレコレややこしい。
867名無しさん@お腹いっぱい。:2008/07/23(水) 14:59:38
prototype.js みたいのは何と定義する?
ミドルウェアかしら。
すると送り出すapacheは何かしら。
868名無しさん@お腹いっぱい。:2008/07/23(水) 16:47:44
>>867 普通にライブラリだと思うが。
869名無しさん@お腹いっぱい。:2008/07/25(金) 08:56:08
CentOS5.2で、apache2.2.3のsrc.rpmからspecファイルを編集してコンパイルしなおして
やっと/home以下でsuEXECが使えるようにはなったんですが、
これって、virtualhostディレクティブ内でsexecUserGroupでユーザー/グループを指定する時に、
特定のディレクトリだけは別ユーザー権限で実行、というように<Directory>内で使うのは許されてないようです。
(apache起動中に怒られる)

これをどうにか<Directory>内で使いたいのですが、良い方法がないでしょうか。
調べるとsuexec.cにパッチを当てると可能のようですが、2.2.3の場合の方法がさっぱりわかりません。
870名無しさん@お腹いっぱい。:2008/07/25(金) 16:35:25
>>869
できない。各ディレクティブにはコンテキストというものがあって、
suEXEC 関連は <VirtualHost> 内でのみ書ける。
http://httpd.apache.org/docs/2.0/ja/mod/mod_suexec.html#suexecusergroup
これはセキュリティ上の理由でもある。

どうしてもディレクトリ単位でやりたいのなら、mod_userdir と合わせて
/~username/ 形式の URI だったらできる。さらに mod_rewrite で URI を
書き換えれば見かけ上は /username/ にできると思う(多分)。
871名無しさん@お腹いっぱい。:2008/07/26(土) 00:11:33
ちょっと質問させてください。
.cgiファイルをテキストファイルとして開きたい。

AddType text/plain .cgi
これを.htaccessに追加したのですがcgiとして開いてしまいます。
テキストファイルとして開くにはどうしたらいいでしょうか?
872名無しさん@お腹いっぱい。:2008/07/26(土) 00:25:46
873名無しさん@お腹いっぱい。:2008/07/26(土) 00:31:03
それをいうならRemoveHandlerだろ
874871:2008/07/26(土) 00:34:48
.htaccessにどう書いたらよいのでしょうか?...
875名無しさん@お腹いっぱい。:2008/07/26(土) 00:36:52
RemoveHandler .cgi

しかし.htaccessを使う深い理由はあるのか?
876名無しさん@お腹いっぱい。:2008/07/26(土) 00:51:23
レン樽鯖?
877871:2008/07/26(土) 10:25:33
お返事遅くなりました。
>>872-875さんありがとうございます。
>>876そうです。それとディレクトリごとに設定を分けるときも楽じゃないですか?

あともう1つだけ質問させてください。
.shもテキストファイルとして開きたいと思っています。
これがどうしてもテキストファイルとして開けません。
どうかよろしくお願いします。
878名無しさん@お腹いっぱい。:2008/07/26(土) 11:51:43
.cgi と同じだよ。Remove の意味を考えれば分かるだろ?
879名無しさん@お腹いっぱい。:2008/07/26(土) 12:13:42
>>79
>::1 - - [21/Jul/2007:23:27:18 +0900] "GET / HTTP/1.0" 302 3
>00 "-" "Apache/2.2 (internal dummy connection)"

>といったログが1分間に50行くらい出て、そのままサーバーごとダ
>ウンしてしまう事が
>多いのですが、何か対策法ありませんか?
>DebianのパッケージのApache2.2.3を使っています。

おー、おなじあるよ。
とりあえず、サーバの構成教えてちょ
880名無しさん@お腹いっぱい。:2008/07/26(土) 13:17:18
881871:2008/07/26(土) 13:19:05
>>878
いえ、cgiはうまくいったのですがshはダウンロードダイアログが出てしまいます。
RemoveHandler .sh これでいいんですよね?
違うのかな...orz
882871:2008/07/26(土) 17:52:04
shファイルはテキストファイルとして表示することは出来ないのでしょうか?...orz
883名無しさん@お腹いっぱい。:2008/07/26(土) 18:06:21
AddType text/plain .sh
頼むからドキュメント読んで自分で考えようという姿勢を持ってくれ
884871:2008/07/26(土) 18:13:34
>>883
>AddType text/plain .sh
>頼むからドキュメント読んで自分で考えようという姿勢を持ってくれ

すみません。
それは最初にやったのですが、改行されません。
テキストファイルと同じように表示したいのですが...orz
885名無しさん@お腹いっぱい。:2008/07/26(土) 18:24:24
IEを捨てることだ。
886871:2008/07/26(土) 18:29:09
>>885
ありがとう。たしかにFireFoxではちゃんと表示されました。
これはIEの仕様なので諦めろってことでしょうか?...orz
887名無しさん@お腹いっぱい。:2008/07/26(土) 19:25:44
さよう。
888名無しさん@お腹いっぱい。:2008/07/26(土) 20:21:12
ひょっとしてOutputFilterで改行コードCRLFに変換すれば問題ない?
889名無しさん@お腹いっぱい。:2008/07/26(土) 21:19:17
IEに聞け。
890871:2008/07/26(土) 22:53:56
>>888
改行コードはCR,LF,CR+LFを試してみましたがだめでした...orz
891名無しさん@お腹いっぱい。:2008/07/26(土) 23:18:57
>>884 の「改行されません」って、「改善されません」のtypoだろ?
その後、なぜか本当に「改行」の話と誤解して話が進んでるのでワロタ。
892名無しさん@お腹いっぱい。:2008/07/26(土) 23:20:25
こういう事 → http://d.hatena.ne.jp/boscono/20070805/p1
webprog板かweb作成板向きな話題だな。既にApacheとは全然関係ない。
893名無しさん@お腹いっぱい。:2008/07/26(土) 23:53:26
改善じゃないでしょ
間違いではなく改行されないんでしょ
894871:2008/07/27(日) 02:49:32
>>892>>893
レスありがとうございます。
でも.txtファイルやその他不明なファイル(例えば拡張子.2chをIEで開くとちゃんと改行されます。
ですが.shや.cgiは改行されません。
最初はAddType text/plainを設定するだけでテキストファイルと同じように開けると思ってました。
これはIEだけの問題でしょうか?Apacheの設定でいけると思うのですが
マニュアルと格闘しても非力な自分にはなかなか解決できず...orz
895名無しさん@お腹いっぱい。:2008/07/27(日) 09:52:54
しつけーな、IEだけの問題だって言ってんだろ。Apacheの設定じゃ解決できん。
どうしてもサーバーサイドで解決したいなら、そのファイルの先頭に1000行くらい空行入れろ。
896名無しさん@お腹いっぱい。:2008/07/27(日) 12:28:14
>>894
>>892さんが言っているけど要はブラウザがそのコンテンツを何と認識するか、ってことが重要で。
たとえばだけど cgi や .sh をテキストとして開くcgiを書くってのじゃダメなのかな?
セキュリティ的な危険(ファイルの指定方法によっては意図しないファイルも覗けちゃったり)を伴うから注意してやらないとダメだけど。
897名無しさん@お腹いっぱい。:2008/07/27(日) 13:24:20
CGI(サーバーサイド)じゃ解決出来ねーって言ってんだろ。池沼
898名無しさん@お腹いっぱい。:2008/07/27(日) 14:19:07
IEのContent-Type無視とか、もう今更って感じで
IE使いたいなら、それで構わないけど、他のブラウザ強要はしねえし

しかし、それを知った上で、IEを使ってもらいたいね、使うんならば
899871:2008/07/27(日) 16:41:51
サーバーサイドのapacheで、このファイルはcgiだの
txtファイルだのを判別してると思っていたのですが
そうじゃないってことですか?
勉強不足でした。もっと勉強してきます。皆様ありがとうございました。
900名無しさん@お腹いっぱい。:2008/07/27(日) 16:45:07
判別してブラウザに教えてあげてるのに、IEが無視するんだろw
901名無しさん@お腹いっぱい。:2008/07/27(日) 19:37:37
URLの拡張子ぽい所を変えるのが早そうな
902名無しさん@お腹いっぱい。:2008/07/28(月) 11:50:32
mod_ext_filter って使っている人いますか?
リクエストヘッダやレスポンスヘッダは参照・変更できないよね、これ?
手軽に Cookie をあれやこれやしたいと思ったのですが…。
903名無しさん@お腹いっぱい。:2008/07/28(月) 12:10:06
mod_header じゃダメなん?
904902:2008/07/28(月) 13:48:23
>>>903 ありがとうございます。

Cookie の内容を判定して、等、少しだけ複雑な処理にしたいです。
セッションIDがここに記録されていたら、
なんていうことは mod_headers 単体では難しそうです。
905名無しさん@お腹いっぱい。:2008/07/28(月) 14:01:35
rewrite
906名無しさん@お腹いっぱい。:2008/07/28(月) 14:40:57
>>904
mod_includeにヘッダ周りを適当に書き出させてから
mod_ext_filterで本処理なんて面白い事を可能にできるのがフィルタ。
遅くなるけどw
907名無しさん@お腹いっぱい。:2008/08/05(火) 16:42:47
Apacheが起動に失敗する原因をログに吐かせて調べたいのですがどうすれば?
apachectl configtestで構文エラーはないのに起動しなくて、かつ画面には[失敗]としか
出ないのでちょっとへこんでます。
起動さえすればログを見られるのですが。
908名無しさん@お腹いっぱい。:2008/08/05(火) 16:57:43
Linux板で聞いた方がいいんじゃね
909名無しさん@お腹いっぱい。:2008/08/05(火) 19:24:55
>>907
error_logを知らんのか??
910名無しさん@お腹いっぱい。:2008/08/06(水) 05:46:32
[失敗]

locale設定が日本語の香具師多いな・・・
911907:2008/08/06(水) 15:41:32
>>909
レスありがとうございます。
error_log にも出ていないのです。ログレベルを変えると何か出るのでしょうか。

ErrorLog logs/error_log
#LogLevel warn
LogLevel debug

こんな感じにして再度トライしてみます・・ありがとうございました
912名無しさん@お腹いっぱい。:2008/08/06(水) 15:47:05
>>907
apachectl start
ってやると[失敗]と出るの?
913名無しさん@お腹いっぱい。:2008/08/06(水) 16:33:53
いえ
[failed]と、でてます。
914名無しさん@お腹いっぱい。:2008/08/06(水) 16:42:08
ほんとにapachctl?
OSは何?
915907:2008/08/06(水) 18:27:11
913は騙りです。913さんは僕をからかっても得るものなんて無いでしょうに・・・

>>912
OSはCent OS 5 (Red Hat Enterprise Linux 5 のクローン)です。
apacheのバージョンは2.2.3です。
普段は service httpd start/stop などの起動スクリプトを利用しており、
service httpd start としたときに [失敗] と出ます。

apachectl コマンドの場合は、起動は -k オプションのようなので、その通りに
apachectl -k start としても無反応です。

916名無しさん@お腹いっぱい。:2008/08/06(水) 18:37:31
service うんぬんは OS 依存の話だから >>908 で。
917名無しさん@お腹いっぱい。:2008/08/06(水) 18:51:27
直接 httpd -X で起動してみれば良い。
918907:2008/08/06(水) 19:07:53
>Linux板
そうですね・・スレ汚し、失礼しました。
レスくださってありがとうございました。
919名無しさん@お腹いっぱい。:2008/08/06(水) 20:34:43
綺麗好きな漏れ

#!/bin/sh
LC=`locale | cut -d = -f 1`
for lc in $LC; do unset "$lc"; done
env - PATH="/bin:/usr/bin" /usr/local/apache2/bin/apachectl start
920名無しさん@お腹いっぱい。:2008/08/06(水) 22:38:38
>>919
djb 信者ですね。わかります。
921名無しさん@お腹いっぱい。:2008/08/07(木) 11:06:22
env - PATH=... で起動するのは常識だよ。
これをやらんと CGI に妙な環境変数が渡ってしまう。
922名無しさん@お腹いっぱい。:2008/08/07(木) 11:20:43
>>919
結局 env - ですべての環境変数が消えるのに、
$LCだけ個別にunsetしてるのは何故?
envの実行時にLC_HOGEが設定されてるとまずいの?
923名無しさん@お腹いっぱい。:2008/08/07(木) 12:09:16
しかも、forループ回さなくても unset $LC で一発なのに。
924名無しさん@お腹いっぱい。:2008/08/07(木) 12:19:22
>>923
(゚Д゚)ハァ?
$ unset $LC
$ env | grep LC
LC_CTYPE=ja_JP.eucJP
925名無しさん@お腹いっぱい。:2008/08/07(木) 12:46:12
>>924
何ボケてんだよwww
>>923 が言ってるのは、「for文」の部分が「unset $LC」で一発って言ってるんだよ。

LC=`locale | cut -d = -f 1`
unset $LC
926名無しさん@お腹いっぱい。:2008/08/07(木) 16:07:30
お前らこそUNIX板逝けよ
927名無しさん@お腹いっぱい。:2008/08/07(木) 16:12:06
>>919
綺麗好きならシェルも奇麗にしようね。
>>922 が言うように、env - するならそれ以外の unsetは不要。
あと、最後のコマンドは execで起動するのがシェルの定石。
それと、不要なダブルクォートも取っておこう。


#!/bin/sh
exec env - PATH=/bin:/usr/bin /usr/local/apache2/bin/apachectl start
928名無しさん@お腹いっぱい。:2008/08/07(木) 16:16:01
" " はあった方が見易くて好きだな。
exec するべきかどうかは場合によるでしょ。
929名無しさん@お腹いっぱい。:2008/08/09(土) 02:24:18
Apache+PHP環境のセキュリティについて質問です。
Apacheの実行ユーザに重要なファイルのアクセス権限を与えることはセキュリティ上問題ないのでしょうか?
例えば、PHPでセッションを生成するとサーバにApacheの実行ユーザがアクセスできる権限でセッションファイルが作成されます。
全てのセッションファイルがApacheの実行ユーザからアクセスできるため、
何らかの方法でApacheの実行ユーザを利用して全く関係ない人のセッションファイルが覗かれたりすることはないのでしょうか?

よろしくお願いします。
スレ違いだったら申し訳ありません。
930名無しさん@お腹いっぱい。:2008/08/09(土) 09:00:17
通常はApache実行ユーザは、権限の低い nobodyなどになっているはずです。
そのユーザではサーバにログインできない設定になっているので、そのような心配は無用かと。
931名無しさん@お腹いっぱい。:2008/08/09(土) 09:03:08
大有り。
セキュリティ上重要な情報があるなら、共有サーバーは使用しない。これが唯一の解。
932名無しさん@お腹いっぱい。:2008/08/09(土) 10:46:14
>>929
mod_suphp
933名無しさん@お腹いっぱい。:2008/08/09(土) 16:11:27
>>930
>>931
>>932

皆さんお答えありがとうございます。
今回は共有サーバではなく、専用サーバにサービスを構築することを想定しているので、
サーバ管理者以外のユーザがスクリプトを作成し、
他のユーザが作成した重要なファイルなどを覗くということはないと考えています。
わかりにくくてすみません。

apacheの実行ユーザになりすまされたり、実行ユーザが乗っ取られることにより、
セッションファイルなどの重要なファイルが覗かれたりしないかどうかが気になっています。
このレベルのセキュリティはapacheというよりも、サーバ自体のセキュリティの問題ですかね・・・?
934名無しさん@お腹いっぱい。:2008/08/09(土) 20:46:37
今日までApacheの読み方をアパッシェだと思っていた。
うん、それだけ。
935名無しさん@お腹いっぱい。:2008/08/10(日) 11:45:23
それは報告しなくていいです。
936名無しさん@お腹いっぱい。:2008/08/10(日) 14:14:20
セッション情報を読み書き出来ないウェブプログラムに、どんな意味が!w
ウェブサービスに関係無いファイルなら、アクセス出来ない様にすれば
937名無しさん@お腹いっぱい。:2008/08/12(火) 20:48:34
こんな感じで
FQDN分だけ <VirtualHost></VirtualHost>設定するのではなく、
一つの<VirtualHost></VirtualHost>だけで
複数のFQDN対応する記述の仕方がどこかで紹介されてたのですが、
忘れてしまいました。

どなたかお助けを。

938937:2008/08/12(火) 21:01:04
肝心の部分が抜けてた・・・・
再投稿させてください。。。

<VirtualHost *:80>

DocumentRoot /www/example1
ServerName www.example.com

# Other directives here


</VirtualHost>

<VirtualHost *:80>

DocumentRoot /www/example2
ServerName www.example.org

# Other directives here


</VirtualHost>

こんな感じで
FQDN分だけ <VirtualHost></VirtualHost>設定するのではなく、
一つの<VirtualHost></VirtualHost>だけで
複数のFQDN対応する記述の仕方がどこかで紹介されてたのですが、
忘れてしまいました。

どなたかお助けを。

939名無しさん@お腹いっぱい。:2008/08/12(火) 22:10:48
>>938
serveraliasか?
940名無しさん@お腹いっぱい。:2008/08/13(水) 00:54:02
どこかでって言うけどさ、
まず最初に見に行くべきとこがあるでしょ。
941名無しさん@お腹いっぱい。:2008/08/13(水) 03:23:59
mod_vhost_alias
942名無しさん@お腹いっぱい。:2008/08/13(水) 17:41:07
>>938
<VirtualHost> を1個しか書かなきゃ、マッチしなかったリクエストは
全部その <VirtualHost> に逝くね。
確実にやりたいなら、ServerAlias で1個ずつ書くとイイ。
943名無しさん@お腹いっぱい。:2008/08/13(水) 18:20:53
mod_rewriteでのVirtual Hostのマッピングの話じゃないの?
944名無しさん@お腹いっぱい。:2008/08/13(水) 21:49:44
CentOS5.2 / メモリ4GB環境に
Apache2.2.9 入れて prefork / ServerLimit 100 で動かしたんだけど
起動から数時間でapcheがメモリとスワップ食い尽くしてしまう。
sar/vmstat/topで監視してても、なにかの拍子に突然津波のようにリソース食いだして
ものの1分くらいでスワップ埋まって暴走しちゃうから病原のプロセスが特定できない。
(CGIとかはFedora3環境で正常で動いてたものをそのまま移動)
なにが考えられるかな?
945名無しさん@お腹いっぱい。:2008/08/13(水) 23:42:48
>>944
とりあえずアクセスログを見て、変なリクエストが来てないか確認。
問題解決までの時間稼ぎとしては、apache の起動スクリプトで

ulimit -v 20480
/usr/local/apache2/bin/apachectl start

などとする。
946名無しさん@お腹いっぱい。:2008/08/14(木) 22:11:02
>>945
ありがとう
ulimit -v と -m かけて起動してみた
再現するまで様子みてみます。
947名無しさん@お腹いっぱい。:2008/08/15(金) 06:36:55
いや、リミット掛けると制限超えたプロセスは即殺されるんで、それだけだと
再現してるかどうか分からないよw

↓のスクリプトを実行して放置してみてくださいな。1秒ごとに ps を実行して
20MB を超える httpd があれば出力する。あと httpd.conf の LogFormat に
%p を追加すれば PID が記録されるんで、それと合わせて何か分かるかも。

#!/usr/bin/perl
use strict;
my $max = 1024 * 20;
for (;;) {
 foreach (`/bin/ps ax -o pid,vsize,ucmd`) {
  s/^\s+//;
  my ($pid, $vss, $ucmd) = split(/\s+/);
  if ($ucmd eq 'httpd' && $vss >= $max) {
   my ($mon, $day, $h, $m, $s) = (localtime(time))[4,3,2,1,0];
   printf("time=[%s], pid=%d, vss=%d\n",
    sprintf("%02d/%02d %02d:%02d:%02d", $mon+1, $day, $h, $m, $s),
    $pid, $vss);
  }
 }
 sleep 1;
}
948名無しさん@お腹いっぱい。:2008/08/15(金) 09:59:04
なにこの汚いコードは?
949名無しさん@お腹いっぱい。:2008/08/15(金) 11:37:09
>>948
なるべく少ない行数にまとめた結果でございます。Perl はこんなもんですw
sh で書くよりこの方が動作が早いんで。
950名無しさん@お腹いっぱい。:2008/08/15(金) 15:06:47
それにしても目が痛い
951名無しさん@お腹いっぱい。:2008/08/15(金) 18:36:42
むしろ見やすいし読みやすいコードだろ
948=950は頭おかしいんじゃないの?
952名無しさん@お腹いっぱい。:2008/08/15(金) 19:55:08
どうでもイイと思いつつ書き直してみた。Perl だとどうしても記号が多くなるからなぁ・・・・
このスクリプトに追加して gdb -p $pid とかやって core 吐かせることも可能ですお。

#!/usr/bin/perl
use strict;
my $max = 1024 * 20;
while (sleep 1) {
 foreach (`/bin/ps ax -o pid,vsize,ucmd`) {
  s/^\s+//;
  my ($pid, $vss, $ucmd) = split(/\s+/);
  if ($ucmd eq 'httpd' && $vss >= $max) {
   printf("time=[%s], pid=%d, vss=%d\n", tstamp(), $pid, $vss);
  }
 }
}
sub tstamp {
 my ($mon, $day, $h, $m, $s) = (localtime(time))[4,3,2,1,0];
 return(sprintf("%02d/%02d %02d:%02d:%02d", $mon+1, $day, $h, $m, $s));
}
953名無しさん@お腹いっぱい。:2008/08/15(金) 21:14:14
このぐらいにまとめられるJK

#!/usr/bin/perl
use strict;
use POSIX;
do {
 foreach (`/bin/ps ax -o pid,vsize,ucmd`) {
  s/^\s+//;
  my ($pid, $vss, $ucmd) = split(/\s+/);
  if ($ucmd eq 'httpd' && $vss >= 20480) {
   my $tstamp = ctime(time);
   chomp($tstamp);
   printf("time=[%s], pid=%d, vss=%d\n", $tstamp, $pid, $vss);
  }
 }
} while (sleep 1);
954名無しさん@お腹いっぱい。:2008/08/15(金) 21:37:25
クソスレの悪寒
955名無しさん@お腹いっぱい。:2008/08/15(金) 22:54:35
すごい!!
さっそく%Pいれて、ただいたスクリプト走らせながら犯人が現れるのを張り込みしています
犯人のPIDの取得方法がわからなかったのですが、ログ残せるんですね

それと昨日まではulimitが問題なく使えたのですが
apacheを再起動したところ

/usr/local/apache2/bin/apachectl: line 78: 10178 セグメンテーション違反です $HTTPD -k $ARGV

のエラーが出て起動すらしなくなってしまました。
ulimit -vか-mをunlimitedにすれば問題なく起動するのですが。

それと昨日topのmしていたら、ハング直前にこんなプロセスが発生することを発見
8932 apache 18 0 2811m 2.1g 1.0g D 2 53.8 0:03.99 httpd
8038 apache 18 0 2811m 2.1g 1.0g D 3 53.7 0:03.55 httpd
7762 apache 16 0 37044 22m 2724 S 0 0.6 0:00.76 httpd
・・・・

RLimitMEM 400000000してるのですが、、1プロセス2.1Gって・・・
956名無しさん@お腹いっぱい。:2008/08/15(金) 23:06:49
あ、ごめん。%p じゃなくて %P だったか。
んでもって、起動しただけでいきなり SEGV ってのはおかしいね。どんな
インスコして、どんなモジュール使ってる?
ulimit の値を少しずつ大きくしてコケない値を探してみると何か分かる・・・・かなぁ?

RLimitMEM は実行される CGI への制限であって、httpd 自身への制限ではないよ。
httpd への制限をするには ulimit すべし。
957名無しさん@お腹いっぱい。:2008/08/15(金) 23:15:41
よく見たら 7762 のプロセスもデカいね。mod_php とか mod_perl とか入れてる?
958名無しさん@お腹いっぱい。:2008/08/16(土) 00:03:20
>>953
下手くそ
959名無しさん@お腹いっぱい。:2008/08/16(土) 01:22:25
>>956
./configure --enable-module=so --enable-rule=SHARED_CORE --enable-rewrite --enable-ssl \
--with-dom --with-zlib-dir

configure: WARNING: Unrecognized options: --enable-module, --enable-rule, --with-dom, --with-zlib-dir
を無視してmakeしてます
(まさかコレがまずい!?)

いただいたソースをもとに100M超えたら携帯にメールしてそのプロセスを殺すようにしたので
とりあえずulimitなしでいってみます
960名無しさん@お腹いっぱい。:2008/08/16(土) 02:31:04
>>959
> configure: WARNING: Unrecognized options: --enable-module, --enable-rule, --with-dom, --with-zlib-dir
> を無視してmakeしてます
>>746
961名無しさん@お腹いっぱい。:2008/08/16(土) 04:16:19
>>959
"--with-dom --with-zlib-dir" はphp の configure パラメータでないか?

"--enable-module=so --enable-rule=SHARED_CORE" は、 --enable-so でいいのではないかなぁ

参考:
 ttp://www.php.net/manual/ja/install.unix.apache2.php
 ttp://httpd.apache.org/docs/2.2/programs/configure.html
962961:2008/08/16(土) 04:22:40
で、意図するところは、
./configure --enable-so --enable-rewrite --enable-ssl

でいいかと。
ただ、無効なオプションは無視されているので、いまのままでも実害はないと思う。

>>957 さん指摘のとおり、mod_php (というか php プログラム)が原因になっていたりしない?
963名無しさん@お腹いっぱい。:2008/08/16(土) 06:10:41
ありがとー
さきほど
./configure --enable-so --enable-rewrite --enable-ssl
でmakeしなおしました。

それでさきほど
time=[08/16 04:29:45], pid=16093, vss=2880428
で反応がありました。

access_logによるとPID 16093は4:27:39から04:29:38までの38アクセス
すべて200と304で正常に処理が終了してました
うちGETが37、phpへのPOSTが1
POSTのあったphpは頻繁にアクセスのあるもので、問題に疑いのないプログラムです。
error_log、messagesに特に目だったエラーなし。
vss=は徐々に食っていったわけでなく、唐突に2GBめいいっぱい食ったようです
どうやら、おかしなcgiやphpを実行しているというわけではないような・・
964名無しさん@お腹いっぱい。:2008/08/16(土) 12:36:08
一度では分からないから、そのまま継続すべし。
5回ぐらい際限した後で共通点を探るのがセオリーでつ。
965名無しさん@お腹いっぱい。:2008/08/16(土) 12:40:27
×際限 ○再現
966名無しさん@お腹いっぱい。:2008/08/16(土) 13:43:39
最後のアクセスからアラームまで7秒もあるのか・・・・
そこまで時間差があるなら、最後のリクエストが怪しいな
悪意の有無は関係なく、どっかで制御を誤って無限ループしてる悪寒
967名無しさん@お腹いっぱい。:2008/08/18(月) 03:15:40
>>963です
24時間たったけどいまのところ問題起きてません
これまで12時間に2〜4回は発生していたので、もしかしたら本当にconfigureが原因だったのかもしれません
もう一度誤ったconfigureしたものに戻せば検証できるのですが、
いまのところ安定しているのでこのまま様子みつづけてみます
助かりました。みんなありがとー
968名無しさん@お腹いっぱい。:2008/08/18(月) 15:19:40
特に理由がない限り漏れいっつもこんな感じだわ。

CFLAGS="-O2 -march=i686" \
./configure \
--prefix=/usr/local/apache2 \
--with-mpm=prefork \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--enable-proxy \
--enable-ssl

>>967の件はconfigure関係ないと思う。少なくとも1回は発生してるシナ。
969名無しさん@お腹いっぱい。:2008/08/26(火) 02:00:46
質問させてください。

cronでプログラムを自動実行させて、
RSSを利用してwebサイトから記事を取得し、
サーバ上のファイルに保存しておきたいのですが、
cronがうまくファイルを作成してくれません。
原因がわからないので、相談にのっていただけないでしょうか?

さくらインターネットのレンタルサーバを使用し、
cronの設定ではbashファイルを実行させています。
PHPのプログラムはブラウザでたたくときちんとファイルを作成してくれています。
ですが、cronで実行させるとファイルができません。
どのような原因が考えられますでしょうか?

970名無しさん@お腹いっぱい。:2008/08/26(火) 02:18:45
Apacheと関係なし
971名無しさん@お腹いっぱい。:2008/08/26(火) 02:24:46
ご、ごめんなさい・・・
どこで聞けばよい内容でしょうか?
FreeBSDでしょうか?
972名無しさん@お腹いっぱい。:2008/08/26(火) 02:27:09
レン樽鯖の「さくら」スレ
973名無しさん@お腹いっぱい。:2008/08/26(火) 02:28:16
あっちに来たら漏れが速攻で相手してやるよw
974名無しさん@お腹いっぱい。:2008/08/26(火) 02:34:18
>>972
さくらスレとはUNIX板ですか?
探してみます

>>973
さくらスレですか?
FreeBSDですか?
相手してください!
975名無しさん@お腹いっぱい。:2008/08/26(火) 02:35:10
>>972
あ、ごめんなさい。
レンタル鯖板ですね。
了解しました。
976名無しさん@お腹いっぱい。:2008/09/04(木) 08:50:48
要求された URL が複数の Location もしくは LocationMatch
ディレクティブにマッチするときのマージのされ方がわかりません。

<Location /aaa>A</Location>
<Location /aaa/bbb>B</Location>
<LocationMatch /.+>C</LocationMatch>

とした場合、/aaa/bbb/ccc が要求されると
A, B, C のうちどれがどの順番で適用されるのでしょうか?

具体的には /aaa であるハンドラを SetHandler で設定して、
/aaa/bbb に異なるハンドラを SetHandler で設定するような
ことが可能なのか、などです。
977名無しさん@お腹いっぱい。:2008/09/04(木) 09:14:01
978名無しさん@お腹いっぱい。:2008/09/04(木) 09:32:25
>>977
そこには Directory ディレクティブのマージについては
「短いほうから」とされているものの、Location ディレクティブ
および LocationMatch ディレクティブのマージについては
書かれていないので・・・
979名無しさん@お腹いっぱい。:2008/09/04(木) 11:07:18
マッチしたすべての Location, LocationMatch について
出現順に処理されるようですね。
980名無しさん@お腹いっぱい。:2008/09/04(木) 11:24:29
メクラ?
> <Directory> 以外は、それぞれのグループは設定ファイルに現れた順番に処理されます。
981名無しさん@お腹いっぱい。
ほんとだ.