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
624 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 13:39:42 ] >>617 応用力?w それなら %X 応答が完了したときの接続ステータス を使うから、mod_logioをその目的に使おうなんて思わないんだよ。 だから誰もお前の「応用」を理解できないんだよ。 それにそもそも質問者に対する答えになってないだろ>>579 は。
625 名前:620 mailto:sage [2008/05/21(水) 13:46:19 ] >>621 否定も肯定もしないよ。 >>619 の前半に答えただけ。
626 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 13:47:05 ] っていうか、よく見たら >%b 転送する予定のバイト数 >%O 転送したバイト数 これ思いっきり嘘じゃねーか。 %b response body だけのバイト数 %O header 込みの総バイト数 どっちも実際に転送したサイズで、転送する「予定」のバイト数ではない。 つーか、CGI みたいにリクエストを受けてから動的に生成してるページの 「転送する予定のバイト数」をどうやってログに載せるんだよ。
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 14:12:20 ] >>624 後出し乙。後出しといわれたくなかったら、別スレでお前が自分で 言ってたようにmd5貼っとけば良かったのに。www >>626 ウルトラ初心者は黙ってろよ。 > どっちも実際に転送したサイズで、転送する「予定」のバイト数ではない。 >>589 でも引用している。 > httpd 2.0 では 1.3 とは異なり、%b と %B フォーマット文字列はクライアントに > 送信されたバイト数そのものではなく、 HTTP レスポンスのバイト数です (これら > つーか、CGI みたいにリクエストを受けてから動的に生成してるページの > 「転送する予定のバイト数」をどうやってログに載せるんだよ。 apacheが一旦受け取ってバッファリングしている。 お前は知らないだろうが、HTTPレスポンスメッセージにはステータスラインが必須なのだが、 Apacheが裏でつけてくれている。 お前のようなウルトラ初心者が作ったCGIの出力を正しいHTTPレスポンスメッセージにするた めにApacheは頑張ってるんだぞ。
628 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 14:37:22 ] 後出し?別スレ?md5? もういいよ
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 15:42:01 ] >628 お前の負けーwwwwwwwwwww
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 16:39:10 ] 劣悪な通信環境化でのサーバ・クライアントのやり取りを見ているみたいだw
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 16:44:17 ] 以上、本試合は「最後にしゃべった方が勝ち」ルールでお送りしました。
632 名前:名無しさん@お腹いっぱい。 [2008/05/22(木) 15:57:46 ] apache-2.2.8 をインストールしました。 httpd.confにて、 DocumentRoot "/usr/pkg/share/httpd/htdocs" を、 DocumentRoot "/www/htdocs" に変更しました。(/www/htdocsは作成し、index.htmlも作成しました。 そして、apacheを再起動してアクセスすると Forbidden You don't have permission to access / on this server. と表示されてしまいます。 何が原因かわかりません絵ででしょうか? 上記以外の修正点は、 ServerAdmin と ServerNameだけです。
633 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 16:06:39 ] 777にでもしてみ
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 16:12:28 ] /www/htdocs に対し、GroupとUserで指定した実行ユーザのアクセス権限がない →ディレクトリのパーミッションを調べる /www/htdocs に対し、ディレクティブで許可指定が無い →とりあえず<Directory /usr/pkg/share〜> とかいう部分を/www/htdocsに書き換えてみる 最低の対策としては、多分このへんでは。
635 名前:632 mailto:sage [2008/05/22(木) 16:19:42 ] ありがとうございます。 解決できました。 DocumentRootだけを変えていたのですが、cgi-binやerrro, iconsも同じパスに変更し、 もとのDocumentRootの中身をすべてコピーすればできました。 お手数をおかけいたしました。
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 16:30:42 ] 777のままにしとくなよ。
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 05:25:35 ] mod_proxy 使って、クライアント→SSLproxy化サーバ→WEBサーバ というようにSSLアクセスさせたいのですが、 この場合に、 ログの管理上、 WEBサーバにクライアントのIPを直に残させることは可能なのでしょうか。
638 名前:名無しさん@お腹いっぱい。 [2008/05/23(金) 07:13:32 ] XAMPP for Windowsでローカル用にApache 2.2.8を動かしているのですが、 ちょっと困ったことがあり、御助言を頂きたく思います。 USBメディアにて異なる環境にてapacheを使えるようにしているのですが、 httpd.conf(実際には httpd-vhosts.conf)の、<VirtualHost *> の DocumentRoot 指定に 存在しないドライブを指定すると、 Syntax error on line 80 of (インスコしたディレクトリ)/xampp/apache/conf/extra/httpd-vhosts.conf: DocumentRoot must be a directory と言われてapacheが起動しません。 環境によって場合分け、もしくは、存在しないドライブを指定しても(無視して)起動できるようにする方法はありませんでしょうか? 結局のやりたいこととしては、家の環境と作業場の環境のsambaで割り当てたドライブ(家の環境には存在しない)で、 共通の方法で運用したいということです。
639 名前:638 [2008/05/23(金) 07:28:59 ] バージョンを書き忘れてました。 Server version: Apache/2.2.8 (Win32) XAMPP Version 1.6.6a です。 補足なのですが、他のバーチャルホストの設定などの共通の設定もたくさんあるため、 できれば、apacheなどを2つわけてインストールをしたくないということです。
640 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 09:14:32 ] >>637 proxy→web鯖 の際、mod_proxyの機能として、 X-forwarded-For というヘッダがリクエストに挿入されるので、それをログに記録すればよい。 あるいは、mod_rpafを入れればHostが上書きされるのでログも変わる。
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 09:15:41 ] 場合わけで使えそうなのは IfDefine かねえ。 ttp://httpd.apache.org/docs/2.2/ja/mod/core.html#ifdefine
642 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 10:29:19 ] 自宅パソコンの中身を同じ風味にすれば良いかと ドライブレター変えるとかエイリアス作るとか
643 名前:638 mailto:sage [2008/05/23(金) 13:28:38 ] >>641 いけますた!! 次のレスのようなWSHを書いて、 <IfDefine WorkMachine> <VirtualHost *> DocumentRoot ないドライブを含むパス : : </IfDefine> みたいに、httpd.conf(httpd-vhosts.conf)に書いておけばばっちりでした。
644 名前:638 mailto:sage [2008/05/23(金) 13:29:06 ] でっち上げたWSHです。 MachineNameForWork = 'RED'; function IsMachineForWork() { return WScript.CreateObject("WScript.Network").ComputerName == MachineNameForWork; } function GetApacheArgs() { return IsMachineForWork() ? " -DWorkMachine" : ""; } var args = WScript.Arguments; var shell = WScript.CreateObject("WScript.Shell"); var isStopMode = (args.length == 1 && args(0) == 'stop'); // stop process shell.Run('apache_stop.bat', 0, true); if (isStopMode) { // if mysqld is not booting, beep onn urusai!! shell.Run('mysql_stop.bat', 0, true); WScript.Quit(); } WScript.Sleep(1000 * 3); // run apache etc... shell.Run('apache\\bin\\apache.exe' + GetApacheArgs(), 0, false); WScript.Sleep(1000 * 1); shell.Run('mysql\\bin\\mysqld --defaults-file=mysql\\bin\\my.cnf --standalone', 0, false);
645 名前:638 [2008/05/23(金) 13:30:56 ] >>642 アドホックに行くならば環境の方を変えてしまうのもアリですね。 無事解決いたしました。 ご協力くださりありがとうございました。
646 名前:名無しさん@お腹いっぱい。 [2008/05/23(金) 14:52:57 ] FreeBSDでApache2.2.8で存在しないディレクトリをDocumentRootに設定したら Warning: DocumentRoot [/usr/home/user1/www/vh/virtualhost1/] does not exist って警告が出るけど普通に起動するね。 存在しないドライブだとエラーになるのか…。バグ報告出すかね。
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 21:29:59 ] >>646 まずソースを読んで、意図的なのかバグっぽいのか判断してみては? メインのDocumentRootだとエラーで、<VirtualHost> だったら警告のみ、とかって いう風になっている可能性もあるし。いきなりバグ報告されても萎えると思う。 # 漏れは読んでない。ごめん。
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 01:02:19 ] すいません、以前アドバイス頂いた>>507 です。 チラシの裏みたいで恐縮ですが、その後の快調になりました。ありがとうございます。 今回いろいろ蓄積してきたルールを整理しようとしているのですが、 httpd.confに <IfModule mod_limitipconn.c> ExtendedStatus On <Directory "/var/www/example/*/example"> <FilesMatch "\.(zip|lzh|rar|sit|tgz)$"> MaxConnPerIP 2 </FilesMatch> </Directory> </IfModule> ... <IfModule log_config_module> ... SetEnvIf User-Agent "(bad-agent1|bad-agent2 ...)" robots ... SetEnvIf Referer "example.jp" ref_ok SetEnvIf Referer "^$" ref_ok </IfModule>
649 名前:648続き mailto:sage [2008/05/24(土) 01:03:14 ] そしてhttpd-vhosts.confに <Directory /var/www/example/*/example> <FilesMatch "\.(zip|rar|lzh|sit|tgz)$"> Order deny,allow Deny from env=robots Allow from env=ref_ok </FilesMatch> </Directory> としている箇所がありますが、limitは効いて503を返すのですが、アクセスログを見るとuser-agentで弾けてないのに気づきました。 前はSetEnvIFでの環境変数の設定はしてずにRewriteルールで403を返すようにしていました。 これはルールの適用順の問題なのかアドバイス頂けますと助かります。 で、前述のとおりログを見て気づき、修正できるまでRewriteとSetEnvIfはコメントアウトして、同一ipから503を返した回数に閾値を設定し、超えたユーザは問答無用でiptablesに突っ込んでいます。 なるべくiptablesをしょっ中更新したくないので、apache側で出来ないかと思いました。 もし、私の設定単純ミスでしたらお詫びします…宜しくお願いします。
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 04:56:52 ] 複合条件だから難しいなw こんな感じかな? SetEnvIf User-Agent "^bad-agent1" robots SetEnvIf User-Agent "^bad-agent2" robots SetEnvIf Referer "^.+" ref_ng SetEnvIf Referer "^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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 05:01:13 ] 閾値の件については、apache で処理させてたら意味ないな。 503 を返そうが 403 を返そうが、リクエストが httpd にまで到達していることに 変わりはないので、処理コストの若干の違いはあれど同じこと。 ログを定期的に見て、IP アドレスを iptables に追加するスクリプトでも 書いたほうが早いかと・・・・
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 05:03:35 ] >>650 度々すんませんorz 修正・・・ × Deny from env=!ref_ng ○ Deny from env=ref_ng
653 名前:648 mailto:sage [2008/05/24(土) 07:35:29 ] おはようございます。 朝までチューニングして眠たい>>648 です:-) >>650 ありがとうございます。ご参考にさせて頂きます。 やはりRewriteでやった方がいいでしょうか…。 別件ですが、limitも完璧ではないので、悪質なユーザになると1秒間に10以上のアクセスを掛けてきます。 >>651 ありがとうございます。一応1行野郎スクリプトで15分おきにログを見させて、閾値を超えたipをiptablesの設定スクリプトで拾ってはいるのですが…。 ただ、その更新中には全てのアクセスに一時応答しないラグが出るので(3〜5秒)、その際に嫌われないか思案中でした。 他の監視スクリプトもドンピシャリタイミングで動くとポート開いてネーヨ(゚Д゚)ゴルァ!!されるので、微妙にタイミングをずらしています。 …と書いてて気づいたのですが、激しく板違いでしたでしょうか…。
654 名前:648 mailto:sage [2008/05/24(土) 09:50:39 ] 殆ど>>650 さんのを参考に稼働させると limitで弾く前に評価され(当たり前なのかも知れませんが…すいません)、robotsと設定されたツールでアクセスされると403が返り、たまにこぼしていたlimitもより希望に沿う形となりました。 そこから若干変更を加え、SetEnvIfNoCaseに変更してある程度のツール系は遮断。 そこからブラウザのマッチ評価、そして同時接続数の評価へと改良しました やはり過度なアクセスがあるとlimitはこぼしてしまうので、完璧とは言えませんが基本ポリシーを満足させるものに近づきました。 なにせほぼ嫌がらせとしか思えないほど(今も)朝から凄まじいアクセスをしてきているので、気分はヌッ殺したいところです。( ´ー`)y-~~ ここ4日間で54万アクセス(503)ですので…。 mod_rewriteはもうちょっとしっかりとお勉強します。
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 14:58:44 ] >>653 > …と書いてて気づいたのですが、激しく板違いでしたでしょうか…。 個人的にだけど、Web 鯖へのアタックや過剰アクセスから守る方法として 一般論(?)が展開されるなら、このスレでも間違っていないと思いますお。
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 15:26:44 ] ipってゆうな。クズ。
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 16:28:09 ] テリー乙
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 20:10:23 ] perl-5.8.8nb7 Practical Extraction and Report Language ap22-perl-2.0.4nb1 Module that embeds a Perl interpreter into Apache をインストールしました。 apache2 の起動はできるようになったのですが、mod_perl の使い方が分かりません。 どのように設定すればいいでしょうか?
659 名前:658 mailto:sage [2008/05/24(土) 20:15:15 ] apache2はモジュールの読み込みが必要無いんですね
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 00:16:43 ] >>658 使い方が分からないなら今から覚えるな。バッドノウハウになりかねん。 まず SpeedyCGI で、次に FastCGI を覚える方がいいよ。
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 20:10:35 ] >>657 はあ?俺はテリーじゃねえしww つーかおまえらテリー乙テリー乙って馬鹿の一つ覚えみたいに言ってるけど テリーにもファンがいるってことを認めたくないだけだろww 現実見ろよwwwwwwww
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 20:20:27 ] テリーは目がいってるよ、こわいよお
663 名前:テリーファン mailto:sage [2008/05/25(日) 22:37:35 ] みんなテリーのことを悪く言いすぎだと思います。 一人で旅をするのはとても勇気がいることです。 武闘家にならずにバトルマスターになれるのもテリーしかいません。 もっとテリーを評価してあげてほしいです。 よろしくお願いします。
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 09:28:35 ] すみません質問です apacheからperlやphp等を実行する場合、実行権限ってどうなるんでしょうか? 試しにドキュメントルートより上の階層を見に行くスクリプトを組んで実行してみると難なく見えてしまいました ユーザー1であれば user1/ 以下の階層のみアクセス可能にしたいのですが、 そういった設定はapache側から行うんでしょうか? apacheのバージョンは2.2.3です
665 名前:名無しさん@お腹いっぱい。 [2008/05/28(水) 09:40:34 ] PerlもPHPも、Apacheの実行権限で動く。 (CGIのsuexecは除く) そして、Apacheから呼ばれるPerlもPHPも、ドキュメントルートは知ったことではない。 その辺は所有者やパーミッションをうまく設定するしかない。 suexecもその一環で使えると思う。そういう意味ではApache側からできるっちゃできるが。 PHPはセーフモードと言うのがあって、そういうことが出来るらしいが、俺は良く分からない。
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 09:48:31 ] そういう人は、jail+chrootで幸せになれると思うよ。
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 10:22:51 ] Windowsの場合はログインしてるユーザーなのかな jailはBSD以外でも言うのかな
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 14:03:26 ] 早速ありがとうございます! chrootコマンドだとユーザーが複数いる場合は難しいですよね? jailって、要するにvirtualPCとかvmwareとかと同じ仮想OSの事でしょうか 使ってるlinuxはCentOSなので、OpenVZって言うのが見つかりました 調べてみると、仮想OSを複数作ってもカーネルは1つでいいようです 結局、この仮想OS上でユーザーごとに別途サーバーを構築して 仮想OSごとにchrootするということでしょうか もしそうだとすれば相当面倒ですね^^;ポートは共有できるんでしょうか たとえばレンタルサーバーとか、いちいちそんなことをしてるんですか?
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 15:48:14 ] ニャース・ΜL キテガイリスト 28人目 pc11.2ch.net/test/read.cgi/unix/1211200469/ ニャース・ΜL キテガイリスト 28人目 pc11.2ch.net/test/read.cgi/unix/1211200469/ ニャース・ΜL キテガイリスト 28人目 pc11.2ch.net/test/read.cgi/unix/1211200469/ ニャース・ΜL キテガイリスト 28人目 pc11.2ch.net/test/read.cgi/unix/1211200469/ ニャース・ΜL キテガイリスト 28人目 pc11.2ch.net/test/read.cgi/unix/1211200469/ ニャース・ΜL キテガイリスト 28人目 pc11.2ch.net/test/read.cgi/unix/1211200469/ ニャース・ΜL キテガイリスト 28人目 pc11.2ch.net/test/read.cgi/unix/1211200469/
670 名前:名無しさん@お腹いっぱい。 [2008/05/28(水) 16:33:32 ] レンタルサーバーは普通CGIはsuexecかね PHPは知らん
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 22:24:51 ] やるとしたらフロントにプロキシ立ててNameBaseでポート別立てしたバックのapache叩く感じかなぁ 起動オプションでコンフィグファイル切り換えればpidファイルもユーザーも切り換えて複数のapache立てられる そもそも、そんな運用は却下するかな
672 名前:テリーファン mailto:sage [2008/05/28(水) 22:37:39 ] >>664 apache では何の制限もできないし、そのためだけにユーザ毎に chroot するのはちょっと無駄。 お互いのホームディレクトリを不可侵にしたいのであれば、各ユーザを同一グループ(users 等)に 所属させて、各ホームディレクトリを 0705 の permission に設定することで、ほとんどの場合問題ない。 /var/log とか見せたくないディレクトリは 0750 にすればいいし、ファイルアクセスはさせたいけど、 ディレクトリの中を見られたくない場合は 0751 すればいい。 レン樽鯖はこんな程度だと思われ。
673 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 13:48:00 ] apacheをインストールしたのですがstartを押すとThe requested operation has failedと出てきて起動できません。 解決方法をよろしくお願いします。
674 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 15:09:35 ] 早くしてください
675 名前:テリーファン mailto:sage [2008/05/29(木) 16:46:14 ] ,,,,,,iiiiiiiiiiiiiii,,,,,, ,,,iilllllll!!!l゙゙゙゙~~゙゙!!llliiii,,, ,,illlll!゙゙’: : : ::゙゙!lllllli,, ..,illlllllll″ : :;lllllllllli, .,illlllllll!!′ : ;::゙lllllllli, :lllllllll゙..,,,,,,,,,,ii : .i,,,,,iii,,::゙lllllllll、 .lllllllli,il!!!゙゙゙゛: : : `゙゙゙゙゙!",llllllllll: .lllllllll!: l!!○llト:,..,,:.ll○l!ll.:!lllll!゙゙ !llll!’: : ,,’ ’ : : : .:llllll° ,llllii, ll,,,、 ,_,,i、 ll'llll: ゙ll,l゙li..i、: : ``: ~゙°..",,.,l!|ll゙: ゙l,.゙ト 'lトェェェェェェイフ`゚,lll° ゙ll,,.', `゙゙`''''''゙゜ ||,,il!゙` ,,l!ili,: ,iliill,、 ._,,,,,iiillll;:゙!llil,,,,、.._,,,,ll!゙゙.ll!llii,,,_ _,,,,,,iiiiiiilllllllllllllllllll,::”`.゙゙゙゙゙゙゙゙″: .:l゙lllllllllllliiiii,,,__ lllllllllllllllllllllllllllllllllllllll: : ,lllllllllllllllllllllllllllliiiiii,,,,,、
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 16:57:22 ] >>673 httpd.confの編集ぐらいしれ
677 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 16:57:24 ] ↑ ふざけないでくださいな。 できれば今日中に回答ほしい。勉強が進まない。
678 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 16:58:29 ] >>676 あ、すみません。 それは編集しました。
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 16:59:58 ] ウホw 2秒後にレス来たのかと思って焦った error_log見たら? そのメッセージだけじゃ分からん
680 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:00:59 ] >>679 どこにあるんですかそんなの? start押したら>>673 のエラーメッセージが出るのですが?
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:02:47 ] ボットよけに特定のURLにアクセスがあったらそのIPからのアクセスを全部遮断したいんですが、なんかうまいことやる方法ありますか?
682 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:06:52 ] >>680 OSの種類とバージョン、apacheのバージョンとインスコ方法を記しなさい >>681 <Directory "/path/to/there"> Deny from .... </Directory>
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:09:14 ] この手のは相手しない方がいいよ。
684 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:10:13 ] >>680 winXP pro apache 2.0.54 普通にインストールしました。
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:16:36 ] >>684 なるほどね ネット関連のカテゴリに自宅サーバ板があるんで、そっち行ってちょーだい スレ違いでございます
686 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:17:14 ] >>685 ここapacheのスレだろ? 頭大丈夫か?
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:22:58 ] ここはUNIXの板だよ。 頭大丈夫?
688 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:23:48 ] どうでもいいからapache教えてくださいよ
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:24:19 ] テリー乙
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 00:26:06 ] 「start押す」って何かと思ってたw
691 名前:名無しさん@お腹いっぱい。 [2008/05/30(金) 00:31:41 ] ふと思ったけど、Linuxのユーザーと、Apacheのユーザーってどっちが多いかな?
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 02:05:19 ] Apacheじゃないかな。LinuxユーザならApache入れてる人そこそこいるだろうし、某メーカがApacheを 録画予約制御用にWindowsパソコンにプリインストールしてたりするし。
693 名前:名無しさん@お腹いっぱい。 mailto:粘着気違い猿晒しage [2008/05/30(金) 09:24:50 ] >>669 何でもかんでもコピペしてんじゃねえよクズ、今すぐビルから飛び降りて死ねやwwww 妄想爆裂発狂中のキチガイは今すぐ死ねwwwwwwwwwwwwwwwwwwwwwwwww どうでもいいんだよカス 早く死んでおけよwwwwwwwwwwwwwwww いいから今すぐに死ねwwwwwwwwwwwwwwwwwwwwwwwwww なんで精神病院に逝けないの?いいから死ねよもうwwww 完全に壊れたキチガイ猿は今すぐに死ねwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 19:37:02 ] apache geronimoなんですけど、他サーバのgeronimoを自サーバに丸々コピー(クローン) したいんですけど、設定等何か注意することはありますか? ディレクトリごと持ってきたのはいいんですけど、他サーバで起動していたシステムが 自サーバではacionエラーで動かなくて困っています・・・ 初期設定等何かありますかね?
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 16:13:11 ] ドメイン部分を変えずに、別サーバを読み込むことって可能ですか? DNSを使って example.jp → サーバA test1.example.jp → サーバB なら簡単かと思いますが、 DNSで変更を加えずに exmaple.jp → サーバA example.jp/test1 →サーバB というのは可能でしょうか? ぱっと思いついたのが、 mod_proxyですが、その他よさそうな方法があったら木盆ぬ
696 名前:名無しさん@お腹いっぱい。 [2008/05/31(土) 16:23:08 ] VirtualHost
697 名前:名無しさん@お腹いっぱい。 [2008/05/31(土) 16:42:51 ] そりゃmod_proxyしかないな >>696 質問読んでるか?
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 16:59:30 ] mod_proxy で実現できるけど、受け側に絶対パスの制約が出ることに注意。 ここを意識したサイト制作が出来るなら大丈夫かと。 × <a href="/">TOP</a> ○ <a href="../">TOP</a> × <img src="/img/moe.jpg"> ○ <img src="../img/moe.jpg"> さらに Location ヘッダにも影響が出る。Location は絶対パスしか出力できないので、 リクエストの最後に / があるかどうかで挙動が変わってしまう。 GET /test1/moe/ HTTP/1.1 Host: example.jp ↑これは問題ない。 GET /test1/moe HTTP/1.1 Host: example.jp HTTP/1.1 301 Moved Permanently Location: test1/moe/ ↑リダイレクトで変なところへ誘導されてしまう。 結論としては、あんまりオススメできる方法じゃあないですね・・・・
699 名前:698 mailto:sage [2008/05/31(土) 17:11:26 ] 訂正です。以下の文は関係ないので無視してくださいorz > Location は絶対パスしか出力できないので、
700 名前:名無しさん@お腹いっぱい。 [2008/06/02(月) 01:20:15 ] 質問があります。 現在ApacheとPHPを一緒に動かしているのですが、アイドル状態の子プロセスが死なず、また、 レスポンスが返ってこなくて困っています。 現象: 1Apacheの起動後、PHPアプリを起動 このときは問題なく表示されます 2ブラウザのリロードボタンを何度か(約8回)押します このときに、レスポンスが全く返ってきません。また、ブラウザの停止ボタンを押してプロセスをアイドル 状態にしても、MaxSpareServersで設定した子プロセス数までプロセス数下がりません。
701 名前:700 [2008/06/02(月) 01:20:56 ] >>700 です。 利用しているApacheとPHPのバージョンとコンパイルオプション、Apacheの設定を載せます。 PHPのバージョン: 5.2.5 ./configure --prefix=/usr/local/php-5.2.5 -with-apxs2=/usr/local/httpd/bin/apxs \ --enable-mbstring --enable-sockets --with-zlib-dir=/usr \ --with-jpeg-dir=/usr --with-png-dir=/usr --with-gd \ --with-mcrypt=/usr/local/libmcrypt-2.5.8 --enable-pcntl \ --with-mysql=/usr --with-libxml-dir=/usr/local/libxml2-2.6.27 \ --with-gettext=/usr \ Apacheのバージョン: 2.2.8 ./configure --prefix=/usr/local/httpd-2.2.8 --enable-ssl --with-ssl=/usr/local/openssl-0.9.8g \ --enable-suexec --enable-so --with-mpm=prefork --with-apr=/usr/local/apr-httpd/ \ --with-apr-util=/usr/local/apr-util-httpd/ --with-suexec-caller=www Apacheの設定: <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 10000 </IfModule> Timeout 60 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 使用ブラウザ: Firefox 2.0.0.14、Opera9.27 長くなってしまいましたが、何か原因が分かればお願いします。
702 名前:700 [2008/06/02(月) 02:04:01 ] >>700 です。 すみません。自己解決しました。 原因は、パイプから渡されてきたアクセスログを処理しているスクリプトでした。 次のログが延々と吐き出されていました。 piped log program '/var/www/bin/syslog_accesslog.php' failed unexpectedly /usr/bin/env: php: No such file or directory そしてスクリプトは次のようになっていました。PHPが見えてなかっただけでしたorz #!/usr/bin/env php <?php while(!feof(STDIN)) { $access_log = fgets(STDIN); syslog(LOG_NOTICE, $access_log); } これを以下のように書きなおして問題解決しました。 #!/usr/local/php-5.2.5/bin/php <?php while(!feof(STDIN)) { $access_log = fgets(STDIN); syslog(LOG_NOTICE, $access_log); } すみません。お騒がせしました。
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 03:39:46 ] 乙です。余計なお世話かもしれないけど、syslog 送りにしたいだけならこれで行けそうな・・・ CustomLog "| /usr/bin/logger -t httpd -p daemon.notice" myformat
704 名前:700 [2008/06/02(月) 17:19:58 ] >>703 それで行けました!わざわざ書く必要ありませんでしたね ありがとうございます!
705 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 22:07:36 ] すいません もしかしてServerLimitってgracefulじゃ反映されないの? 512にしても最大256で頭打ちのまま…
706 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 22:19:41 ] ServerLimitはgracefulどころかrestartでもだめで、stop⇒startじゃないとだめ マニュアル読んでくれよ… と思ったが、日本語訳がおかしいなorz httpd.apache.org/docs/2.2/mod/mpm_common.html#serverlimit 「再起動中にこのディレクティブを変更しても無視されますが、 MaxClients は再起動中に修正することができます。」 マニュアル読まない人が多いのって、やっぱわかりづらいからなのかな? 食わず嫌いだったら悲しいけど
707 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 22:22:58 ] >>706 てんきゅー! ServerLimitのマニュアルはざっと読んだんだけど反映のさせ方がいまいち分からなかった 訳が変だったのね…
708 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 22:25:05 ] あー、2.2以降だったらgraceful-stop⇒startのほうがいいな これならgracefulと変わらないしお勧め
709 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 22:27:46 ] あ、もう再起動しちゃった でもそれも覚えとく ありがとう
710 名前:名無しさん@お腹いっぱい。 [2008/06/05(木) 18:09:57 ] apacheで公開しているあるディレクトリにアクセスしたら、ntopが公開している 別ポートのコンテンツにリダイレクトしようとしています。 アクセスしたURLが www.example.com/ntop/ だったら、 www.example.com:3000/ にリダイレクトするようにしたいのですが、アドレスバーに 「www.example.com:3000/ 」と表示させたくないのです。というのも、 ntopにはブラウザからアクセスしたときの認証の機能がないので、URLを隠蔽し、 必ずApacheのベーシック認証を通し、その後にntopのコンテンツにリダイレクトしたいのです。 mod_rewriteを使って、ブラウザのアドレスバーに www.example.com/ntop/ と表示させたまま、ntopのコンテンツを表示する術はないでしょうか。 ちなみに、mod_rewriteではなくフレームを使う方法では、ntopのURLがバレてしまいます。 この場合のmod_rewriteの記述はどうすればよいのでしょうか。
711 名前:名無しさん@お腹いっぱい。 [2008/06/05(木) 18:15:19 ] >>710 mod_proxy かな。 バレたらアクセス可、というのはよくない。 そもそも直接アクセスできないようにしておくべき。 localhost からしか許可しない、とかで。
712 名前:名無しさん@お腹いっぱい。 [2008/06/05(木) 18:34:04 ] >>711 さん 即レスありがとうございます。 mod_proxyを試してみたのですが、ntopが動的に生成するURLがあったりするので、どうしたものかと頭抱えてます。 静的な画像は、シンボリックリンク張って誤魔化せるのですが、例えば www.example.com/ntop/aboutNtop.html にアクセスしようとしても www.example.com/aboutNtop.html になってしまうので、mod_rewriteでURLを書き換えられないかなーと思ったのです。。。
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 19:51:11 ] >>712 ntop を起動するときに -w 127.0.0.1:3000 として localhost で listen させる。 とりあえずこれで外部から ntop への接続はできなくなる。 あとは apache で mod_proxy の設定をする。 NameVirtualHost *:80 <VirtualHost www.example.com:80> ProxyRequests Off ProxyPass / 127.0.0.1:3000/ ProxyPassReverse / 127.0.0.1:3000/ </VirtualHost> 試してないけど多分こんな感じで何とかなるかと。URL がずれなくなるから この方が楽なんじゃないかな。 アクセス制限とか認証とかは <VirtualHost> に対して掛ければ良いかと。
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 19:53:57 ] >>710 です。 結局のところ、今までのドキュメントルートにあるコンテンツと混在してたら mod_rewriteではどんなルールを書いても、「あちらを立てたらこちらが立たず」状態なので、 IPベースでバーチャルホスト立てて、proxyを使うことにしました。。。 これでアドレスバーは誤魔化せましたが、ステータスバーに裏のIPアドレスとポートが出てしまうので 苦労の割には誤魔化しきれなかったり。。。orz
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 20:03:21 ] ? リバースプロキシで一撃じゃないの?
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 20:14:21 ] ntop が返す HTML の中のリンクに URL が埋まってる、とかじゃないの?
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 20:54:17 ] 試してみる元気はないけど、ntop proxy とか ntop mod_proxy で 検索していっぱい出るじゃん。出来るんじゃね?
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 22:17:57 ] ntopが出力するhttpデータは調整出来ないの? サーバー名とかURLとか・・・
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 23:43:45 ] >>710 です。 どういうわけか、 -wオプションで127.0.0.1:3000を指定したり、 プロキシの転送先を127.0.0.1:3000にしたりすると、 [Thu Jun 05 23:10:04 2008] [error] [client 123.456.789.012] client denied by server configuration: proxy:localhost:3000/ というログが出て接続ができませんでした。 ntopのスタートスクリプトでeth0のIPアドレスを明示的に指定してやって、 バーチャルホストのconfigも、ProxyPass ProxyPassReverse ともにeth0のIPアドレスで 書いてやったら、目的を達成できました。 FireFox2、IE7ともに、裏のIPアドレスとポートを隠蔽してユーザに見せることができました。 あ(・∀・)り(・∀・)が(・∀・)と(・∀・)う!ございます!
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 06:21:59 ] >ntopにはブラウザからアクセスしたときの認証の機能がないので 嘘はいかん。doc嫁
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 06:53:19 ] 裏のIPアドレスとポートにアクセスすると表示されるんでしょ?w パケットフィルタでもしておいたら
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 20:34:30 ] CGI、またはPHPを運用していて、それぞれのスクリプトが管理・ファイルを生成している フォルダa・b・cがあるとします。 このフォルダ内に生成されるファイルが、外部からURLを手打ちでアクセスできてしまう為 フォルダ内への直アクセスを規制したいのですが どうすればよいのでしょうか?
723 名前:名無しさん@お腹いっぱい。 [2008/06/06(金) 20:53:40 ] 上から順番にお勧め 1.フォルダa・b・cをドキュメントルートの外に配置する 2.mod_authz_hostを使ってアクセスを拒否する 3.その中のファイルの末尾を.cgiにする
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 21:20:23 ] .htaccessでもいいんじゃん?