トップページphp
989コメント287KB

【公開】apache総合スレッド【鯖】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/10 00:59ID:???
apacheで自宅鯖立てているヤシも鯖立て方が分からないヤシも皆集合!

本家サイト

http://www.apache.jp/
http://www.apache.org/

関連スレ

Apacheの設定を教えてください
http://pc.2ch.net/test/read.cgi/php/1003772635/l50

Apache2.x 【新鯖入荷しました】
http://pc.2ch.net/test/read.cgi/php/1018333172/l50
028127502/09/02 13:53ID:XRBnyJ3Z
>>279
>>280
いや日本語ファイル名がHTTPの規格に合わないのは
分かるんですがANHTTPDでやってみたら
便利だったんで同じような事Apacheじゃ出来ないのかなぁ
ってことっス mod_encordingあたりでしょうかね
028227502/09/02 14:01ID:XRBnyJ3Z
あ ちなみにIISでも日本語ファイル名OKみたいです。
0283nobodyさん02/09/02 14:29ID:???
はぁ……
0284nobodyさん02/09/02 15:08ID:???
>>281
どーしてもってんなら
src/modules/standard/mod_autoindex.c


static void output_directories(struct ent **ar, int n, autoindex_config_rec *d, request_rec *r, int autoindex_opts, char keyid, char direction)


ap_escape_html()

読んでるところを片っ端から裸にしてビルドしなおせば。
0285nobodyさん02/09/02 17:48ID:???
>>281
最近何処かで読んだなぁ・・・
どのスレだったかは調べるつもりもないけど一応解決策は出てたよ。
ソース弄れば出来るってさ。
0286nobodyさん02/09/02 21:40ID:???
for i in * ; do mv "$i" "`echo -n \"$i\" | od -t x1 |sed 's/^[0-7]*//' | tr -d '\n' | tr ' ' '%'`" ; done
0287nobodyさん02/09/02 22:00ID:???
>>286
目からウロコ。そうか、od で url encode できるのか。
0288名無しだよもん@カラアゲうまうま02/09/02 23:57ID:???
というか、Apache本体を手を入れなくたって、
mod_encoding と
autoindex みたいなことするcgiにDirectoryIndexさせれば十分。

うちはそれで EUC-JP なファイル名のまま
日本語ファイル名で触れるようにしてる。
0289nobodyさん02/09/03 01:51ID:???
日本語ファイルとかは漏れの場合どうでもいいけど、
autoindexは改善する余地結構あるよな

でも、ιぃ言語はサパーリですわ
0290nobodyさん02/09/03 11:43ID:???
>>289
それは自ら一般教養ありませんって言ってるようなモンだよ。
0291nobodyさん02/09/03 23:19ID:???
>>290
?
0292nobodyさん02/09/04 00:15ID:VvMUzzNB
2002-09-03: Namazu 2.0.12 を公開
0293nobodyさん02/09/04 16:30ID:f6s3TIig
apache2で帯域制限できるモジュールってないですか?
mod_bandwidthみたいな。
0294nobodyさん 02/09/06 20:44ID:???
winME + apache_2.0.40が起動できません。
どうすればいいですか?
0295nobodyさん02/09/06 21:54ID:???
再インストール。
0296nobodyさん02/09/07 00:35ID:LZNxO8Pm
>>294
とりあえずエラーログぐらいみれ
0297nobodyさん02/09/07 14:31ID:fmoGkUbh
PHP 4.2.3 Released
0298無料動画像02/09/07 22:05ID:mktqXi69
ヌクなら、やっぱりかわいい子のほうがイイ!!
あなたを満足させる無料動画集!!
http://www.traffimagic.com/WIPE7MMLZCA/comein/PRTPJ
0299nobodyさん02/09/07 22:12ID:???
>>298
怒濤のポップアップ広告(((( ;゚Д゚)))ガクガクブルブル
0300nobodyさん02/09/08 10:39ID:???
http://conv.3utilities.com/
ここは、どういう技術を使っているのでしょうか?
適当なスレが見つからなかったのでここで聞かせて頂きました
0301nobodyさん02/09/08 11:12ID:???
ただのCGI。注目すべき技術なんてものはないように見える。
0302nobodyさん02/09/08 21:38ID:???
>>300
ただ単にアップロードされたファイルをPerlのsystemかexecで外部処理してると思われ。

これで思い出したけど、自宅鯖でimgboard.cgiを改造して、アップロードされた画像を縮小加工、別ファイルとして
保存して、サムネイル画像にそれを表示させる事で回線の細さをカバーしてるところがあったな。

ヤフオクと似た仕組みだね。
0303nobodyさん02/09/09 23:48ID:???
apacheの認証について質問です。

認証する際にダイアログが出ますがこれを普通のWEBページで出来ないものでしょうか?
0304nobodyさん02/09/09 23:49ID:???
.htaccess
basic認証
0305nobodyさん02/09/10 01:03ID:???
>>303
cgiでも使え。
0306nobodyさん02/09/10 02:45ID:???
>>305君は無視の方向で
0307nobodyさん02/09/10 03:49ID:???
>>304
すいません,書き方が悪くて。

.htaccess basic認証を使った場合,
ダイアログが出てしまいますが,これを普通のWEBページの
フォーム上からBasic認証できないものでしょうか?

どなたかお知恵をお願いいたします。
0308nobodyさん02/09/10 06:27ID:???
>>307
簡単。Javaでやりゃいい。
それらで拾ったユーザー、PWを
http://ユーザー:PW@hoge.com/unko/
とすりゃいい。
0309OSはM$02/09/10 07:44ID:???
このスレってWin32のApacheネタでもいいん?
いいんならチトお尋ねしたい事があるんですが。
0310nobodyさん02/09/10 12:29ID:???
>>303
BASIC認証の仕組み上、無理と考えてください。
別の認証方法を使う必要があります。

>>308
それってJavaScriptのこと?
URL中にパスワードを含めるのはログに残ってアレなので、
よっぽどのことがない限りやらない。

>>309
問題ないかと。
0311nobodyさん02/09/10 16:20ID:???
>>309
バチコイ
0312nobodyさん02/09/11 02:24ID:???
WWW-Authenticate: Basic realm="fieldname"
HTTP/1.0 401 Unauthorized
0313nobodyさん02/09/11 15:18ID:???
>>312
わかりかねます
0314nobodyさん02/09/12 14:58ID:4YB9uNfo
http://61.205.11.173/
0315hack me!02/09/12 15:14ID:PbjeCKLO
http://61.205.11.184/
0316nobodyさん02/09/12 23:18ID:G8vqFC9j
mod_gzipのmod_gzip_minimum_file_sizeって、どれくらいが良いんでしょうか。
いま300なんですけど、ほとんどのHTMLがそれ以下です。
gzipの圧縮効率もあるから、あまり小さいのも意味ないですよね。
0317nobodyさん02/09/12 23:19ID:???
わからんのならデフォ。
0318nobodyさん02/09/13 00:46ID:???
>>317
>>316氏は一応考えていると思われ
0319nobodyさん02/09/13 00:50ID:???
apache2のmod_deflateだとサイズでは制御できないんだよなぁ。
0320nobodyさん02/09/13 01:39ID:???
>>319
mod_deflate、mod_gzipと比べると少し使いづらいですよね。
これから良くなっていくのかな?
0321nobodyさん02/09/13 03:24ID:???
最近無条件にmod_gzip入れてる人多いけど、転送量に悩まされるほどアクセスが多くて、
でもCPUとメモリは腐るほど潤沢で、サイトのコンテンツはほとんどがテキスト、
というサイトってそんなにあるのかなぁ。

正直入れてみたいだけちゃうんか、と。
0322nobodyさん02/09/13 03:43ID:???
>>321
ADSL鯖は常に帯域に悩まされてるようなものだからね
帯域と比べるとCPUを持て余してる
0323nobodyさん02/09/13 06:27ID:???
>>321
そりゃ、cgiやphpとかでも、gzip入れると全然違うよ。
LAN接続じゃ対して変わらないように見えるが、WANからだとサクッと表示されるようになるしな。

ページによっては、数パケで済む場合もあるし、これだとADSL鯖だと気づかれにくい事もある(w
画像置くともうダメだが。
0324nobodyさん02/09/13 15:10ID:???
パケット通信料も少しだけ安くなる。定額なら無関係だけど
0325nobodyさん02/09/13 21:19ID:???
ADSLとかの回線が細いとこでも効果があるが、
海外に鯖がある場合とかの遅延が大きい場合も効果がある。
相手の反応待ちを極力減らせるから。
0326nobodyさん02/09/13 22:30ID:???
イマドキ海外で遅延が大きいなんてどこの国だよそこ。

たしかに中国とかは5年前並に遅いけど。
0327nobodyさん02/09/13 23:20ID:???
数字的には数百msと数十msだから大して違わないように思えるが、体感的にはかなり違う。
特に最近は末端がブロードバンド化して、すいすい落ちてくるのが当たり前になっているから、
ちょっとでもつっかかると、「遅い」 と感じてしまうからなおさらに。
0328nobodyさん02/09/13 23:40ID:???
>>327
「数百msと数十ms」とはナニが?と聞いてみる。
0329nobodyさん02/09/14 00:45ID:???
>>315はえろいな
0330nobodyさん02/09/14 02:10ID:???
海外鯖の遅延はイタリアとかあっちの方だと感じる
0331nobodyさん02/09/14 07:56ID:???
とあるハウジングのマシンで試しにmod_gzip入れてみて、
自宅のADSL8Mから厨房っぽく
ダウンロードソフトで何度もページ落としまくって時間を比べた限りでは、
mod_gzip入れてないほうが微妙に速かった。
CPUを食ってるせいなんだろう。
テストに使ったのはPHPを使った5KB〜15KBくらのtext/html。
もっとサイズが大きくなれば得るところもでかいんだろうけど、
多分、小規模ドキュメントが多いところでは入れなくてもよさげ。

もっとちゃんと統計とって、
「この辺のサイズからグンとお得になります」
みたいなのまとめてるサイトはないものか。
0332nobodyさん02/09/14 09:25ID:???
>>331
アフォか?
mod_gzipは回線が256Kbpsとか512Kbpsで、テキスト主体で混み合ってるような条件で効果を発揮するんだよ。
ガラ空きのマシンに入れても意味ないだろ。無駄にCPU食うだけ。
2ちゃんねるみたいにテキスト主体で100Mbpsの帯域を使い切ってしまうようなケースでは
CPUを食うけどmod_gzipの効果は絶大。転送量が1/4ぐらいに落ちたんだからな。
それに、phpを使ったテキストじゃ意味ねぇだろ。
htmlファイルでやってみろ。
少なくとも、俺が検証した時は、txt、htmlなら、1.4〜3倍ぐらい転送スピードが上がった。
shtml、php、cgiはあまり上がらなかった。
0333nobodyさん02/09/14 15:48ID:???
>>332
とりあえず煽るのが習い性になってるんかい?
誰も2chでの結果を否定したりしてないよ。

小さなphpのサイトじゃほぼ無意味だと確認したんですけど、
その文意が汲み取れませんか?

> shtml、php、cgiはあまり上がらなかった。
あなたの実験だって似たような結論なわけでしょう。
text/htmlを返してるのに何故上がらないのかってとこを考えてみれば?
ついでに2chだってウェブブラウザは CGI 経由なわけだが。

俺は、分岐点が知りたいんだっていってんのに。
そのうち自分で実験するが。
0334nobodyさん02/09/14 18:17ID:lJR5BBC/

mod_gzip って、VritualHostじゃ圧縮しないんでしょうか?
033533402/09/14 18:26ID:lJR5BBC/
http://snap.shot.cx/973772905/ に、
> VirtualHostごとの個別設定みたいなものにmod_gzipは対応していないみたいなのだ
とあるんですが、うちのサーバでもドメインで接続すると圧縮してくれない。
033633402/09/14 18:42ID:lJR5BBC/
xxx.xxx.xxx.xxx - - [14/Sep/2002:17:24:50 +0900] "GET / HTTP/1.1" 200 3761 mod_gzip: DECLINED:EXCLUDED In:0 Out:0:0pct.
は圧縮されてませんが動いていますよね。

xxx.xxx.xxx.xxx - - [14/Sep/2002:17:28:22 +0900] "GET / HTTP/1.1" 200 2015 mod_gzip: - In:- Out:-:-pct.
は動いていないということで良いんですよね?
0337nobodyさん02/09/14 19:10ID:Q771RJXk
圧縮済みのファイルを用意してコンテンツネゴシエーションで振り分ければ
CPU消費は少ないんじゃないの
0338KeepAlive On02/09/14 19:35ID:???
そりゃそうと、Windows版Apacheを個々のユーザーのマシン環境に合わせて
チューニングやカスタマイズ、またモジュールの製作なんかを漏れみたいな
安月給サラリーマンのために低料金で行ってくれる会社を紹介してほしいん
ですが、誰かいい会社や団体を知りませんか?
0339nobodyさん02/09/14 20:41ID:???
>>331-333

アホですか?
動的コンテンツだろうが静的だろうが圧縮の結果には変わりがないんだけど。
これら変わらないとしたら回線速度よりも動的生成のオーバヘッドが
ボトルネックになってるせいで、問題の所在はまったく異なる。
32kbps の AirH" のような低速回線で接続すれば回線の方で律速されるから
ちゃんと効果が出てくる。それでも変わらんのなら、CGI を設計しなおすべき。

>>334
VirtualHost でもちゃんと使える。

>>337
コンテンツネゴシエーション自体がかなり重い部類に属するよ。
圧縮とどっちが重いかはちゃんと比較したことないから知らんけど。
0340nobodyさん02/09/14 21:20ID:j2HWbBRK
コンテンツネゴシエーションってAcceptなんちゃらをみてファイルを選び取るだけでしょ?
動的に圧縮するのと比べて重いとは考えにくいと思うけど。
0341nobodyさん02/09/14 21:33ID:???
>>339
>>331>333は、動的生成のオーバーヘッドとgzip圧縮のトラフィック減とのトレードオフで、
バランスがいいのはどの辺からかってことなんじゃないか。
はっきり言ってそのサイト毎によって異なるから、他人ではまとめようもないかと。
だってマシンアーキテクチャからしてバラバラなんだから、自分でabとか使って実験してみろと。

>>334
VirtualHost毎に有効無効切り替えられたはず。試してみ。
0342nobodyさん02/09/14 21:44ID:???

Apache2.0.40で、suExecをドキュメントルートで実行って、できる?

./configure --enable-suexec --with-suexec-caller=www --with-suexec-docroot=/usr/local/apache2/htdocs --with-suexec-logfile=/usr/local/apache2/logs/suexec_log
でやってみたけど、ユーザディレクトリ(/home/public_html以下)ならできるけど、
ドキュメントルート(/usr/local/apache2/htdocs以下)だと、suExecかかってないっぽい。

ちなみに、実験につかったソース
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print ">PRE<";
print "$0 is being run by User ID $< as PID $$\n";
print `whoami`;


ユーザ領域だと
>PRE< index.cgi is being run by User ID 500 as PID 1073
tetsu

になるけど、

ドキュメントルートだと
>PRE</usr/local/apache2/htdocs/index.cgi is being run by User ID 80 as PID 1074
www

になってしまう。

ちなみに、ドキュメントルートの所有者は、ユーザ領域と同じtetsuで、IDは500
0343nobodyさん02/09/15 00:08ID:???
>>342
SuexecUserGroup ディレクティブ
説明: CGI プログラムのユーザパーミッション、グループパーミッション
構文: SuexecUserGroup User Group
コンテキスト: サーバ設定ファイル, バーチャルホスト
ステータス: 拡張
モジュール: mod_suexec
互換性: SuexecUserGroup は 2.0 以降でのみ使用可能。
0344nobodyさん02/09/15 01:21ID:???
ヽ(´ー`)ノ マターリとね
0345nobodyさん02/09/15 22:12ID:???
>>343
SuexecUserGroup設定して試したものの、
ドキュメントルートと、ドキュメントルートと同じユーザの~以下以外では、
所有者と実行者のUIDが違うよんと怒られま。

<Directory ・・・>
</Directory>
内ではSuexecUserGroup使えないし、コマリンコ
0346root02/09/16 02:30ID:???
Apache2.0.41-dev(Win32)はどこに落ちてますか?
PHP4.3.0(RC)Win32はどこに落ちてますか?
Apache2.0.40(Win32)+PHP4.3.0(Win32)+mod_ssl+Open_SSLで動かしている
ヤシはどこにいますか?
0347nobodyさん02/09/16 02:53ID:???
>>346
phpはここにある
http://snaps.php.net/win32/
あと、俺のWin機はIIS
0348root02/09/16 16:36ID:???
>>347
あぁ、ありがとう、ありがとう。
早速ボクちんのApache2.0.39環境に4.3.0-devのphp4-ze2-win32-latestを
入れてみたんだけど、ApacheのCPU使用率が常時80から90%になっちゃう。
4.2.4-devのphp4-win32-STABLE-latestは
『PHP_IMAP.DLL' - 指定されたプロシージャが見つかりません。』

『APACHE.EXE - エントリ ポイントが見つかりません : プロシージャ エントリ ポイント _ecalloc がダイナミック リンク ライブラリ php4ts.dll から見つかりませんでした。』
が出るものの問題なく走りまひた。

Apache2.0.40(Win32)用のSSLはいづこに・・・。
0349nobodyさん02/09/16 17:17ID:???
Win版ApacheでPHP使う場合、外部CGI式にした方が安定してるよ。
モジュール式だとメモリ食いつぶす。

日/200ヒット程度なら問題ないが、日/10万ヒットな環境だとapache.exeが
70Mbyteもメモリ食いつぶしてしまうよ。
外部式CGIにすると、apache.exe、メモリ4Mbyteしか消費しなくなるしね。
0350root02/09/16 18:21ID:???
ボクちんのApache2.0.39は今130MB食ってますぅ。
でも、CGIモードで走らせると不具合が出るスクリプトが
ありません?
処理速度的にもCGIモードよりISAPIモードの方が早いし。
どっしようかなぁ。
0351nobodyさん02/09/16 21:57ID:???
大きなファイル(例えば100MB)をダウンロードさせるとき、
ダウンロード開始から完了までの時間を制限する方法は無いかのお?
0352nobodyさん02/09/16 22:25ID:kWza2nw4
>>351
タイムアウトさせたら?
0353nobodyさん02/09/16 22:47ID:???
>>350
CGIで走らせると不具合が出るスクリプト?
レッツPHPのアクセス解析だと動かなくなるね。
つーか、WebAlizerでログ集計するようになったからこれはもう不要になったし。

掲示板とかチャット、アンケート集計など、一通りのPHPスクリプトを使ってるけど、動かない、なんて事はないよ。
前述のアクセス解析ツールだけだなぁ。

つか、アンケート集計では、日に600件ぐらい投票があって、モジュール式だとちょくちょく飛んでた。
CGI式に切り替えたら安定して動いてるし、飛ぶ事もなくなった。

速度よりも安定性を取るのは当然。どうしてもモジュール式で動かしたかったら1時間毎に再起動したら?
それしかないと思う。
0354root02/09/16 23:29ID:Bzg7QZDj
>>353
マジデスカッ!
うーん、飛ばなくなったんですか。羨ましいなぁ。
よし!ボクちんもCGIモードで動かして様子見ることにしますぅ。
んでも、スクリプトの一行目にPerl-CGIみたいにPHP.EXEまでの
絶対パス書かなきゃだめでしたよね。違いましたっけか。
>速度よりも安定性を取るのは当然。どうしてもモジュール式で動かしたかったら1時間毎に再起動したら?
あ、それボクちんもやったんです。でもリスタートするとスレッド数がThreadsPerChildで指定した数に遠く及ばない状態になってしまって、鯖が
うんともすんとも言わなくなることがあるんですぅ。
完全停止させてからスタートさせればとりあえずは問題ないですぅ。
有用な助言ほんとうに感謝しますぅ。
なって
0355root02/09/16 23:30ID:Bzg7QZDj
ギョエー
>>354の最後の「なって」はゴミですぅ。
ごめんなさいですぅ。
0356nobodyさん02/09/16 23:46ID:???
>>352
いやね、TimeOutはどうかなーと思ったけど、
ちんたら細々とダウンロードされるとなかなかTimeOutしないのよ。
TimeOut 300とかやっても300秒どころか30分でも1時間でも居座るの。
まあMaxClientsを増やせば済むという解決法もあるがの。
0357nobodyさん02/09/17 03:03ID:???
CGI版、Module版、ISAPI版だったらやっぱりISAPI版が一番いいんですかね?
0358root02/09/17 10:25ID:???
えっと、今日は学校さぼってCGIモードの状況確認ですぅ。
朝7時にApacheを終了させてhttpd.confの設定変更を行って再びApacheを
起動しましたぁ。
Apacheの現在のメモリ使用量は26MBですぅ。システム的な不具合も起きて
いません。
スクリプトも手を加えずに以前のままで問題なく走ってますぅ。でも、それは
ドキュメントルートとその配下のディレクトリにあるものだけですぅ。それ
以外のエイリアス指定されたディレクトリにあるスクリプトは500エッラーで
はっしりっません。

ボクちんって何かほかに設定すべきことを忘れてるんでしょうか?
0359root02/09/17 11:40ID:???
えっと、ドキュメントルートの外に置かれたスクリプトは、php.iniの
user_dirにそのパスをセットしてもエッラーで動かなかったから、
doc_rootの値を空にしちゃって解決ぅ。いいのかなぁ。
0360root02/09/17 11:47ID:???
>>357
ボクちんもISAPIモードがいっちばん好きなんだけど、このモードでApache走らせ
るとリクエストを処理しているうちに、だんだんWindowsがおかしくなってきちゃうの。
挙句の果てはSTOPエラーですぅ。
今回>>353さんのご助言をもとにCGIモードに替えたから、これでWindowsがおかしく
ならなかったら、完全にISAPIモードのバグだとおもいますぅ。
0361nobodyさん02/09/17 16:09ID:???
mod_ssl 当ててないヤツは早急に当てれ
0362nobodyさん02/09/17 17:54ID:???
>>361
あーなんかまた穴が空いてて、つーか穴が無いもんだから
バッファがオーバーフローしちゃう穴が見つかったみたいね。
というか漏れはWinユーザーだからどこかにバイナリがうp
されないとどうしようもない。誰か知らんかね?
0363nobodyさん02/09/17 18:01ID:???
certificateもってもないのに、443は要らないの。
とっとと閉じちゃいましょうね、はいはい。
0364若葉02/09/17 18:13ID:???
>>361
SSLって利用料金かかるんじゃないの?
ドメイン登録しないといかんのでしょ
0365nobodyさん02/09/17 18:22ID:???
SSLでは証明書に偽りがないことを第三者に保証してもらう必要がある。
この「第三者」をちゃんとした業者に頼むなら金がかかる。

が、よそにやってもらうかわりに自分でやっちまえば金はかからん。
そのかわり信頼性は低くなるし、そのサーバにHTTPSでアクセスするたびに
「その証明書おかしいんじゃーの?」という警告が出る。
0366nobodyさん02/09/17 18:29ID:???
ここがその例だな。
GNUへの募金
http://donate.fsf.org/
0367nobodyさん02/09/17 19:14ID:???
>>363
アホやなコイツ。
自宅鯖でもテスト用に作成したCAで自サイトとクライアント間の通信を
暗号化できるの知ってんだろ。あ、ゴメソ、アッフォだから知らないか。
だからほれ、あれだ、ようは自サイト内のコンテンツにクライアントの
メアドとかのちょっとした個人情報や、管理人宛に送る文章を入力して
もらうフォームなんかがあったら、ちょっと暗号化したくなるだろ?
・・・・・・アッフォはそんな事は考えないか。合掌。
0368nobodyさん02/09/17 21:22ID:???
>>354
外部CGI式にしても、php内の一行目にパス追加、なんて事は、Apache側の設定で回避出来るよ。
Apache1.3.26の設定例になるが、スクリプトエイリアスでphp.exeを置いてるパスのエイリアスを作る。
で、アクションアプリケーションで、phpなファイルはエイリアスにあるphp.exeを起動させる、と言う指定をすればいい。
これでモジュール式phpから移行したとしても、楽に出来るよ。

>完全停止させてからスタートさせればとりあえずは問題ないですぅ。
そうだわな、リスタートじゃメモリに居座ったりするからなぁ。
ストップ、スタートとさせないと安定して動かないんだよな。

エイリアスに置いてるphpが動かないみたいだけど、うちの環境では問題無く動いてるよ。
httpd.confに設定すれば問題はないみたい。
0369nobodyさん02/09/17 22:07ID:???
>>368
なるほど、そうすれば perlでもパス書かなくてすむね。
0370nobodyさん02/09/17 22:20ID:???
>>369
ダメでーす。
phpでこれができるのは、はじめからそういう使い方を考慮して設計されてるから。
perlはそんなことを考えて作られてない。
0371nobodyさん02/09/17 22:42ID:???
>>369
Perlでも一応できるよ。別の方法でね。
#オレは詳しく知らんのでだれかきぼんw

ScriptInterpreterSource registry
ってのがあるみたいだが、関連付けに手間取って(つーかよくわからんかった)、
できなかったので俺みたいなやつにはお勧めできない。
#結局できなかったしw
0372nobodyさん02/09/18 02:11ID:l892fLm0
perl のパス問題はシンボリックリンク一本で解決するので、どうでもいいと
思うのですが悩ましいでしょうか。敢えて perl のフルパス表記を止めるなら、
以下のような書き方があります。

#!/bin/sh

(echo \$0='"'"$0"'";'; tail +5 $0) | exec perl
exit $?

# perl script comes hereafter.
printf("Hello, World!\n");

Win 環境の場合は CMD.EXE を叩けばいいと思います。遅くなりますが。
037337202/09/18 02:14ID:l892fLm0
それはそれとして質問なのですが、cronolog と httplog はどちらがお勧めで
しょうか。なんかあまり差が見えないのですが、cronolog を参考に httplog
が書かれたという認識でいいのでしょうか。
0374nobodyさん02/09/18 03:27ID:???
オンラインマニュアルのデザイン変わってた
http://httpd.apache.org/docs-2.0/
0375nobodyさん02/09/18 10:47ID:???
>>367
( ´,_ゝ`)プッ 自己認証でSSL上げるほどオナニーな使い方はねーヨ。
たかが、そんなことするために嬉しがって、SSLにせんでもええわ。
必死だな、このアフォ。
0376nobodyさん02/09/18 11:24ID:???
>>373
とりあえず、それがどの環境で動く何をするものなのか書いてくれや。
ぐぐる手間がはぶける。

で、結論からいうと、「そのぐらい自分でスクリプト書けば?」
スクリプトの骨格は下のような感じ(もちろんこれだけでは不十分)。

#!/bin/sh
mv access.log access.log.`date +%Y%m%d`
cp /dev/null access.log
apachectl graceful
037737302/09/18 12:43ID:???
> とりあえず、それがどの環境で動く何をするものなのか書いてくれや。
> ぐぐる手間がはぶける。

ごめんなさい。両方知ってるようなコアな人が居るといいな、と思って
書き流したもんで。

> で、結論からいうと、「そのぐらい自分でスクリプト書けば?」

えーと、分かってるとは思うんですが念のため。log のローテーションにはいろいろ
微妙な点があります。(例えば graceful restart はログの移行を保証しない。
詳しくは http://httpd.apache.org/docs/logs.html#rotation 等参照。
もともと syslogd が pipe を使うのも、そこに理由があるわけで。)

で、その辺を考えて自分で perl のスクリプトを組んであちこちで流用していたの
ですが、ありものでちゃんと動いて、かつ高速で graceful restart の曖昧性もない
んならそっちを使う方が正しいだろうつうことで、今は cronolog を使っています。
その後、httplog についても知ったので、そっちはどうなのかな、と。
037837002/09/18 14:56ID:???
httpd.confか.htaccessに以下を追加する。

AddHandler perl-script pl
Action perl-script /cgi-bin/perl-wrapper.cgi

/cgi-bin/perl-wrapper.cgiに以下のスクリプトを置く。

#!/usr/bin/perl
my $script = $ENV{PATH_TRANSLATED};
my $dir = $script;
$dir =~ s@/[^/]*$@@;
if (! -f $script) {
print qq(Status: 404 Not Found\r
Content-Type: text/plain\r
\r
script not found.
);
exit;
}
chdir($dir);
exec("$^X", $script);

以上により、
・拡張子.plのファイルは、そのスクリプトの#!の行に示されているperlではなく、
 perl-wrapper.cgiの#!行のperlで実行される。
・chmod +xしなくてもスクリプトが実行されるようになる。
・cgi-binにしかCGIを置けない環境でも、cgi-bin以外の場所に置いたスクリプトを実行できる。
phpのCGI起動では、phpの内部でこのスクリプトと同様の処理がおこなわれている。
あ、ちなみにこのスクリプトは3分で書いたいいかげんなもので、
バグやらなんやらがあるかもしれんので注意。あくまでサンプルであって、
371の言うとおり、Win32のApacheではそれ用のディレクティブを使った方がいい。
0379nobodyさん02/09/18 15:40ID:???
あるIPアドレスの人のアクセスログを残したくないのですが、
どのファイルにどのように記述すればいいですか?

SetENVIfを使って あるIPアドレスははじく方法を見つけたのですが。
0380nobodyさん02/09/18 15:51ID:???
>あるIPアドレスの人のアクセスログを残したくないのですが、
>どのファイルにどのように記述すればいいですか?

httpd.confでSetEnvIfを使ってください。

>SetENVIfを使って あるIPアドレスははじく方法を見つけたのですが。

そんなことにSetEnvIfを使わないでください。
■ このスレッドは過去ログ倉庫に格納されています