1 名前:名無しさん@お腹いっぱい。 [2007/05/20(日) 11:21:54 ] HTTP ServerのApacheに関する話題を扱うスレッドです。 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以降) ●公式マニュアル httpd.apache.org/docs/1.3/ Apache 1.3 httpd.apache.org/docs/2.0/ Apache 2.0 httpd.apache.org/docs/2.2/ Apache 2.2 ●ディレクティブ一覧 httpd.apache.org/docs/1.3/mod/directives.html httpd.apache.org/docs/2.0/mod/quickreference.html httpd.apache.org/docs/2.2/mod/quickreference.html
89 名前:名無しさん@お腹いっぱい。 [2007/08/28(火) 16:29:30 ] Apache2.2 で導入されたキャッシュ機能の使用感はどんなもんでしょうか? ディスクキャッシュもメモリキャッシュも無いよりはあった方が良いという感じのようですが、 私が調べた限りでは以下の特徴があるように感じられます。 ディスクキャッシュは基本的にキャッシュが溜まるので削除する機能(htcachecleanなど)を導入する必要がある。 しかし、htcacheclean は ext3 に入れると重い上、管理が煩雑である。 メモリキャッシュは早いが物理メモリが許す範囲という上限がある。 管理は楽だが、複数のコンテンツを捌くリバースプロキシ向きではない。 まだ私は実際に使用していないのですが、どちらかの導入を検討しています。 (場合によっては用途ごとの使い分けを考えている。) 皆様がそれぞれのキャッシュ機能を使用した感想をお願いします。
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 17:33:39 ] 使ったことないけどさ、ドキュメントを読むかぎりでは 指定した URI を強制的にキャッシュから消すことってできないよね。 それじゃ使いものにならんね。性能をうんぬんする以前の問題。 キャッシュに残ってるコンテンツを今すぐ更新したい、という要望が 絶対にないと言いきれるのならいいかもしれんけど。
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 21:55:36 ] 指定したURLをキャッシュしない、ならできる
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 22:37:33 ] >>90 キャッシュフォルダを掃除すれば、できなくもないとも言える。
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 22:55:06 ] ディスクキャッシュ有効にしたら、キャッシュファイルが凄く深い階層のフォルダ&大量のファイルが作られるわ キャッシュ周りで挙動がおかしくなるわ散々だった
94 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 05:21:30 ] modssl マダー?
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 10:27:16 ] Apache Portable Runtime 1.2.11 Released こっちは元々の予定通りだったのかな?
98 名前:名無しさん@お腹いっぱい。 mailto:age [2007/09/08(土) 15:52:11 ] phpでsystem()関数などから使用されるシェルを 制限シェルに切り替えることってできないでしょうか?
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 17:28:14 ] >>98 rshell に切り替えるスイッチ見あたらないですね。 safe mode でしのぐのでは、姑息的ですか。
100 名前:名無しさん@お腹いっぱい。 mailto:sage [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に関する特記事項はなさそうだけど どこで躓いたんだろう・・・
102 名前:101 [2007/09/11(火) 14:22:18 ] OS書いてなかった。FreeBSD 6.0です
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 15:31:10 ] Linux厨が作ってる物はautotoolsだのbashだのexpatだのが 既にインストールされてる事が前提である事が多いからな。 入れてないなら入れるしかない。
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 16:12:24 ] とりあえずconfigureした後Makefileを開いてAPRUTIL_LIBSに -L/usr/local/libとでも書けばそこは通過できるらしい。
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 16:38:04 ] ldapは-LフラグがちゃんとAPRUTIL_LDFLAGSに追加されるけど、 expatとiconvは追加されないから、ldapに関して何も指定しなかったりすると APRUTIL_LDFLAGSが空っぽになってだめって事らしい。 --with-expat=builtinを付けてconfigureすると-lexpatも-liconvもなくなるから ファイルの修正なしでいける。
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 17:02:15 ] どんな OS を使うにしても何をコンパイルするにしても、野良ビルドするなら env CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure ... は常識として覚えておけ。 # Solaris なら -R も追加な。
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 17:07:25 ] >>106 その常識が通用しない構成になってるわけですが…。
108 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 23:41:05 ] 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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 00:03:48 ] >>110 それbuiltinしか効かない。 結局expatが見つかったときに-L/usr/local/libとかを足す部分が 1.2.8と1.2.10の間で削り落とされてるんで。
112 名前:101 [2007/09/12(水) 00:43:00 ] 遅くなりましたが皆さんありがとうございました。 105さんの方法をためしたところ通りました。 毎度ながら己の未熟を感じさせられてしまう・・・
113 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 12:14:02 ] >>113 マジで?
115 名前:114 mailto:sage [2007/09/12(水) 12:16:48 ] 途中投稿してしまった >>113 マジで?ちょっと再現してみたい mod_mime_magic入れてる?
116 名前:114 mailto:sage [2007/09/12(水) 13:25:59 ] あった https://issues.apache.org/bugzilla/show_bug.cgi?id=43334
117 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 17:33:36 ] あるバーチャルホストのログのローテーションするシェルスクリプトを 作成しているのですが、 mv access_log access_log.1 touch access_log としても新規に access_log へログが書き込まれません。 apacheをリロードすると再度書き込みが開始されるのですが、 リロード以外に解決方法はないでしょうか。
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 17:37:33 ] >>120 httpd.apache.org/docs/2.0/logs.html#rotation
122 名前:120 mailto:sage [2007/09/18(火) 18:17:26 ] >>121 コマンド処理側で工夫して対応する方法はないでしょうか。 このケースであれば、 一旦ファイルの削除がなければ、 リロード作業は不要になるかと思います。 mv の代わりに cp を使えば一応対応とはなりますが、 コピー処理中に書き込まれたログが access_log.1 に移らない ため、使えなくなっています。
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 18:22:02 ] pc11.2ch.net/test/read.cgi/unix/1186815324/376 の人? >>122 ないです。 シグナル送るのがいやなら httpd.apache.org/docs/2.0/logs.html#piped しておくとか。
124 名前:120 mailto:sage [2007/09/18(火) 18:39:05 ] >>123 はい、その人です。 対象のログファイルがかなり多いので、 事実上、ローテーションするたびに シグナル送るのは困難です。 パイプも現在のconfファイルを大幅に変更しなければ 対応が難しいので避けたいです。 cp 使って差分は諦めるか、 大量の mv 処理が終わってから kill -HUP でしょうか。
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 18:43:18 ] >>124 mv なんて一瞬じゃん、って向こうでも言われたでしょ。 つーか、logrotate かなんか入ってないの? OS は何?
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 18:44:39 ] HUP じゃなくて USR1 な。 httpd.apache.org/docs/2.0/stopping.html#graceful
127 名前:120 mailto:sage [2007/09/19(水) 07:10:10 ] >>125 すぐにテストできるのがredhatしかなかったんですが、 1GB程度のファイルを mv したら 20分くらい時間がかかりました。。。。 freebsd とかだと違うものなんでしょうか。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 07:39:52 ] 別のドライブにmvしてるの?
129 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 08:03:55 ] 別パーティションにmvだとしても、 1GBなら、たとえ20MB/sの遅いドライブだとしても50秒でmvできるはず。 20分もかかるならどこかシステムが壊れてる。
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 09:39:40 ] >>127 まず同じパーティション内で mv してから graceful でログファイルを切り替え、 その後に落ちついて別のパーティションに mv すれ。 redhat ってのが正確にどのディストリかわからんが きっと logrotate があるはずだから man 読んどけ。
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 22:24:57 ] >>129 20MB/sで本当に転送できるならいいんだけどな・・・
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/20(木) 14:40:30 ] mod_proxyなんだけど ProxyPass /hoge 192.168.1.123/fuga ProxyPassReverse /hoge 192.168.1.123/fuga って設定してアクセスすると example.com/hoge// みたいにURL末尾の/が2重になっちうんだけど、なんで?
133 名前:132 mailto:sage [2007/09/20(木) 16:47:35 ] firefoxの場合だけみたい まぁいいや
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/20(木) 18:30:57 ] hogeがディレクトリだったら/で終わらせないと別の解釈になる
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/20(木) 19:44:06 ] 最後のスラッシュを揃えない時の誤動作を利用してうまく消せたような。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 12:23:08 ] apache benchで負荷テストをしているのですが、Document LengthとHTML transferredが食い違っているように見えます。 nの値×Document Length=HTML transferred となると認識していますが、違うのでしょうか。 違っていた場合、HTML transferredは何の値でしょうか。 以下その際の値です ab -n 100 -c 10 example.com/test.3gp Document Length: 9824113 bytes HTML transferred: 1001152010 bytes
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 13:55:23 ] ↓この辺は? 認識は合ってると思います。 Non-2xx responses Failed requests Write errors
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 15:19:00 ] >>137 もったいぶっててもアレなのでログをさらします。 ab -n 100 -c 10 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, www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, 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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 17:51:06 ] >>138 ,139 ab -c1 -n1 でやってみた時のDocumentLengthとHTMLTranferredは同じになる?
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 18:00:34 ] >>140 こうなりました。 ab -n 1 -c 1 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, www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, 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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 18:52:36 ] ごめ、test.5gp は test.3gpのまつがい
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 19:03:28 ] >>142 常に同じ長さを返します。というか単一の動画バイナリファイルなのです。 どこかでロストしていることは考えられるのでしょうか?
145 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 19:41:07 ] HTTPヘッダをてんこ盛りにすると差が大きくなるとか、チャンクでバラバラになったときの チャンクのバイト数の部分が差になるとか…。
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/21(金) 19:49:17 ] >>145 apacheログ確認は失念してました。 今出先なので、後で確認してみます。
148 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 とか付けて、本文は途中カットしたものを流して 貰うとかしかないか?
150 名前:149 mailto:sage [2007/09/22(土) 12:19:39 ] 気になったのでもうちょっと調べたら、ab が結果的に -n で指定した 回数以上のアクセスを行っていて、その結果、レポート中の実転送量と 「完了した」アクセス数の数字がずれるのが原因と判明。 要するに ab は -c で指定された多重度でとにかく接続し続けていて、-n より 多い回数「完了」したら、その時点で走っている接続は打ち切りになる。 で、打ち切りにはなるのだけど、転送量のカウンタは回ってしまっているので、 レポート上はずれて見える。なので -c 10 -n 100 として、99 回完了して 残り 1 回という段階でもまだ 10 接続が多重で走ってる。で、そのどれかが 完了したら ab は終了になるが、残り 9 本が途中まで転送したバイト数も カウントはしてしまう。 で、このズレが発生しやすい・大きくなりやすい条件というのが - 並列度が高くて(=-n 回完了時点で余分に取る奴らが多数いて) - コンテンツサイズが大きい(余分に取った時のズレがでかくなりやすい) ということ。
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/22(土) 23:00:47 ] おとといportsでapache-2.2.6 にしてから もう2.2.6_1が出たんかい…
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/22(土) 23:12:51 ] リビジョンのバンプは知りません。
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/23(日) 12:39:14 ] Apache2.2で、hogehoge.hogeでアクセスされたときは正常にHTMLを返し、 IPでアクセスされた場合に、サーバーが存在しないかのように振舞うことは可能でしょうか?
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/23(日) 13:29:18 ] リクエストされたときのホスト名がなんであったかは apache の環境変数でわかる。それによって応答を どうするか決めるのは、PHPなら簡単。apache レベル でどうだったかは、ちょと分からないですけど。あと、 「サーバが存在しないかのように振る舞」うのの実際の 中身がやや問題鴨。
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/23(日) 14:44:35 ] つSetEnvIf
156 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/23(日) 22:10:10 ] バイナリで入れるとは横着な
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/24(月) 13:57:26 ] つかぬ事をお聞きしますが、PHPはもうスレッドセーフになりました?
160 名前:149 mailto:sage [2007/09/24(月) 14:33:26 ] PHPは結構昔からスレッドセーフ。 Apache MPMとの絡みでpreforkでないと使えないとか話題になった頃でもスレッドセーフ。 スレッドセーフでないのはライブラリ(の一部)。
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/24(月) 19:02:59 ] そうだったんですか。 なんか非スレッドセーフとか言い切ってるサイトとか結構あったんで なんでWindows版だけスレッドセーフなんだろう、と疑問に思いつつ勘違いしてました。
162 名前:名無しさん@お腹いっぱい。 mailto:age [2007/09/26(水) 12:23:13 ] アホな質問をします。 DocumentRoot に root:root 権限の html を置いて 公開するのって問題ありますか? DocumentRoot フォルダ自体は root:root 権限で Apache または Apache2 周りの権限はデフォルトのままとします。 他のサイトを閲覧する限りでは apache:apache 権限で公開するようですが。 cgi-bin フォルダ以下も同様として CGI を root:root 権限で 置いた場合も答えて頂けると助かります。 conf の設定で変わる場合もあると思うので足りない部分があれば ご指摘下さい。
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/26(水) 12:38:22 ] >>162 root:rootのファイルを置く事自体には危険は無い。むしろ安全。 しかしhtmlやCGIの更新のたびにsu/sudoする必要があるので、そこに危険が生じる。 HTMLやCGIをapache:apache権限で公開するのは馬鹿げているし危険だ。 CGIが操作するファイルやそれを置くディレクトリをapache:apacheにするのは普通。
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/26(水) 13:06:22 ] >>163 回答ありがとうございます。 >root:rootのファイルを置く事自体には危険は無い。むしろ安全。 >しかしhtmlやCGIの更新のたびにsu/sudoする必要があるので、そこに危険が生じる。 なるほど。リモートで入るときのパスの漏洩や root 作業時のシステム破壊の 危険性があるということですね。 >HTMLやCGIをapache:apache権限で公開するのは馬鹿げているし危険だ。 >CGIが操作するファイルやそれを置くディレクトリをapache:apacheにするのは普通。 そうだったんですか、自分の勉強不足ですね。 勉強になりました。オライリーから読み直します。
165 名前:157 mailto:sage [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がちゃんとそのユーザー権限で実行できるけど、 user.xxx.com/ みたいなサブドメインでユーザーのページを表示する場合、 VHOSTの設定でSuexecUserGroupをそのユーザーに設定しても ユーザーのホームディレクトリが/home/userだとsuEXECのドキュメントルート/var/wwwから外れてしまうのでCGIがうまく実行できません。 ユーザーディレクトリを/var/www以下に置く、もしくはソースかSRPMからコンパイルする以外で回避できる方法ありませんか? yumで自動アップデートさせたいので、できれば配布されているRPMのままで使いたいです。
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 17:37:06 ] >>166 くだらねえ質問はここに書き込め! Part 153 pc11.2ch.net/test/read.cgi/linux/1189857287/
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 17:39:57 ] >>166 /var/wwwにシンボリックリンク作る
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 18:01:19 ] レスありがとう。 >>167 少し前にそちらでスルーされてしまったので、ここで質問させてもらいました >>168 それも試してみましたが、CGIが500エラーはいてしまいます suexec.logにはcommand not in docroot (/home/user1/public_html/test.cgi)と出ます
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 18:12:19 ] >>169 じゃ mount -bind /home /var/www/home
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 18:17:26 ] >>170 おお、こういう方法もあるんですね 無事にできました ありがとうございます
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/29(土) 18:56:47 ] /var/www/html/ /var/www/html/blog という二つのコンテンツがあり、 www.example.jp blog.example.jp という感じで、virtualhostしています。 www.example.jp/blog でもアクセス出来てしまうのですが、 こういう場合、 www.example.jp/blog → blog.example.jp に自動的に飛ばすには、 mod_rewriteを使うのでしょうか? confに手軽に記述する方法はありますか? centos5のapacheです。
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/29(土) 20:45:04 ] >>172 リダイレクトでいいなら Redirect permanent /blog blog.example.jp
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/29(土) 22:40:24 ] >>172 /var/www/html/ 以下なんかに、blog を置くからだろ。
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/30(日) 00:44:15 ] /var/www/html/www と /var/www/html/blog に分けちゃえよ。
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/06(土) 12:48:38 ] mod_proxyでリバースプロクシをしているのですが対象サーバーが重い場合にすぐに502を返すのですがどこを変更すればタイムアウト?までの時間を変更できるのでしょうか?
177 名前:名無しさん@お腹いっぱい。 [2007/10/07(日) 20:50:41 ] apacheのインストーラを起動してもすぐにfinishとなって、 インストールできないのですがなんでですか?
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/08(月) 01:27:27 ] >>177 pc11.2ch.net/test/read.cgi/mysv/1185363093/321
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 19:01:51 ] あるぇ? APR-utilのソースを拾ってきて一生懸命ビルドしてインストールしてたけど、 httpd-2.2.6のtarのhttpd-2.2.6/srclibにapr-utilの1.2.10が入ってるじゃん?
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 19:05:16 ] なんだ、--with-aprとか--with-apr-utilとか指定するのはやめて、 今度っから--with-included-aprにしよっとw
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 19:10:30 ] apr関連をわざわざ指定したことないや。デフォconfigureでbuiltinだしね。 aprが/usr/libに元々入ってるのってRedHat系ぐらいじゃないのかな?
182 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/12(金) 11:52:18 ] SEE ALSO telnet(1), tcpdump(8)
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/12(金) 23:58:38 ] httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#proxytimeout mime.types
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/15(月) 01:35:18 ] >>185 176ですが、不正解でした まだ受け付けています
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/15(月) 08:24:37 ] >>186 はぁ? 不正解?? 受け付け?? お前に採点される覚えはない。消えろ。
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/15(月) 10:20:50 ] 使えない奴は無能です。 消えるのはYouですね。
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/15(月) 10:23:23 ] ただのぐぐってわかるレベルな答えを出す馬鹿には興味ありません。 この中に適切解答を持ってくるオタクがいたら俺に教えなさい。以上。