Apache関連 Part10at UNIX
Apache関連 Part10 - 暇つぶし2ch337:名無しさん@お腹いっぱい。
07/12/29 21:01:24
apache2.conf の 129行目よりも「前」のところで重複する
alias が定義されてるから。。。云々というメッセージでっせ。
>>336

338:名無しさん@お腹いっぱい。
07/12/29 22:33:06
>>337

教えてくれてありがとう
apache2.confを確認してみたけどわかんなかった。。。。
129行目から上はほとんどデフォルトのままだし
alias的な記述は無いような。。

339:名無しさん@お腹いっぱい。
07/12/29 22:47:58
apache2.conf の上流のほうで、どっか他所から別の
conf ファイルを読み込むようになってたりしない?
そこに、重複する Alias directive が書いてあるという
ふうな場合があるよ。>>338

340:名無しさん@お腹いっぱい。
07/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:名無しさん@お腹いっぱい。
07/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:名無しさん@お腹いっぱい。
07/12/29 23:12:25
まさに!その通り書いてあるけど
コレが問題?

343:名無しさん@お腹いっぱい。
07/12/29 23:13:59
Include /etc/apache2/conf.d/[^.#]*

だけど、/etc/apache2/conf.d/ の下の全部のファイル引っ張ってこい、
て意味だよ。そこに、xxx.conf て全然無いの?

344:名無しさん@お腹いっぱい。
07/12/29 23:17:32
conf.dの下はcharsetだけ

中身の記述は
#AddDefaultCharset UTF-8
こんだけ

345:名無しさん@お腹いっぱい。
07/12/29 23:20:06
>>342 いや、そう書いてあるならおkのはずだ。
チェックポイントのネタ切れたよ。こりゃ、分からんわ。
おいら、337=339=341=343 ですた。

346:名無しさん@お腹いっぱい。
07/12/29 23:27:26
付き合ってくれてありがとう
とりあえず起動してるから
じっくり考えます

347:名無しさん@お腹いっぱい。
07/12/30 10:04:33
/icons/ というaliasが 無効になっているという話なんだから
実際にそこにアクセスしてみて、何が見えるかが手がかりにならないかね。
もし/usr/share/apache2/icons/ が見えるなら同じ設定が重複してるっぽいし。

348:名無しさん@お腹いっぱい。
07/12/30 10:22:53
>>346です

>>347
よく考えたら、/icons/にアクセスするというのは
どういうことだ?よくわかんない。
/usr/share/apache2/icons/は普通にアイコン画像が
たくさんある。
つか、apacheのアイコンなんてコメントにしてもいいような
気がするんだけど。。。。


349:名無しさん@お腹いっぱい。
07/12/30 10:24:54
index.html を入れてないディレクトリへのアクセスを許容して
ディレクトリリストを表示させてやるとき用のアイコンだよ >>348

350:名無しさん@お腹いっぱい。
07/12/30 10:32:12
つまり
Opsions Indexesしてないから
コメントしても問題ない?

351:名無しさん@お腹いっぱい。
07/12/30 10:45:39
そのとおり >>350

352:名無しさん@お腹いっぱい。
07/12/30 10:47:25
サンクス!

353:名無しさん@お腹いっぱい。
07/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:名無しさん@お腹いっぱい。
07/12/30 11:21:37
alias の行以外に何をコメントアウトしたの?

355:名無しさん@お腹いっぱい。
07/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:名無しさん@お腹いっぱい。
07/12/30 18:21:46
index of のページが日本語ファイルだと文字化けしてしまうんですが、文字コードの指定とかできますか?

357:名無しさん@お腹いっぱい。
07/12/30 23:24:31
>>356
運用でカバーすることは不可能なのですか?

358:名無しさん@お腹いっぱい。
07/12/31 08:04:51
>>356
その辺に脆弱性があったとかで設定で文字コードを指定できるようになったっぽいよ?

359:名無しさん@お腹いっぱい。
07/12/31 08:08:19
mod_info入れればmod_aliasの設定が全部分かる

360:308
07/12/31 15:35:58
URLリンク(mail-archives.apache.org)

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

361:311
08/01/02 17:16:40
>>330
なるほど・・・・

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

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

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


う~~ん、あってるのかな・・・
そもそもsetuidが自由にされてしまう状態と
root権限が奪われてる状態って違うのでしょうか。
後者がイッテヨシ状態なのは分かりますが、
前者も変わらないのでは?


362:名無しさん@お腹いっぱい。
08/01/08 17:54:10
草薙は秋田顔だよ。

363:名無しさん@お腹いっぱい。
08/01/08 17:56:07
すまん誤爆orz

364:名無しさん@お腹いっぱい。
08/01/09 03:30:27
ルーターはメルコだよ。

365:名無しさん@お腹いっぱい。
08/01/10 03:20:20
いちいちログローテイトのたんびにHUPが必要なのってどうよ?
今時ルーティンなんだからログのハンドラ取り直させるためだけに
HUPなんてさせるのなんとかして欲しいなぁ。。


366:名無しさん@お腹いっぱい。
08/01/10 09:57:09
>>365
URLリンク(httpd.apache.org)

367:名無しさん@お腹いっぱい。
08/01/10 21:48:42
>>366
おおー、さんくす。

368:名無しさん@お腹いっぱい。
08/01/12 17:30:59
HUPつーかUSR1で回ってくれたほうが余分なサイクル一切使わないし
信頼性も高いし優れてると思う。


369:名無しさん@お腹いっぱい。
08/01/12 17:58:30
そもそもの疑問:
なんでみんなapachectl使わないで自前でHUPなのか。

restartだとダウンロードが切れちゃうのに、ほとんどのディストリではそれがデフォルト。
まさかそんなあほな設定だとは思わないで1週間使い続けて、苦情が来て気付いた。

370:名無しさん@お腹いっぱい。
08/01/12 18:06:40
>>369
伝統的にリロード処理はHUPだから、ついやってしまった。今は反省している。
てなとこかと。

そもそもgracefulかそうでないかで分ける必要なかったな。
実際、init.dレベルでは無視してるディストリもある。
ユースケースを考えれば設計ミスの部類だろう(重大ではないので
ことさら責めるような話でもないが)。

371:名無しさん@お腹いっぱい。
08/01/12 18:11:15
>>369
開発陣にバグ報告したら?

372:名無しさん@お腹いっぱい。
08/01/17 00:38:37
さて今度こそ新バージョン 1.3.41 と 2.0.63 と 2.2.8 が出るよ
URLリンク(mail-archives.apache.org)

373:名無しさん@お腹いっぱい。
08/01/19 02:48:13
2.2.8って言うと、FreeBSDを始めて使ったバージョンと一緒だ

374:名無しさん@お腹いっぱい。
08/01/19 14:08:42
特定メソッドでのアクセスの場合に
別プログラムへログ出力を渡す、みたいなことをしたいんだけど、
既存のモジュール利用して何とかできないでしょうか。

モジュール自体のカスタマイズや作成も考えたんですが、
そこまでプログラミングに精通もしていないので。。

375:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/01/19 15:27:37
webdav の delete で削除したファイルの
データサイズを調べる方法ってないでしょうか?
どうもログには残らないようで汗


377:374
08/01/19 15:29:29
>>375
ありがとうございます。
他にもapache自身に処理させなくても
ちょっと考えてみれば、渡すプログラム側でgrepに近い処理するのも
ありですね、参考になりました。ありがとうございます。

378:名無しさん@お腹いっぱい。
08/01/20 04:48:28
気がつけば新しいApacheが出てたorz

379:名無しさん@お腹いっぱい。
08/01/22 04:56:58
mod_ssl マダー?


380:名無しさん@お腹いっぱい。
08/01/30 06:49:05
apacheのオプションって、将来使うかもしれないと思うものまで含めて、
殆ど全部インストールしているんだけど、あれって使うものだけに絞って
インストールしたら、処理って結構早くなりますか?
それとも、大した差ではないでしょうか?

今、運用しているので、大した差でなければサービスを止めてまでする必要があるか、
悩むところなんですが。

381:名無しさん@お腹いっぱい。
08/01/30 12:11:13
Linuxのカーネルなんかと考え方は一緒。
モジュールとしてコンパイルされているなら、設定ファイルから消せばそのモジュールは読み込まれない。
商用UnixやLinuxに初めから入っているApacheのモジュールが、スタティックリンクされているってことはほとんどないと思うし。

どっちにしろ、処理能力の問題においては、読み込まれたモジュールの数なんて大した影響ではないと思うが。


382:名無しさん@お腹いっぱい。
08/01/30 12:23:19
詳しい方
prefork → Worker にする際のメリット、デメリットを教えてください!

383:名無しさん@お腹いっぱい。
08/01/30 12:53:29
メリット: 速くなる
デメリット: 動かなくなる

384:名無しさん@お腹いっぱい。
08/01/30 21:19:29
言い得て妙ですな >>383

385:名無しさん@お腹いっぱい。
08/01/31 04:43:23
動かなくなるってどうなるの?
アクセス集中すると落ちるって事?

386:名無しさん@お腹いっぱい。
08/01/31 10:10:40
マルチスレッドで動くことを考慮してないのが落ちたりするって話

387:名無しさん@お腹いっぱい。
08/01/31 18:20:53
>>381
詳しくありがとうございます。
makeに結構な時間が掛かるので、結構ボトルネックになっているのかと思いました。

388:名無しさん@お腹いっぱい。
08/02/03 20:04:51
>>386
thx
怖いからpreforkのままにしておきます

389:名無しさん@お腹いっぱい。
08/02/03 21:04:25
こうやってまたレガシーが残るのか

390:名無しさん@お腹いっぱい。
08/02/04 15:09:59
PHP使うならpreforkで、それ以外なら、とりあえずworkerで、でいいんじゃないのかな

391:名無しさん@お腹いっぱい。
08/02/04 15:14:09
>>389
prefork 残るとなんかまずいんだっけ。

392:名無しさん@お腹いっぱい。
08/02/05 09:15:38
preforkなら、子供が死んでも、親がまた子供を作ってくれる。

393:名無しさん@お腹いっぱい。
08/02/05 11:27:53
もしかして prefork 以外のものはそれをやってくれないと思ってる?


394:名無しさん@お腹いっぱい。
08/02/05 12:55:38
やってくれる。

395:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/02/05 17:52:51
そりゃ日本人より外国人のほうが多いんだから
そういうことするのはたいてい外国人に決まってる
それでわざわざ外国を拒否するなんてバカだ

397:名無しさん@お腹いっぱい。
08/02/05 17:53:48
>>395
そのログが出るとなんかマズいの?

398:名無しさん@お腹いっぱい。
08/02/06 10:48:58
>>396
2行目→3行目の論理展開がおかしいぞw


399:名無しさん@お腹いっぱい。
08/02/06 18:34:26
>>396
わかりました
日本語圏からのアクセスを遮断してみます

400:名無しさん@お腹いっぱい。
08/02/08 21:15:01
1.3.41用のmod_sslって出ないんですか?

401:名無しさん@お腹いっぱい。
08/02/18 12:01:39
Webalizerでホスト名を表示させたい場合、apacheの設定でHostnameLookupsをONにしないといけないのでしょうか?


402:名無しさん@お腹いっぱい。
08/02/19 01:08:26
>>401
--enable-dnsを付けてコンパイルしたWebalizerならあとで逆引きできる。
fURLリンク(ftp.mrunix.net)
Apacheで逆引きするとパフォーマンスが落ちるからログ解析が目的なら後で逆引きするのがよいと思うよ。

403:名無しさん@お腹いっぱい。
08/02/20 06:23:27
拡張子htmlのファイルだけど、中身はphpで書かれたものを、
phpとして動かしたいのですが、どのようにすればよいでしょうか?


404:名無しさん@お腹いっぱい。
08/02/20 12:16:32
>>403
phpのハンドラを設定する or mod_rewriteなどで外から見た名前だけを変える


405:名無しさん@お腹いっぱい。
08/02/20 16:53:58
>>403
拡張子 php のファイルが php で書かれたものとして動かすようにする
設定のうち、ファイルの拡張子に相当する部分を html に読み替えるだ
けで良いのでは?

406:>>403
08/02/21 07:17:21
>>404
>>405
ありがとうございます

407:名無しさん@お腹いっぱい。
08/02/21 19:38:23
Apache22+FreeBSD6.2を使っています。

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

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

宜しくお願いします。


408:名無しさん@お腹いっぱい。
08/02/21 19:51:58
>>407
keepAliveを切るか、タイムアウトを短くしてみたら?

409:名無しさん@お腹いっぱい。
08/02/21 20:47:37
>>407
上げるしかないね。
あるいは同じIPアドレスからの複数接続を拒否するモジュールを自作するか。
ちなみにこの用途ではmod_limitipconnは役に立たない。


あと蛇足だが、クラッシュ???
なんでもかんでも落ちたことにするなよ

410:名無しさん@お腹いっぱい。
08/02/23 20:39:09
>>407
クラッシュって、OSごとフリーズしちゃうか再起動しちゃうってこと?
そんな程度で陥るかなぁ?

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

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

>>408もいってるけど、一点のチューニングにだけとらわれず、システム全体に
対するチューニングが必要だよ。kernelのネットワークバッファ周りやら、
apacheのリソース周りやら色々。

411:410
08/02/23 20:40:33
追加だけど、apacheのモジュールならmod_vhost_limitでどう?

412:名無しさん@お腹いっぱい。
08/02/23 21:23:59
FreeBSDならpf使って制限かけられる。
max-src-conn, max-src-conn-rateで制限。


413:名無しさん@お腹いっぱい。
08/02/24 01:41:59
good solution

414:名無しさん@お腹いっぱい。
08/02/24 03:26:04
prefork+SuExec有効状態で大量にコネクション張られたら
root権限のプロセスが山程出来てシステム停止した覚えが

415:名無しさん@お腹いっぱい。
08/02/24 21:58:24
Apacheのスタートをしようとしたら、
「The requested operation has failed!」
とでてきます…どうすれば普通にスタートできるでしょうか…

416:名無しさん@お腹いっぱい。
08/02/24 22:14:04
エラーログをまず読む。

417:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/02/25 09:42:59
proxyでもさがしてんじゃないの

419:名無しさん@お腹いっぱい。
08/02/25 09:45:02
ちがう、これか。
URLリンク(wiki.apache.org)

420:名無しさん@お腹いっぱい。
08/02/25 09:45:10
URLリンク(www.google.com)

なんでも検索で済ませるのもどうかと思うが
このくらいは検索して欲しい

421:名無しさん@お腹いっぱい。
08/02/25 12:54:33
>>420

422:名無しさん@お腹いっぱい。
08/02/25 13:22:08
>>421
どうした?

423:名無しさん@お腹いっぱい。
08/03/06 19:21:15
ソースからインストールしたapacheのserver rootを
rpm版のように/etc/httpdにしようと思います
ただ、server rootはhttp.confの中で設定しますよね?
鶏が先か玉子が先かみたいな状態になるんですが、
どうしたら出来ますか?

424:名無しさん@お腹いっぱい。
08/03/06 20:30:10
configure時のオプションで--enable-layoutとか--bindirとか--datadirとかその辺をいじる。
または、httpdのコマンドラインオプション -dとか-fを使う。

URLリンク(httpd.apache.org)
URLリンク(httpd.apache.org)

425:名無しさん@お腹いっぱい。
08/03/06 20:32:55
>>423
spec読んでみ

426:名無しさん@お腹いっぱい。
08/03/07 00:49:04
その程度変更できないんだったらソースから入れる意義がないと思うぞ。
単なる自己満足?

427:名無しさん@お腹いっぱい。
08/03/08 15:49:12
logrotateってkill -hupしてるんですが何か問題はないのでしょうか?
apacheはgracefulに終了させたりするのに
いきなり-hupを送りつけるのは乱暴なのではないかと思うのですが・・・


428:名無しさん@お腹いっぱい。
08/03/08 16:46:39
>>427
書いてあるじゃん。
URLリンク(httpd.apache.org)

429:名無しさん@お腹いっぱい。
08/03/08 18:28:28
>>365あたりで話題になってる。
俺は、いじらない場合はHUPを送るようにしてるディストリは下に見てるよ。

430:名無しさん@お腹いっぱい。
08/03/09 10:40:34
logrotateとmailmanのコンボ技で/var溢れさせられてからlogrotateは
インストール後真っ先に止めるプログラムだ。

431:名無しさん@お腹いっぱい。
08/03/09 22:50:06
それは/varをケチり過ぎなだけのような・・・

432:名無しさん@お腹いっぱい。
08/03/11 23:10:46
Apache2.2を使っているのですが、
毎日勝手にリスタートしています。
時間もマチマチですし、わざとやっているわけでもありません。
考えられる原因ってどのようなものがあるのでしょうか?

宜しくお願いします。

433:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/03/11 23:41:04
apache22_http_accept_enable="YES"

435:名無しさん@お腹いっぱい。
08/03/13 01:56:28
apacheの追加モジュールで*.cと*.soってありますけど、
どう違うんですか?mod_rewrite.cとmod_rewrite.soは
どっちを設定したらいいんですか?

436:名無しさん@お腹いっぱい。
08/03/13 02:05:48
rewrite_module   モジュール識別子
mod_rewrite.c  モジュールソースファイル
mod_rewrite.so  モジュールのDSOファイル

437:名無しさん@お腹いっぱい。
08/03/13 13:40:25
>> 435
返信ありがとうございます。
httpd.confに
LoadModule rewrite_module modules/mod_rewrite.so
AddModule rewrite_module.c
という行がありますが、これらはどのような意味なのでしょうか。


438:名無しさん@お腹いっぱい。
08/03/13 13:45:21
いいかげん1.3は捨てれ。

439:名無しさん@お腹いっぱい。
08/03/13 14:39:30
inetdモードで動かしたいので 1.3系は必須です

440:名無しさん@お腹いっぱい。
08/03/13 14:56:54
>>437
マニュアル読めよ

441:名無しさん@お腹いっぱい。
08/03/13 14:59:29
いいかげんinetdモードは捨てれ。

442:名無しさん@お腹いっぱい。
08/03/13 17:44:03
>>432
OSは何れすか? 恐らくだけど、ログローテーション周りで
別の処理が走って勝手にHUPしてるんだと思う。
時刻がマチマチなのは、時刻がトリガになってるんじゃなくって、
ログサイズとかなんじゃね?

443:名無しさん@お腹いっぱい。
08/03/13 18:05:15
たまーにしかクエリが飛んでこないような Web API を組み込んだシステムの場合には
inetd 経由の方が心理的に落ち着くこともあるかもねw
例えばメール鯖に Web API 経由でアカウント操作できる仕組みを作るときとか。

もっとも apache を起動したままにしても大してリソース食うわけじゃないし、
inetd 配下で動作する httpd を perl なり ruby なりで書いても良いんだけどね。

444:名無しさん@お腹いっぱい。
08/03/13 19:41:57
httpd.conf中でincludeするファイルがないとエラーになりますが
なければ読まないだけでエラーにならない方法ありませんか?
IfFileExistsみたいなディレクティブがあればいいんですが・・・

445:名無しさん@お腹いっぱい。
08/03/13 19:58:06
C などで作った CGI がセグメンテーションフォルトとか起こした時って Apache 本体の方も
巻き込まれますか? 何か子プロセス起こしてるっぽいけどどうなんだろ。

あと CGI が巨大なライブラリ参照している場合って、CGI 実行のたびにそのライブラリが
ロードされるんでしょうか。

446:名無しさん@お腹いっぱい。
08/03/13 20:02:07
>>445
>Apache 本体の方も巻き込まれますか?

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

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

はい。

447:名無しさん@お腹いっぱい。
08/03/13 20:05:28
>>446
もやもやしたものが解けました。ありがとう。

448:名無しさん@お腹いっぱい。
08/03/13 22:36:11
apache意外のHTTPサーバー探すのが早そうだな

449:名無しさん@お腹いっぱい。
08/03/13 22:48:41
>>444
ワイルドカードを使うのは?
  Include "conf.d/*.conf"
あれば読むし、なければ読まない。

450:名無しさん@お腹いっぱい。
08/03/13 23:33:21
>>449
なるほど~
ありがとうございました

451:名無しさん@お腹いっぱい。
08/03/14 00:18:27
ダイジェスト認証をログアウト状態にさせるにはどうしたらいいですか?
一回パスワードを入力したら、ずっと認証されたままなんですが・・

452:名無しさん@お腹いっぱい。
08/03/14 01:07:29
それはクライアント側の問題では。

453:名無しさん@お腹いっぱい。
08/03/14 01:21:47
Status: 401を送りつけてやればよい。

454:名無しさん@お腹いっぱい。
08/03/14 03:16:36
送りつけるだけじゃダイアログが出るだけ。
h URLリンク(logout@example.com)
とか実在しないユーザーのリンクでも踏ませて
強引に別のユーザーに切り替えてログインに
失敗させる必要がある。

455:名無しさん@お腹いっぱい。
08/03/14 07:30:41
>>451
Digest? Basicじゃなくて? よくワカンネ
そえばウチのバッファローのルータはBasic認証なんだけど、
ログアウトってのがあって実行すると、認証ダイアログに戻るな。
tcpdumpとかで見てみれば分かるけど・・・
# メルコのルータじゃないぞw

456:455
08/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:名無しさん@お腹いっぱい。
08/03/14 13:49:43
>>455
なんだ。メルコじゃないのか。
んじゃダメだなw

458:名無しさん@お腹いっぱい。
08/03/17 05:15:18
適切なmaxclientsを求めるために、
maxのプロセスサイズを知りたいのですが、
どうやればいいですか?

459:名無しさん@お腹いっぱい。
08/03/17 09:14:21
ps(1) で VSZ と RSS を見て概算する。

460:名無しさん@お腹いっぱい。
08/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 |/
            丨   ヽ ` ', | O``''──…'''"´  O',゙:、  l |/

461:名無しさん@お腹いっぱい。
08/03/18 10:14:49
メルコのルータには興味がある。

462:名無しさん@お腹いっぱい。
08/03/20 15:01:41
Apache(2.2.6使ってます)の同時接続数についてなんですが。

MaxClientsなりで制限しない限り、リクエストの増加に応じて、搭載メモリ限界まで
プロセス(orスッドレ)をどんどん起動してしまい、Apacheが不安定になったり死んだり
してしまう、という認識であってますでしょうか?

463:名無しさん@お腹いっぱい。
08/03/20 18:40:00
>>462
×搭載メモリ限界までプロセス(orスッドレ)をどんどん起動してしまい
○プロセス(orスッドレ)がスワップを使用し始めて

464:名無しさん@お腹いっぱい。
08/03/20 19:45:13
>>462 合ってない。デフォルト制限が暗黙に効いてる。
むしろkeep-aliveのタイムアウトをめちゃくちゃ小さくするほうが重要。

465:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/04/02 12:09:50
mod_deflateを使った時って
html以外のtext、
たとえばtext/csvなんかも圧縮送信されてるのでしょうか?

467:名無しさん@お腹いっぱい。
08/04/02 13:36:05
指定方法によるだろ

468:名無しさん@お腹いっぱい。
08/04/06 08:14:41
SetEnvIf Remote_Addrでは
CIDR表記のIPアドレスが表記できません
CIDRで表記する方法はないものでしょうか?

469:名無しさん@お腹いっぱい。
08/04/06 14:50:20
XAMPPの質問もこちらでよろしいでしょうか?
XAMPPコントロールパネルを開くと、Apacheの項目は「起動」と表示されているのにも関わらず、停止ボタンには「停止中」と表示されているのですが、これで正常なのでしょうか?
他のサービスの停止ボタンには「停止」と表示されています。

470:名無しさん@お腹いっぱい。
08/04/06 20:17:35
よろしくありません

471:名無しさん@お腹いっぱい。
08/04/08 15:22:14
2つ以上同時接続してきた場合、受け付けないようにするにはどうしたらよいのでしょうか?

472:名無しさん@お腹いっぱい。
08/04/08 16:26:58
ひとつaccept()したら、fork()とかしないで、通信が終るまで次のaccept()を
しないようにソースを修正する。

473:名無しさん@お腹いっぱい。
08/04/08 16:32:10
MaxClients 1 か?

474:名無しさん@お腹いっぱい。
08/04/09 17:51:40
Apache の起動/停止に、 # apachectl -k start や # apachectl -k stop をおこないますが、
この -k オプションってどういう意味ですか?

-k をつけなくとも起動/停止はできていますが、ぐぐると -k をつけた例もとても多いので気になりました。

475:名無しさん@お腹いっぱい。
08/04/09 18:00:46
>>474
-k あり → そのまま httpd に渡される。
-k なし → start や stop などであれば -k を付けて httpd に渡される。

apachectl の中身読んでみ。

476:474
08/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 を渡す意味は、シグナルを渡すためと理解しました。
URLリンク(httpd.apache.org)

# いままで rpm とかでなんとなく使っていただけだったが、
# 今回は初めてソースからビルドしてサイトを構築するのでいろいろ勉強しないと

477:名無しさん@お腹いっぱい。
08/04/12 00:51:03
Apacheのモジュール開発を勉強したいんだけど、
「The Apache Modules Book」って本はいいですか?
洋書だけど。

一応、これとかは読んでみました。
URLリンク(module.jp)

478:名無しさん@お腹いっぱい。
08/04/12 04:19:27
>>477
これは?
URLリンク(www.amazon.co.jp)

479:名無しさん@お腹いっぱい。
08/04/12 10:23:24
>>478
値段が高すぎて、買えないな~と思いました。

480:名無しさん@お腹いっぱい。
08/04/12 23:51:27
Apacheで、出力するHTMLのフッターに
ServerNameを自動挿入する方法はありませんか?

ロードバランサ配下に複数のApacheを置いているのですが、
出力HTMLの末尾にServerNameがコメントとして挿入されていたら
どのサーバからの応答か簡単に判別できて便利かなと。

481:名無しさん@お腹いっぱい。
08/04/12 23:52:32
>>479
いっ、いちまん超え?

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

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

ちなみに「The Apache Modules Book」もそんなに悪くないよ。

482:名無しさん@お腹いっぱい。
08/04/12 23:56:24
>>480
mod_substitute

483:名無しさん@お腹いっぱい。
08/04/13 00:03:14
と思ったけどServerNameは無理か

484:480
08/04/13 00:24:58
>>482
thx. 惜しい。

あ、ServerNameではくても、リモホでもIPでもいいです。判別できれば。
Yahoo! JAPANのソースを見ると全ページに入ってるっぽいんだよね。独自拡張かしら。

485:名無しさん@お腹いっぱい。
08/04/13 00:45:01
>>484
使ったこと無いけど、mod_layoutってのがある

486:480
08/04/13 03:38:51
mod_layoutですか。。
全サーバ同一設定でいきたいので、mod_layoutで実現するには
CGIかPHPの実行結果を挿入することになるので、負荷が高そうだな… と思って敬遠しておりました。

でも丁度、別件でアクセス解析用のタグを全ページに入れるのが
かったるいと思っていた所なので、これもアリかも知れませんね。
やってみます~ ありがとう。

487:名無しさん@お腹いっぱい。
08/04/13 14:05:59
mod_line_editもあるで

488:名無しさん@お腹いっぱい。
08/04/14 02:29:55
質問させてください。

.htaccessを使って
http経由でのアクセスやダウンロードを禁止にして
ftp経由でのアクセスやダウンロードを許可することってできますか?

489:名無しさん@お腹いっぱい。
08/04/14 02:43:59
>>488
そりゃ話を整理したほうがいいんじゃないの?

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

>ftp経由でのアクセスやダウンロードを許可することってできますか?
これはftpdの世界の話。
ftpdの設定でいかようにも。お好きなように。

490:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/04/14 03:15:29
>wgetも500エラー

492:490
08/04/14 03:22:46
>>491
なるほど。ありがとう。解決しますた。

493:名無しさん@お腹いっぱい。
08/04/14 07:44:55
SSL証明書1枚で、
hoge1.example.com
hoge2.example.com
の両者をSSL表示させるのって可能ですか?
Verisignを使いたいので、複数で用意するには費用がかなり
きついためです。

SSLで表示させる場合のURLは
hoge1.example.com → URLリンク(ssl.example.com)
hoge2.example.com → URLリンク(ssl.example.com)
みたいになってもかまわないんですが、
これってどうやって実現するんでしょうか。
ApacheよりDNSよりの話でしょうか。


494:名無しさん@お腹いっぱい。
08/04/14 09:58:17
リバースプロキシ?

495:名無しさん@お腹いっぱい。
08/04/14 10:34:35
ワイルドカード証明書とか
リバースプロキシとか
実際にrsync等でファイルを一か所に持って来るとか

496:名無しさん@お腹いっぱい。
08/04/14 10:43:11
そもそも、何でドメインが2つ必要か
って所からだな

497:名無しさん@お腹いっぱい。
08/04/14 17:04:27
>>493
Verisignの契約内容は台数が複数あったら複数の証明書を取れだったよね。
>hoge1.example.com
>hoge2.example.com
この2つの間ではそこは大丈夫なの?
もっとも、通常はネームベースのバーチャルホストでSSLはできないし。

498:493
08/04/14 20:14:17
レスありがとうございます。

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

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

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

あう!!まじですか、だとすると厳しそうですね。。。。orz

499:493
08/04/14 20:15:50
>>496
かなりのアクセス数になった場合を想定して
コンテンツ毎にサーバを用意したいのです。

500:名無しさん@お腹いっぱい。
08/04/14 20:22:57
1000

501:480
08/04/14 21:38:51
>>487
大当たりっぽいです。ありがとうございます!!
日本語の情報が皆無ですね・・・ 試してみます。

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

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

・・・と書いてからググったら一番上に出てきたがどうよ?
URLリンク(squid.robata.org)

#ライセンス
URLリンク(www.verisign.co.jp)

サーバの分割について、トラフィックではなくCPU負荷を懸念しているのであれば、
CPUスケールアップの力業でどうよ? それならライセンスは1枚でいい。

502:名無しさん@お腹いっぱい。
08/04/14 23:24:22
もっと安い証明書の会社もあるよ。
いろいろ検討するのもいいんじゃね?

503:名無しさん@お腹いっぱい。
08/04/15 01:50:28
>>501

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

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

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

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

ただ、コンテンツのアクセスのされ具合とサーバへのトラフィックの誘導の
バランスが難しいしめんどくさいので、各ノードに同じコンテンツを配置して
ロードバランサで振り分けるほうが楽なのも事実だけどね。

504:493
08/04/15 03:06:21
>>502
携帯でほぼ安心して使えるのってverisignくらいなんですよね。。。

505:名無しさん@お腹いっぱい。
08/04/18 18:35:29
Apache2.2 から、*.conf ファイルが
conf/httpd.conf と
conf/extra/httpd-*.conf
になりましたが、 extra 以下にあるファイルは、conf/httpd.conf の中で Include しないと
有効にならないのですか?

506:名無しさん@お腹いっぱい。
08/04/18 19:03:39
もちろんそうよ

507:名無しさん@お腹いっぱい。
08/04/19 01:01:23
すいません、質問なのですが、ダウンローダによる無差別ダウンロードでトラフィックが占有され困っています…。
何度もipを変えたりユーザエージェントを偽装したりするので、いちいちipで拒否も大変です。
何か効果的な対策はないでしょうか…

apache 2.2.4
です

508:507
08/04/19 01:11:19
何度もすいません、それで特定のフォルダにあるファイルだけ馬鹿みたいにダウンロードされるんで、クッションのページを入れ、そこを経由しないとダウンロードできないようにしたいと思いますが…。
効果薄いでしょうか

509:名無しさん@お腹いっぱい。
08/04/19 01:24:22
CAPTCHA

510:名無しさん@お腹いっぱい。
08/04/19 11:13:19
フォルダ単位で接続数制限とか

511:名無しさん@お腹いっぱい。
08/04/19 22:18:07
mod_bwでいいじゃん?

512:507
08/04/21 01:15:24
>509-511
ありがとうございます。
それでいろいろ調べてみると、dsoが有効になっていないらしくリビルドもダメなようなのですが、その場合はモジュールフォルダにモジュール入れて、confでリンクすればロードされ有効になるでしょうか?
結局1ipからの多重ダウンロードを阻止したいので…。

513:名無しさん@お腹いっぱい。
08/04/21 17:59:15
httpd -l を実行して mod_so.c が出力されれば DSO は有効になってる。
有効であれば、apxs を使って追加モジュールだけビルドしてインスコすれば良い。
その場合にはお察しの通り、conf に追記してあげれば機能するぽ。
無効なら apache ごとリビルドした方が今度のためかな。

514:与太者
08/04/22 00:10:48
PUTメソッドを使用してファイルをアップロードしたいんですが、
デフォルトの設定では禁止されてますよね…。
どうすれば変更できるのでしょうか?

515:名無しさん@お腹いっぱい。
08/04/22 03:21:44
dav

516:507
08/04/22 15:35:38
>>513
ありがとうございます。

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

まずは皆様、お付き合い頂きありがとうございました。

517:名無しさん@お腹いっぱい。
08/04/23 02:44:15
産総研:プレス・リリース パスワード相互認証プロトコルの技術評価用ソフトウェアを公開
URLリンク(www.aist.go.jp)産総研とヤフー、パスワード相互認証プロトコルの技術評価用ソフトウエアを公開
URLリンク(it.nikkei.co.jp)

Apache用モジュールと改良版Firefoxで
中間者攻撃に耐性のある Password Authenticated Key Exchange を実現

518:507
08/04/23 04:30:27
一日経ってみてログを見てみますと、27000リクエスト余りを503で返してくれていました^^
それに伴って転送量も激減、無事に目的を達成しました。

519:名無しさん@お腹いっぱい。
08/04/23 05:12:41
おめ

520:名無しさん@お腹いっぱい。
08/04/23 07:01:27
ダウンローダによる無差別ダウンロードなんてしてくる奴いんの?
うぜーなぁ

521:名無しさん@お腹いっぱい。
08/04/23 19:20:57
/etc/httpd/conf.d/squid.confって何を設定するファイルなのですか?

522:名無しさん@お腹いっぱい。
08/04/23 19:43:29
>>521
Squid用のディレクティブを記述するファイルだ。
Squidの管理用CGIを公開する時に書き込む。
別にhttpd.confに書いてもいいと思うけどね。

Squidはキャッシュ機能付きのプロキシサーバで、Apacheの前にリバースプロキシとして設置して
アクセスを物凄い勢いで高速化することができるがスレ違いなのでやめとく。

523:名無しさん@お腹いっぱい。
08/04/23 23:06:58
apacheをソースからインストールしている場合でも
apr、apr-utilはRPMのものを使っていいのでしょうか?

524:名無しさん@お腹いっぱい。
08/04/23 23:07:27
いいよ
俺はそうしてる

525:名無しさん@お腹いっぱい。
08/04/23 23:14:19
ありがとうございました

526:名無しさん@お腹いっぱい。
08/04/23 23:32:00
GWSってApache?

527:名無しさん@お腹いっぱい。
08/04/24 08:14:12
本のサンプルに、SSLRandomSeedの指定で
start,connectともに
builtin,file:/dev/random,file:dev/urandom
を連続して記述してあるのですが、
連続して指定すると種が継起的に変化していくのでしょうか?
実際問題、ここには何を指定するのが適当ですか?

528:名無しさん@お腹いっぱい。
08/04/24 19:51:10
腐った処理系じゃなければ何でもいんじゃね? ぶっちゃけ気にしたことないw

529:名無しさん@お腹いっぱい。
08/04/27 02:57:45
IEでphpを読み込もうとするとダウンロードのメッセージボックスが出てしまうのですがなぜでしょう?

530:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/04/27 14:19:25
>>529 AddType もしくは AddHandler してる?
>>530 分からん。

532:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/04/28 11:30:13
>Allow from hogehoge.ddo.jp

逆引きはできる?

534:名無しさん@お腹いっぱい。
08/04/28 12:02:10
>>532
そのホスト名はFQDNなの? 違うなら
.example.jp のように先頭にドットをつけてみれ。

535:532
08/04/28 17:03:46
>>533 逆引きできます。nslookupでNon-authoritative answer:と返ってくるのは関係ありますでしょうか?

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

ddo.jpはDynamic dnsを借りているものですが、何か設定があるのかな…。

536:名無しさん@お腹いっぱい。
08/04/28 18:27:38
なんで逆引きで DDNS な FQDN 返してくれるのかの方が不思議だ。

537:532
08/04/28 18:54:55
>>536 勘違いしました。逆引きできないからホスト名利用できなかったんですね。
もう少し調べてみます。ご指摘ありがとうございました。

538:名無しさん@お腹いっぱい。
08/04/28 19:09:27
DDNSなDQN に見えた

539:名無しさん@お腹いっぱい。
08/04/29 21:52:41
apache の ログフォーマットで

%tを

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

と書きたいのですが、どのような変数名にすればいいのでしょうか?
YY DDとか使うと思うのですが・・。

540:名無しさん@お腹いっぱい。
08/04/30 01:54:24
URLリンク(httpd.apache.org)
%{format}t

541:名無しさん@お腹いっぱい。
08/04/30 14:05:55
質問させてください。
3時間くらい処理時間がかかるcgiスクリプトを実行するとエラーになって途中で終わってしまいます。
最後まで処理させるにはどうしたらいいでしょうか?
ちなみにhttpd.confにRLimitCPU 300 と書いたのですが途中でエラーになって終わってしまいました。


542:名無しさん@お腹いっぱい。
08/04/30 14:49:39
5分とか10分とかならまだしも、3時間もかかるものを
CGI でやろうとする考え自体が間違い。

543:名無しさん@お腹いっぱい。
08/04/30 14:58:35
RLimit書かなきゃいいだろ

544:名無しさん@お腹いっぱい。
08/04/30 15:03:29
>>541 いろんな意味でアフォだろ?w >>542 >>543の言う通りだと思うぞ。どんまい。

545:名無しさん@お腹いっぱい。
08/04/30 15:46:23
httpサーバーがタイムアウトしないようにする。
Webブラウザがタイムアウトしないようにする。

546:名無しさん@お腹いっぱい。
08/04/30 16:29:58
>>541
> 3時間くらい処理時間がかかるcgiスクリプトを実行するとエラーになって途中で終わってしまいます。
> 最後まで処理させるにはどうしたらいいでしょうか?

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


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

これ、単位違うものではないかな。

547:541
08/04/30 17:18:56
>>542
仕方ない。時間がかかる処理もあります。

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

>>545
それを知りたい。

>>546
単位違うものとは?

548:名無しさん@お腹いっぱい。
08/04/30 17:36:07
いや、仕方ないなんてことはない。
他の手段を考えるべき。
適材適所。

549:名無しさん@お腹いっぱい。
08/04/30 17:45:48
時間がかかる処理を1つのプログラムにして
CGiはそれを起動するようにするべきだが。。。

RLimitなんとかってのはそもそも書いちゃだめ
Timeoutディレクティブを適当に書け
単位はマニュアル読め

550:名無しさん@お腹いっぱい。
08/04/30 22:27:52
質問です。
64bitでコンパイルして動作するapacheのバージョンは決まっているのでしょうか?
このバージョンならいけるよというのがあれば教えていただきたいのですが。

551:名無しさん@お腹いっぱい。
08/05/01 00:21:16
>>547
キチガイ警報w

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

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

しっかし、いるんだよな。こういうアプローチそのものを変えようとしない香具師がよ。
別の発想がないっつーか。長い処理を CGI でやろうってセンスがイミフだぞ。

552:551
08/05/01 00:22:18
RLimitCPU はもちろん無効にしろよ。

553:名無しさん@お腹いっぱい。
08/05/01 00:31:56
>>550 特に理由が無いなら2.2.xの最新

554:名無しさん@お腹いっぱい。
08/05/01 01:01:05
>>551
それじゃプロセスグループを切り離せないからマズい。>system(...)
apacheにSIGHUP等が飛んだら巻き添えを食うぞ。
daemonプロセスを起動するときと同じ手順を踏む必要があるはず。


555:名無しさん@お腹いっぱい。
08/05/01 01:18:37
>>554
やっぱそう?w 何となくそんな気はしたんだけどね・・・
彼に理解できるレベルじゃないな。
close, fork, setsid, SIGIGN

556:名無しさん@お腹いっぱい。
08/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);
}

557:541
08/05/01 01:46:12
>>544=>>551=552=555

ごめんなさい。あなたはとても知識が豊富で頭がいいこともわかってます。
僕はあなたから見ると基地害かもしれませんが一生懸命がんばりたいです。
僕に理解できそうにないなら理解できるように教えてください。
といっても、教えてもらえないだろうな・・・orz

558:名無しさん@お腹いっぱい。
08/05/01 01:56:00
だから、どうしても >>545 をやるなら方法は >>551 だっつーの。これは理解できるでそ?
画面と実処理を切り離さないといけないと思うの。
で、その実現方法が >>556 なの。これも良く読めば難しくないはず。はず。はず。

559:名無しさん@お腹いっぱい。
08/05/01 02:01:18
むしろTORQUEみたいなバッチジョブ管理システムを導入したほうが後々楽かも

560:名無しさん@お腹いっぱい。
08/05/01 02:05:51
そもそも何がしたいのか(ry
そもそもプログラミング知識は(ry

561:名無しさん@お腹いっぱい。
08/05/01 02:20:41
>>556
んー、プロセスグループを切り離さないと、シグナル等のからみでどんな副作用
が出るかわからんから、ちゃんとsetsid()した方がいいと思うんだけどなぁ。
perlなら use POSIX qw(setsid); ... setsid(); でOKだし。
あと、そこまでやってsystem()は無いと思うんだが。
素直にfork&execしようよ……。

562:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/05/01 02:35:42
>>541 は おどろき とまどっている!
>>541 は あたまが こんらんした!
>>541 は にげだした!
しかし まわりこまれてしまった!
>>541 は くだけちった!

564:名無しさん@お腹いっぱい。
08/05/01 02:42:17
>>561
> あと、そこまでやってsystem()は無いと思うんだが。
たしかにwwww サーセン

565:名無しさん@お腹いっぱい。
08/05/17 12:57:26
>>438
何か嫌なことでもあったのか。
俺は未だに、1.3系を使い続けてるけどな。
これで十分こと足りるし、ライセンスがらみの問題もあるんで

566:名無しさん@お腹いっぱい。
08/05/17 13:24:22
Apacheはパイプが詰まったりするし、Perlはシグナル周りを無視しておかないとウンコだったりしてやってられないw

567:名無しさん@お腹いっぱい。
08/05/17 15:28:45
ちょい質問なんですが最新版の2.2.8ではなく、
2.2.3をゲットしたいんですが公式にはアーカイブ置いてないんでしょうか??

568:名無しさん@お腹いっぱい。
08/05/18 00:30:49
(??д?)? ????????????????????

(??д?)?????????????????

569:名無しさん@お腹いっぱい。
08/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.
URLリンク(archive.apache.org)

570:567
08/05/18 00:53:30
>>569
ありがとうございます!

2年間ぐらい海外のどっかのコミニティサイトをずっと公式だと思ってましたwwww(ノ∀`)


571:名無しさん@お腹いっぱい。
08/05/20 13:32:22
パスワード認証に付いて質問させてください。

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

すみませんが教えてくださいお願いたします。

572:名無しさん@お腹いっぱい。
08/05/20 13:32:47
パスワード認証とはBASIC認証のことです。
申し訳ありません。

573:名無しさん@お腹いっぱい。
08/05/20 13:36:13
試してみれば

574:名無しさん@お腹いっぱい。
08/05/20 13:48:55
やってみたらできました。
パスワードファイルを見たら、単に暗号化してあるだけなんですね。

cgiで生成できるのであれば、便利ですね。

575:名無しさん@お腹いっぱい。
08/05/20 20:05:37
つ system関数

576:名無しさん@お腹いっぱい。
08/05/20 21:32:06
すいません。apacheのアクセスログの
書き込みタイミングっていつなんでしょうか。

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

お手数ですがご教授頂けないでしょうか。

577:名無しさん@お腹いっぱい。
08/05/20 21:37:32
syslogの書き込みタイミングなんてならんでしょ
UDPだし、信頼性の微塵もない

578:名無しさん@お腹いっぱい。
08/05/20 21:40:30
>>576
ひとつのリクエストが終わったとき
つまり、突然ネットワークがおかしくなった場合でもTimeoutだけ経過すれば
ログに書き込まれる

>>577


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

>>577
apacheは自前でログ書いてるよ。知ったか乙。

580:名無しさん@お腹いっぱい。
08/05/20 22:36:38
>>579
あなたも何を言ってるんだ?

581:576
08/05/20 22:45:24
>>577,578,579
返信ありがとうございます。

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

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

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

質問ばかりで申し訳ありません。
自分でももう少し調べてみます。


582:名無しさん@お腹いっぱい。
08/05/20 22:56:07
apacheのログをsyslogに回して配信してもらうのが普通だと思ってた。
ローカル環境以外に飛ばしたいときはどうしてるの?

583:名無しさん@お腹いっぱい。
08/05/20 23:07:32
飛ばしたくなったことがない。

584:名無しさん@お腹いっぱい。
08/05/20 23:12:33
>>582
逆にlocalに書く以外を見たことがない。
運用屋さんによると、syslogはログが欠けるからダメなんだと。(localhostでもダメなのか?)
ちなみにログは、ローテートした後、NAS上のホスト毎のディレクトリに保管。
一定期間後にテープにバックアップ。

585:名無しさん@お腹いっぱい。
08/05/20 23:12:59
syslogのリモート転送機能なんて使うかな?
OpenViewやJP1などのログ監視エージェントを入れるとかして、
ある程度整理・要約したものをイベントとして送信するようにしている。
フリーのツールでも探せばこれらに相当するものはあるんじゃね(muninとかnagiosあたりかな?)。


586:名無しさん@お腹いっぱい。
08/05/20 23:17:14
>>581
まず、mod_logioは全く関係ない。

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

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

あなたはTCPのことをきちんと知ってる?
そうじゃなけりゃ正直何から説明していいか分からん

587:名無しさん@お腹いっぱい。
08/05/20 23:17:40
×クライアントが応答のままTimeoutの時間が過ぎた
○クライアントが無応答のままTimeoutの時間が過ぎた

588:名無しさん@お腹いっぱい。
08/05/20 23:20:22
>例えばiptables等で外へ出ていくパケットを遮断をした場合等にも
>アクセスログは残るのでしょうか。

残る

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

URLリンク(httpd.apache.org)
> httpd 2.0 では 1.3 とは異なり、%b と %B フォーマット文字列はクライアントに
> 送信されたバイト数そのものではなく、 HTTP レスポンスのバイト数です (これら
> は異なるもので、たとえば、 コネクションが途中で破棄された場合や、SSL 使用時
> に一致しません) 。 mod_logio で提供されている %O フォーマット文字列で、ネッ
> トワーク経由で実際に転送されたバイト数を 記録できます。

590:名無しさん@お腹いっぱい。
08/05/20 23:59:30
>>582
リアルタイムには飛ばさない。
忙しい時間帯にさらに負荷をかけるようなことはしない。

ローカルにとっといて、
一日一回 NFS なり scp なり rsync なりで送る。

591:名無しさん@お腹いっぱい。
08/05/21 00:10:41
>>590
んなことしてたら、ログの意味がねーだろ
各々のマシンに監視させて処理させてるの?

592:名無しさん@お腹いっぱい。
08/05/21 00:18:48
>>591
「ログの意味」って、たとえばどういうこと?

593:名無しさん@お腹いっぱい。
08/05/21 00:21:02
記録する意味。
24時間も前の情報なんてほとんど使わないでしょ。
なにか問題が起きて、24時間後に対応するって

594:名無しさん@お腹いっぱい。
08/05/21 00:22:47
ん、Apacheスレだからアクセスログの話かと思ってたけど、違うの?

ErrorLogの方の話なら、それぞれのマシンに監視仕掛けてるよ。

595:名無しさん@お腹いっぱい。
08/05/21 00:27:08
>24時間も前の情報なんてほとんど使わないでしょ。
SOX法知ってる?

596:名無しさん@お腹いっぱい。
08/05/21 00:39:12
>>593
後から問題が発覚して、ディスク上に残ってるログ全部をごりごり調査したことなんて、1度や2度じゃ済まないんだが。

597:名無しさん@お腹いっぱい。
08/05/21 00:47:48
>>596
あるね。
おれはWeb屋だけど、お客から何月何日、~のコンテンツにアクセスしたIPアドレス、時間を調べて報告して欲しいなんてしょっちゅう。

598:名無しさん@お腹いっぱい。
08/05/21 01:07:43
フルボッコだなw

599:名無しさん@お腹いっぱい。
08/05/21 01:10:37
>>589
それと、ログに記録されるタイミングに、何の関係があるんだ?

600:名無しさん@お腹いっぱい。
08/05/21 01:21:08
>>595
それ別に訳に立たないじゃん。
法律で帳面の保存を義務づけられてるのと同じ

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

>>597
ログをあさる数少ない原因をだされても…

601:名無しさん@お腹いっぱい。
08/05/21 01:48:20
だから>>590とかやって一箇所にまとめてるじゃん。

何を主張したいのかよくわからん。

602:名無しさん@お腹いっぱい。
08/05/21 01:48:44
>>599
日本語で書いてあるのにわからないの?
転送開始前にログを取るか、転送完了後にログを取るかが異なる。

603:名無しさん@お腹いっぱい。
08/05/21 01:50:49
>>602
どこにそんなことが書いてあるか、日本語でも英語でもいいから
Apacheのマニュアルからそのまま(as-is)コピペしてくれないかな?

604:名無しさん@お腹いっぱい。
08/05/21 01:54:13
>>603
>>589にコピペした部分に書いてある。池沼さん?

605:名無しさん@お腹いっぱい。
08/05/21 01:54:34
>>600
おまえの頭が悪い(≒おまえの周りの状況が全てに適用できると思い込んでる)のはわかった。

606:名無しさん@お腹いっぱい。
08/05/21 01:55:55
> mod_logio で提供されている %O フォーマット文字列で、ネッ
> トワーク経由で実際に転送されたバイト数を 記録できます。

確かに、mod_logioを使ったときは、実際に転送が終わった後にログがログファイルに記録されるだろうね。
んじゃ、mod_logioを使わなかったときは転送が終わる前にログがログファイルに記録されるなんてどこに書いてあるんだ?

607:名無しさん@お腹いっぱい。
08/05/21 02:07:07
>>606
チンケなプライド保とうと必死だな。www
元の質問(>>576)で問題にしているタイミングとは、実際の書き込みタイミングで
はなく、ログに書き込まれた情報が取得されたタイミングである事は明白。

608:名無しさん@お腹いっぱい。
08/05/21 02:31:08
>>607
おいおい
mod_logio使うかどうかでログに記録される時刻が変わるというのか?
1GBのファイルをダウンロードするのに2分かかる場合、
ログファイル内のアクセス時刻の表示が2分変わると言うのか?

609:名無しさん@お腹いっぱい。
08/05/21 02:54:34
>>608 低脳必死杉。www
タイミング==アクセス時刻と読む事に活路を見出したのか?。www

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

>>608の言いがかりに関しては
ログに書き込まれた情報(転送バイト数)が取得されたタイミングが異なる。
といっておこう。

610:名無しさん@お腹いっぱい。
08/05/21 02:56:07
>>576と転送バイト数には何の関係も無いんだが

611:名無しさん@お腹いっぱい。
08/05/21 03:28:40
>>610
ある。わからないのか? 本当に馬鹿なんだな。

612:名無しさん@お腹いっぱい。
08/05/21 03:41:40
>>576には
「問題なのはアクセスログが残っているにも関わらず、」
と書いてあり、アクセスログが書いてあるかどうかが問題なわけで
転送バイト数がどうかしたのか?

さっきから人のことを低脳とか日本語ができないとか言うけど、
だいたい>>579の「例えば、mod_logio使えば実際に転送されたバイト数。」
はどの質問に対する答えなのか。日本語が出来てないのは誰なのか。

613:名無しさん@お腹いっぱい。
08/05/21 03:59:28
>>609の言ってるように、プロセスがログに書き込む内容を取得する時間が異なるとゆうことは、
>>608の言ってるような事態が起こりうるかもしれない。
しかしそうなって来ると、そもそもlogに書き込まれるアクセス時間が、リクエストを受け取った時間なのか、
リクエストが終了した時間なのかが問題になりそう。

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

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

つうことで、本家のmanualあさって来ます。

614:613
08/05/21 04:27:27
今、読んできた(jpのページだけだけど)。

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

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

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

>>579の答えは、「タイミングがいつなのか?」のみの場合は、その通りだけど、
後半部分も含めると、「log指定に依存」は正確ではないのではないか。

615:名無しさん@お腹いっぱい。
08/05/21 04:32:12
>>614 だけど、
ごめん、ミリ秒じゃなくてマイクロ秒だった・・・・・。

616:名無しさん@お腹いっぱい。
08/05/21 11:15:38
apache のバージョンや設定にかかわらず、ログに出力されるのはレスポンス終了後。
ただし、1.3 ではログのタイムスタンプがログを書いた時刻になるのに対して、
2.x ではリクエストを受け付けた時刻になる。
なので、1.3 ではログが必ず時刻順に並ぶが、2.x ではレスポンス完了まで
時間がかかるとログの時刻がさかのぼることがある。
コンパイル時に何か define すれば 2.x でも 1.3 互換の時刻出力が
できたような記憶があるけど、詳しいことは忘れた。

で、mod_logio は LogFormat で使える書式制御文字を増やすだけで、
今回の件にはまったくなんにも関係ない。


617:名無しさん@お腹いっぱい。
08/05/21 12:14:42
応用力が致命的に欠如してるな。これが「ゆとり」か。

%b 転送する予定のバイト数
%O 転送したバイト数
両方記録することで>>576が問題にしている状況を説明できるログになる。

618:名無しさん@お腹いっぱい。
08/05/21 12:18:10
サーバが送信したバイト数は
クライアントが受信したバイト数と必ず一致するのだろうか。

619:名無しさん@お腹いっぱい。
08/05/21 12:42:38
>すいません。apacheのアクセスログの
>書き込みタイミングっていつなんでしょうか。

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

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

こちらに関していえば、「あり得る」で問題ないですよね。
ログ出力をどう指定するかとはまったく無関係に。
っていうか、ログの指定方法を変えることでデータの転送の確実性が
変わったりなんかしたら大変なことだ。

620:名無しさん@お腹いっぱい。
08/05/21 12:57:40
>>619
> という問いに対して %b、%O が出てくる理由を応用力が欠如したゆとりにも
> 理解できるように説明してもらえるとありがたいです。
それは >>576 の後半に書いてあるじゃん。
そもそもの問いが的外れだった。

621:名無しさん@お腹いっぱい。
08/05/21 13:31:02
>>620
えーと、ということは、

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

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

それともアレですか、バグのあるプログラムのあやしそうなところに
printf をつっこんだらバグが再現しなくなったとかいうのを
日常的にやってる方なんでしょうか?

622:名無しさん@お腹いっぱい。
08/05/21 13:34:29
>>619
「ゆとり」恐るべし。
字面をなぞるだけでは、質問の意図するところはわからんよ。

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

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

%b %O両方とれば、
1 (apacheから見た)クライアントのプロトコルスタックまではデータ転送が完了している。
2 コネクション切断等の原因で転送が中断された。
のいずれかであることがわかるので障害の切り分けができる。

623:名無しさん@お腹いっぱい。
08/05/21 13:39:15
>>621
>>620 != >>617なので勘違いしないように。

624:名無しさん@お腹いっぱい。
08/05/21 13:39:42
>>617
応用力?w

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

それにそもそも質問者に対する答えになってないだろ>>579は。

625:620
08/05/21 13:46:19
>>621
否定も肯定もしないよ。
>>619 の前半に答えただけ。

626:名無しさん@お腹いっぱい。
08/05/21 13:47:05
っていうか、よく見たら

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

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

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

どっちも実際に転送したサイズで、転送する「予定」のバイト数ではない。
つーか、CGI みたいにリクエストを受けてから動的に生成してるページの
「転送する予定のバイト数」をどうやってログに載せるんだよ。

627:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/05/21 14:37:22
後出し?別スレ?md5?
もういいよ

629:名無しさん@お腹いっぱい。
08/05/21 15:42:01
>628
お前の負けーwwwwwwwwwww

630:名無しさん@お腹いっぱい。
08/05/21 16:39:10
劣悪な通信環境化でのサーバ・クライアントのやり取りを見ているみたいだw

631:名無しさん@お腹いっぱい。
08/05/21 16:44:17
以上、本試合は「最後にしゃべった方が勝ち」ルールでお送りしました。

632:名無しさん@お腹いっぱい。
08/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:名無しさん@お腹いっぱい。
08/05/22 16:06:39
777にでもしてみ

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

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

最低の対策としては、多分このへんでは。

635:632
08/05/22 16:19:42
ありがとうございます。
解決できました。

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

お手数をおかけいたしました。

636:名無しさん@お腹いっぱい。
08/05/22 16:30:42
777のままにしとくなよ。

637:名無しさん@お腹いっぱい。
08/05/23 05:25:35
mod_proxy 使って、クライアント→SSLproxy化サーバ→WEBサーバ
というようにSSLアクセスさせたいのですが、
この場合に、
ログの管理上、
WEBサーバにクライアントのIPを直に残させることは可能なのでしょうか。


638:名無しさん@お腹いっぱい。
08/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で割り当てたドライブ(家の環境には存在しない)で、
共通の方法で運用したいということです。

639:638
08/05/23 07:28:59
バージョンを書き忘れてました。
Server version: Apache/2.2.8 (Win32)
XAMPP Version 1.6.6a
です。

補足なのですが、他のバーチャルホストの設定などの共通の設定もたくさんあるため、
できれば、apacheなどを2つわけてインストールをしたくないということです。

640:名無しさん@お腹いっぱい。
08/05/23 09:14:32
>>637
proxy→web鯖 の際、mod_proxyの機能として、
X-forwarded-For
というヘッダがリクエストに挿入されるので、それをログに記録すればよい。
あるいは、mod_rpafを入れればHostが上書きされるのでログも変わる。

641:名無しさん@お腹いっぱい。
08/05/23 09:15:41
場合わけで使えそうなのは IfDefine かねえ。
URLリンク(httpd.apache.org)

642:名無しさん@お腹いっぱい。
08/05/23 10:29:19
自宅パソコンの中身を同じ風味にすれば良いかと
ドライブレター変えるとかエイリアス作るとか

643:638
08/05/23 13:28:38
>>641
いけますた!!

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

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

みたいに、httpd.conf(httpd-vhosts.conf)に書いておけばばっちりでした。

644:638
08/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);

645:638
08/05/23 13:30:56
>>642
アドホックに行くならば環境の方を変えてしまうのもアリですね。


無事解決いたしました。
ご協力くださりありがとうございました。

646:名無しさん@お腹いっぱい。
08/05/23 14:52:57
FreeBSDでApache2.2.8で存在しないディレクトリをDocumentRootに設定したら
Warning: DocumentRoot [/usr/home/user1/www/vh/virtualhost1/] does not exist
って警告が出るけど普通に起動するね。
存在しないドライブだとエラーになるのか…。バグ報告出すかね。

647:名無しさん@お腹いっぱい。
08/05/23 21:29:59
>>646
まずソースを読んで、意図的なのかバグっぽいのか判断してみては?
メインのDocumentRootだとエラーで、<VirtualHost> だったら警告のみ、とかって
いう風になっている可能性もあるし。いきなりバグ報告されても萎えると思う。
# 漏れは読んでない。ごめん。

648:名無しさん@お腹いっぱい。
08/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>

649:648続き
08/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:名無しさん@お腹いっぱい。
08/05/24 04:56:52
複合条件だから難しいなw こんな感じかな?

SetEnvIf User-Agent "^bad-agent1" robots
SetEnvIf User-Agent "^bad-agent2" robots
SetEnvIf Referer "^.+" ref_ng
SetEnvIf Referer "^URLリンク(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:名無しさん@お腹いっぱい。
08/05/24 05:01:13
閾値の件については、apache で処理させてたら意味ないな。
503 を返そうが 403 を返そうが、リクエストが httpd にまで到達していることに
変わりはないので、処理コストの若干の違いはあれど同じこと。

ログを定期的に見て、IP アドレスを iptables に追加するスクリプトでも
書いたほうが早いかと・・・・

652:名無しさん@お腹いっぱい。
08/05/24 05:03:35
>>650
度々すんませんorz 修正・・・
× Deny from env=!ref_ng
○ Deny from env=ref_ng

653:648
08/05/24 07:35:29
おはようございます。
朝までチューニングして眠たい>>648です:-)

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

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

…と書いてて気づいたのですが、激しく板違いでしたでしょうか…。

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

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

mod_rewriteはもうちょっとしっかりとお勉強します。

655:名無しさん@お腹いっぱい。
08/05/24 14:58:44
>>653
> …と書いてて気づいたのですが、激しく板違いでしたでしょうか…。

個人的にだけど、Web 鯖へのアタックや過剰アクセスから守る方法として
一般論(?)が展開されるなら、このスレでも間違っていないと思いますお。

656:名無しさん@お腹いっぱい。
08/05/24 15:26:44
ipってゆうな。クズ。

657:名無しさん@お腹いっぱい。
08/05/24 16:28:09
テリー乙

658:名無しさん@お腹いっぱい。
08/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 の使い方が分かりません。
どのように設定すればいいでしょうか?

659:658
08/05/24 20:15:15
apache2はモジュールの読み込みが必要無いんですね

660:名無しさん@お腹いっぱい。
08/05/25 00:16:43
>>658
使い方が分からないなら今から覚えるな。バッドノウハウになりかねん。
まず SpeedyCGI で、次に FastCGI を覚える方がいいよ。

661:名無しさん@お腹いっぱい。
08/05/25 20:10:35
>>657
はあ?俺はテリーじゃねえしww
つーかおまえらテリー乙テリー乙って馬鹿の一つ覚えみたいに言ってるけど
テリーにもファンがいるってことを認めたくないだけだろww
現実見ろよwwwwwwww

662:名無しさん@お腹いっぱい。
08/05/25 20:20:27
テリーは目がいってるよ、こわいよお

663:テリーファン
08/05/25 22:37:35
みんなテリーのことを悪く言いすぎだと思います。
一人で旅をするのはとても勇気がいることです。
武闘家にならずにバトルマスターになれるのもテリーしかいません。
もっとテリーを評価してあげてほしいです。
よろしくお願いします。

664:名無しさん@お腹いっぱい。
08/05/28 09:28:35
すみません質問です
apacheからperlやphp等を実行する場合、実行権限ってどうなるんでしょうか?
試しにドキュメントルートより上の階層を見に行くスクリプトを組んで実行してみると難なく見えてしまいました

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

apacheのバージョンは2.2.3です

665:名無しさん@お腹いっぱい。
08/05/28 09:40:34
PerlもPHPも、Apacheの実行権限で動く。
(CGIのsuexecは除く)

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

PHPはセーフモードと言うのがあって、そういうことが出来るらしいが、俺は良く分からない。

666:名無しさん@お腹いっぱい。
08/05/28 09:48:31
そういう人は、jail+chrootで幸せになれると思うよ。

667:名無しさん@お腹いっぱい。
08/05/28 10:22:51
Windowsの場合はログインしてるユーザーなのかな
jailはBSD以外でも言うのかな

668:名無しさん@お腹いっぱい。
08/05/28 14:03:26
早速ありがとうございます!

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

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

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

もしそうだとすれば相当面倒ですね^^;ポートは共有できるんでしょうか
たとえばレンタルサーバーとか、いちいちそんなことをしてるんですか?

669:名無しさん@お腹いっぱい。
08/05/28 15:48:14
ニャース・ΜL キテガイリスト 28人目
スレリンク(unix板)
ニャース・ΜL キテガイリスト 28人目
スレリンク(unix板)
ニャース・ΜL キテガイリスト 28人目
スレリンク(unix板)
ニャース・ΜL キテガイリスト 28人目
スレリンク(unix板)
ニャース・ΜL キテガイリスト 28人目
スレリンク(unix板)
ニャース・ΜL キテガイリスト 28人目
スレリンク(unix板)
ニャース・ΜL キテガイリスト 28人目
スレリンク(unix板)

670:名無しさん@お腹いっぱい。
08/05/28 16:33:32
レンタルサーバーは普通CGIはsuexecかね
PHPは知らん

671:名無しさん@お腹いっぱい。
08/05/28 22:24:51
やるとしたらフロントにプロキシ立ててNameBaseでポート別立てしたバックのapache叩く感じかなぁ
起動オプションでコンフィグファイル切り換えればpidファイルもユーザーも切り換えて複数のapache立てられる

そもそも、そんな運用は却下するかな

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

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

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

レン樽鯖はこんな程度だと思われ。

673:名無しさん@お腹いっぱい。
08/05/29 13:48:00
apacheをインストールしたのですがstartを押すとThe requested operation has failedと出てきて起動できません。
解決方法をよろしくお願いします。




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



675:テリーファン
08/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:名無しさん@お腹いっぱい。
08/05/29 16:57:22
>>673 httpd.confの編集ぐらいしれ

677:名無しさん@お腹いっぱい。
08/05/29 16:57:24

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

できれば今日中に回答ほしい。勉強が進まない。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch