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

Apache関連 Part7

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。05/02/17 23:10:46
HTTP ServerのApacheに関する話題を扱うスレッドです。

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

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

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

●Apache関連サイトへのリンクは >>2-5 あたりヨロ
0838名無しさん@お腹いっぱい。2005/11/12(土) 11:51:00
CustomLog は複数設定できるよ。
0839名無しさん@お腹いっぱい。2005/11/12(土) 18:17:09
ログの保全方法が間違ってるような気もしますが、
上記の通り CustomLog を複数書けば良いかと。

ログのローテーションって知ってますか?
apache の bin/rotatelogs ってのも、それを支援するツールです。
CustomLog からパイプ起動すると結構便利です、これ。
0840名無しさん@お腹いっぱい。2005/11/14(月) 03:29:37
cgiに自動でヘッダやフッタを挿入するにはどうすればいいですか?
AddOutputFilter LAYOUT html
AddOutputFilter LAYOUT cgi
LayoutHeader /header.html
としても、htmlファイルには挿入されますが、cgiには入りません。
0841名無しさん@お腹いっぱい。2005/11/14(月) 07:17:29
CGI 側で出力するんじゃだめなん?
0842名無しさん@お腹いっぱい。2005/11/14(月) 07:23:50
数が多いのでそれなりに手間が掛かります。あと、他人管理のcgiもあるので。
mod_laoutのドキュメントが見つからないんですよね。公式のcvsは繋がらなかったし
0843名無しさん@お腹いっぱい。2005/11/14(月) 07:39:30
mod_layout-3.2.tar.gz の中に README と faq.html がありますた。
0844名無しさん@お腹いっぱい。2005/11/14(月) 09:11:35
おお、ホントだ。ありがとうございます。
mod_layout2はまだ出来たばっかりなのかな? faqがない。
で、命令に互換性がないようですね…
Invalid command 'LayoutHandler'と云われます。
0845名無しさん@お腹いっぱい。2005/11/14(月) 16:14:53
httpd.confでinclude対象のファイルってやっぱりapache権限である必要が
ありますよね?
0846名無しさん@お腹いっぱい。2005/11/14(月) 17:22:13
俺様用語「Apache権限」
0847名無しさん@お腹いっぱい。2005/11/14(月) 18:43:17
当然apache権限だとマズー
0848名無しさん@お腹いっぱい。2005/11/14(月) 20:47:05
そうそう、頭文字は大文字じゃないと
0849名無しさん@お腹いっぱい。2005/11/15(火) 06:48:59
>>845 CGIのデータディレクトリは当然777でファイルは666ですよね?
0850名無しさん@お腹いっぱい。2005/11/15(火) 12:52:05
ファイルも777にすると縁起がよい
0851名無しさん@お腹いっぱい。2005/11/15(火) 14:40:24
初心者向けでなにか良い本はありませんか?
0852名無しさん@お腹いっぱい。2005/11/15(火) 14:58:26
初心者はサーバ立てるな。
0853名無しさん@お腹いっぱい。2005/11/15(火) 16:20:24
ついおとといまで自分のDDNS自鯖HP見たときなんでパスかけられてるのか全く理解できずPC壊しそうになった
あはは
0854名無しさん@お腹いっぱい。2005/11/18(金) 12:40:24
apache権限オモロイ
0855名無しさん@お腹いっぱい。2005/11/18(金) 15:19:16
apache権限ってのはLinuxでの事でしょ
Fedora等のLinuxではapacheというユーザ&グループでhttpd(apache)が動いてますよ
そのユーザIDの事言ってんじゃないの?
0856名無しさん@お腹いっぱい。2005/11/18(金) 16:25:01
うほっ、いい馬鹿!
0857名無しさん@お腹いっぱい。2005/11/19(土) 01:31:46
じゃあ板違いだ
0858名無しさん@お腹いっぱい。2005/11/19(土) 08:54:39
>>855
んじゃその解釈で >>845 に答えてみ。
0859名無しさん@お腹いっぱい。2005/11/19(土) 11:02:33
>>858
847で解決してるじゃん。引き延ばす理由がわからん。
0860名無しさん@お腹いっぱい。2005/11/19(土) 13:08:10
一番解ってなかったのは>>858という事で。
0861名無しさん@お腹いっぱい。2005/11/19(土) 16:33:08
久しぶりに香ばしいオチだな・・・。
0862名無しさん@お腹いっぱい。2005/11/19(土) 22:08:49
apach顕現
0863名無しさん@お腹いっぱい。2005/11/20(日) 17:15:10
ItaniumマシンのRedHat上でapache1.3.33にmod_phpでPHP4.4.1を入れました。
すると、PHPのflock関数が必ず失敗します。ちょっと調べてみると、ファイルのownerが
apacheになっている場合には成功します。それ以外だと失敗するようです。

どうしてこんなことが起こるのでしょう?ご存知の方、教えてください。
0864名無しさん@お腹いっぱい。2005/11/20(日) 18:16:46
PHPのプロセスオーナーがapacheだから。
0865名無しさん@お腹いっぱい。2005/11/20(日) 18:29:58
にしてもちょっと変だけどな。本来ならopenで失敗するはず。
0866名無しさん@お腹いっぱい。2005/11/20(日) 18:54:41
read してるだけなんだろ。
0867名無しさん@お腹いっぱい。2005/11/21(月) 01:26:25
i686からx86_64に移したら、3倍のメモリーを消費するように。。
何か対策ありますの?
0868名無しさん@お腹いっぱい。2005/11/21(月) 01:28:47
3倍メモリを積む。
その程度ができないなら64ビットCPUなんか使うなと。
08698632005/11/21(月) 01:35:07
>>865
そのとおりです。fopenで失敗しないところがナゾなのです。対象ファイルの
permissionは666ですし…。
0870名無しさん@お腹いっぱい。2005/11/21(月) 11:00:20
errno
0871名無しさん@お腹いっぱい。2005/11/21(月) 19:14:48
flockでerrnoってどうやって取得するんですか?
0872名無しさん@お腹いっぱい。2005/11/21(月) 21:11:25
apache経由で動かすから面倒なわけで、コマンドラインからtruss/straceと組み合わせて動かしてみるべし。つーか、問題のソースも掻け。
08738632005/11/21(月) 23:25:16
>>872
test.txtというファイルを、chmod 666とし、置いてあるディレクトリもchmod 777とします。
そして、下記のphpプログラムを動かします。
<?php
$fp = fopen( "test.txt", "r" ) or die( "fopen failed." );
flock( $fp, LOCK_SH ) or die( "flock failed." );
flock( $fp, LOCK_UN ) or die( "funlock failed" );
fclose( $fp );
echo "OK";
?>

コマンドラインからphp test.php [Enter]とするとOKの表示までいきます。
しかし、apache経由だと、"flock failed"なのです。

したがいまして、strace php test.phpとやっても無問題なのです。
0874名無しさん@お腹いっぱい。2005/11/22(火) 10:09:29
perl だと $! が、ほぼ errno なんだけど、PHP にそういうのはない?
0875名無しさん@お腹いっぱい。2005/11/22(火) 12:38:48
>>873
とりあえず、第三引数でE_WOULDBLOCKの状態かどうかだけでも判定してみたら?
08768632005/11/23(水) 19:28:42
もうお手上げです。IA64 RedHatがだめなだけかもしれません。みなさま、ありがとうございました。
0877名無しさん@お腹いっぱい。2005/11/24(木) 01:08:59
IA64とかの問題じゃない気がするけどな・・・。
コマンドラインから
# su - apache
% php flock.php
みたいな感じでも再現すると思うんだけど、その辺しらべてます?

そもそもPHPと関係なくflock(2)でも同じ動きなんだっけ?
fopen(), flock(), fclose()なソース書いてタメしてみれば?
0878名無しさん@お腹いっぱい。2005/11/24(木) 16:33:37
Apache httpdのサイトのドキュメントの欄にTrunkが増えてる
0879名無しさん@お腹いっぱい。2005/11/25(金) 04:15:02
名前ベースのバーチャルホストでSSLを使うのはできないそうですが,
やって出来ないことはないという記述もちらほら見ます.
証明書は同じでいいので ServerName によって
DocumentRoot を変えることはできないでしょうか?
現在,非SSLではできているのですが,
SSLだとすべて同じ DocumentRoot が表示されてしまいます.
0880名無しさん@お腹いっぱい。2005/11/25(金) 08:05:08
> 証明書は同じでいいので
暗号化通信してても相手を認証できなかったら旨みがないんだけど。
今時、IP の一個や二個、安いもんだろ。
0881名無しさん@お腹いっぱい。2005/11/25(金) 09:46:03
>879
簡単にいうと現在のSSLはIPアドレスで認識しホスト名は使ってないので無理

>880
自鯖で固定IPする場合だと1個とそれ以上(普通は8個、16個)だと何倍もの価格差が有るよ
0882名無しさん@お腹いっぱい。2005/11/25(金) 10:12:15
>>881
でも大した金額じゃないじゃん。
0883名無しさん@お腹いっぱい。2005/11/25(金) 10:34:48
金がないならホスト名1個でディレクトリわければいいじゃない。
0884名無しさん@お腹いっぱい。2005/11/25(金) 11:11:04
バーチャルホストでいいだろ
0885名無しさん@お腹いっぱい。2005/11/25(金) 11:17:25
え?
0886名無しさん@お腹いっぱい。2005/11/25(金) 14:02:59
>>882
本気で何倍もの価格差が大した事ないお前は/24でも契約して使ってるのか?
極論馬鹿はほっといて
普通に考えれば何らかの特別な動機がなければ複数IPは割高だよね
ディレクトリでユーザ別に分けるのが現実的かな
0887名無しさん@お腹いっぱい。2005/11/25(金) 14:32:33
https://hatena.g.hatena.ne.jp/
ワールドカードが使えるんだねー。
0888名無しさん@お腹いっぱい。2005/11/25(金) 14:40:11
ワールドカード の検索結果 約 78,600 件中 1 - 10 件目 (0.27 秒)
ワイルドカード の検索結果 約 348,000 件中 1 - 10 件目 (0.03 秒)
ワールドカップ の検索結果 約 1,980,000 件中 1 - 10 件目 (0.16 秒)
0889名無しさん@お腹いっぱい。2005/11/25(金) 16:34:37
>>881
現在のということは以前はできてたのでしょうか?
まあ単に趣味的に
http://my.domain/~hoge/ より
http:///hoge.my.domain/ の方が好みだった程度なので
今回はあきらめることにします.
0890名無しさん@お腹いっぱい。2005/11/25(金) 17:53:52
現在一般的な SSL (RFC2818) では無理。
もうひとつの仕様である RFC2817 の方ならば理屈の上では可能なはず。
0891名無しさん@お腹いっぱい。2005/11/25(金) 20:08:23
apache-2.1.xで試せるんでない?
対応済みクライアントはあるんかな
0892名無しさん@お腹いっぱい。2005/11/26(土) 20:06:01
2.xを使っているのですが、ローカルのページを
http://localhost/
と接続するだけでなく(代わりに)
http://betunonamae/
でも接続できるようにするにはどう設定すればいいでしょうか?
0893名無しさん@お腹いっぱい。2005/11/26(土) 20:18:07
/etc/hostsに追加汁。localhost == 127.0.0.1 なのを理解してればすぐだ。
0894名無しさん@お腹いっぱい。2005/11/27(日) 10:57:05
>>893
できやした。

thanks
0895名無しさん@お腹いっぱい。2005/11/27(日) 17:17:51
>>889
ネームベースの SSL だって別にできるでしょ?
クライアント側は、証明書の Common Name とホスト名が一致しないから
警告を出すだけで、暗号化という目的は達成されてる。

# どうしても1つの IP アドレスで警告を出さずにやりたいなら、
# ポートベースのバーチャルホストっていう方法もあるわけだし・・・

そもそも同じ証明書でいいってことは警告を覚悟の上だと思うから、
別に普通にネームベースの <VirtualHost> を設定すれば良いのでは。
0896名無しさん@お腹いっぱい。2005/11/27(日) 17:25:35
>警告を出すだけで、暗号化という目的は達成されてる。

認証が不完全な状態でなされる通信を暗号といってしまっていいのだろうか。
0897名無しさん@お腹いっぱい。2005/11/27(日) 17:48:07
言ってしまっていいでしょ
>>879の目的には合わなさそうだけど
0898名無しさん@お腹いっぱい。2005/11/27(日) 21:19:57
ホスト名がワイルドカードなSSL証明書だって、正規(?)なものとして
あるから、ネームベースバーチャルホストができても構わないでしょ
0899名無しさん@お腹いっぱい。2005/11/27(日) 21:23:47
じゃあ勝手にやればいいんじゃない(´Д`)
09008792005/11/27(日) 23:50:49
>>895
実際やろうとして普通に VirtualHost の設定をしたつもりなのですが
アクセスするとどれも同じ DocumentRoot が表示されます.
<VirtualHost _default_:443> を <VirtualHost *:443> に変えたり
NameVirtualHost *:443 を追加したりしましたが無理でした.
0901名無しさん@お腹いっぱい。2005/11/28(月) 00:12:52
pound挟めばできそうな気がする
0902名無しさん@お腹いっぱい。2005/11/28(月) 05:32:01
>>900 そこまで来るともう SSL 以前の問題じゃない? conf がおかしいよ。
0903名無しさん@お腹いっぱい。2005/11/29(火) 23:49:27
example.com と example2.comそれぞれ別々にログを吐き出す方法なら
分かるんですが、
example.com/abc/、 example.com/abc2/それぞれ別々にログを
出す方法がワカラソダス。httpd.confの設定で簡単にできるもの
でしょうか?おしえちくり
0904名無しさん@お腹いっぱい。2005/11/30(水) 00:20:36
>>903
SetEnvIf
ttp://httpd.apache.org/docs/2.0/ja/logs.html
0905名無しさん@お腹いっぱい。2005/12/01(木) 09:01:20
2.2.0 出ました。
0906名無しさん@お腹いっぱい。2005/12/02(金) 00:05:24
キタワァ*・゜゚・*:.。..。.:*・゜(n‘∀‘)η゚・*:.。. .。.:*・゜゚・* !!!!!
http://ftp.kddilabs.jp/infosystems/apache/httpd/CHANGES_2.0
http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.0.tar.bz2
0907名無しさん@お腹いっぱい。2005/12/02(金) 00:20:26
*) Strip out Experimental MPMs that have gone nowhere since 2.0
(perchild, threadpool, leader). [Nick Kew]

おいおいperchildもかよ
09089062005/12/02(金) 00:28:29
>>906
リンクミスった
http://ftp.kddilabs.jp/infosystems/apache/httpd/CHANGES_2.2
0909名無しさん@お腹いっぱい。2005/12/02(金) 00:45:00
ApacheとかJakartaの連中は中途半端な実装をつっこんどいて
メンテせずに削除なんてよくあるよな。
mod_wepappとmod_jk2がobsoleteになった時は目が点になったよ。
0910名無しさん@お腹いっぱい。2005/12/02(金) 00:53:55
httpd-2.2が出たっつー事はもうすぐmod_jkもobsoleteじゃねーの?
0911名無しさん@お腹いっぱい。2005/12/02(金) 01:42:35
2.2は移行していいの?
2.1で十分開発されたみたいだし。
そういうものでもない?
0912名無しさん@お腹いっぱい。2005/12/02(金) 10:19:24
apacheの動作権限をnobody:nobodyにして
logファイルをroot:rootの644にしても
ログが問題なく書き込まれるのはなぜ?
0913名無しさん@お腹いっぱい。2005/12/02(金) 10:37:21
Apacheの公式サイトにつながんねえ
2.2.0が公式に載るのを見たいのに。

>>912
親プロセスが書いてるんじゃないの?
0914名無しさん@お腹いっぱい。2005/12/02(金) 13:52:55
Premature end of script headers: abc.cgi
CGIがうまく動作しません。
エラーログが上のようになっているのですが、
原因がつかめません、
(パーミッションもチェックしたし、スクリプトのコード自体も何度もチェックしました)
CGIのエラーをさらに詳細にロギングすることはできないでしょうか?
0915名無しさん@お腹いっぱい。2005/12/02(金) 13:57:57
>>914
どうせ改行コードだろ。
エラーメッセージでぐぐってみ。
09169142005/12/02(金) 14:05:20
改行コードも調べたのですが違うっぽいのです。
0917名無しさん@お腹いっぱい。2005/12/02(金) 14:13:16
いくつかメジャーCGIも試しましたが、依然としてうまくいきません。
apache自体の問題のような気もしてきました。
cgiってモジュールとか必要ないですもんね・・・。
0918名無しさん@お腹いっぱい。2005/12/02(金) 14:21:58
>>917
拾ってきた CGI を実行するより
短い CGI を自作して試すのが先だろ。

mod_cgi が必要だよ。
0919名無しさん@お腹いっぱい。2005/12/02(金) 14:26:22
>>918
sshからなら動作しました。
apache経由だとむりです。
mod_cgiは高速化させるためのモジュールでは?
09209192005/12/02(金) 14:28:29
何度もすみません、nobody(apacheの動作主)からsshでも動作可能でした。
0921名無しさん@お腹いっぱい。2005/12/02(金) 14:29:17
公式ドキュメントを見ないのは宗教上の理由なのか?
09229192005/12/02(金) 14:35:34
SuexecUserGroupディレクティブはずしたら動作可能になりました。ほわい・・・
詳細な原因について今から調べます・・・
0923名無しさん@お腹いっぱい。2005/12/02(金) 14:37:12
>>922
ちゃんと公式ドキュメントに書いてある。
http://httpd.apache.org/docs/2.0/howto/cgi.html#suexec
0924名無しさん@お腹いっぱい。2005/12/02(金) 14:41:23
>>922は創価学会員
0925名無しさん@お腹いっぱい。2005/12/02(金) 18:13:03
>>923は原理主義者
0926名無しさん@お腹いっぱい。2005/12/02(金) 18:19:37
>>925は日本人の真似しか出来ない朝鮮人
0927名無しさん@お腹いっぱい。2005/12/02(金) 20:05:28
>>926は朝鮮人にレイプされて産まれた子だということを知らない子
0928名無しさん@お腹いっぱい。2005/12/02(金) 20:07:30
何このApacheスレに特有の流れ?
0929名無しさん@お腹いっぱい。2005/12/02(金) 20:24:25
http://httpd.apache.org/docs/2.2/new_features_2_2.html

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

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

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