apache

mod_proxy,mod_proxy_balancerのstickysessionのテストとお勉強

sticky session アプリケーションを作ったこともなくて、セッション・Cookieの意味をあまり理解してないので、 mod_proxyの次の説明を読んでも実際の動作のイメージが掴めないので実際にテストしてみた。 http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy…

mod_vhost_aliasでサブドメインを動的に生成

ホスト名、FQDNでドキュメントルートを振り分けてサブドメインを動的に作る方法ってどうやるの? こないだこの記事書いたときはmod_rewriteでやったんですけど、mod_vhost_alias使ったらもっと簡単に出来るらしい。mod_vhost_aliasは標準でインストールされ…

mod_rewrite - PTフラグをつけたRewriteRuleの置換対象について

ちょっとこれではまってしまいました。 通常、RewriteRuleで置換対象に書くことができるのは次の4つですよね。 ファイルシステムのフルパス ドキュメントルートからの相対パス URL(http:〜〜) -(ハイフン) ref. http://httpd.apache.org/docs/2.2/ja/mod/mod…

ホスト名、FQDNでドキュメントルートを振り分けてサブドメインを動的に作る方法ってどうやるの?

例 http://aaa.example.com/ => /home/aaa/public_html http://bbb.example.com/ => /home/bbb/public_html ユーザのアカウントに対して http://example.com/username/ http://example.com/~username/ ではなくて、 http://username.example.com/ こういうUR…

HostNameLookups Offが効かなくて困った

HostnameLookups offしてるのにログを見るとリモホがFQDNで出てくる。なんでだ。 と思ってたら設定が悪かったぽい。 allow from localhost allow from example.com みたいに、名前で許可/拒否する設定が入っていると逆引きが発生するのかー。そりゃそうだわ…

apache-2.2.6にProxyPassMatchなんてのが出来てたよ!

http://www.apache.org/dist/httpd/CHANGES_2.2.6 *) mod_proxy: Added ProxyPassMatch directive, which is similar to ProxyPass but takes a regex local path prefix. [Jim Jagielski] これで正規表現が使えるー。嬉しい。何気にChangelog見てたら気付い…

ServerAliasを使わずにVirtualHostの設定コピペするの禁止

http://example.comでもhttp://www.example.comでも同じコンテンツ見せたい、みたいな場合のお話。こんな時ってServerAlias使いますよね? <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /home/hoge/public_html </VirtualHost> しかし、たまにこんな…

mod_proxy_balancer設定memo

忘れた頃にハマりそうなので備忘録。 DSOの時はmod_proxy_http.soも忘れないように mod_proxy.soとmod_proxy_balancer.soだけじゃダメだった。良く考えればBalancerMemberでhttpに振り分けるんだから当然か。 リバースプロキシさせないディレクトリのProxyPa…

moduleをDSOでビルド、インストール

http://httpd.apache.org/docs/2.2/ja/dso.html # cd /path/to/src/foo # apxs -a -i -c mod_foo.cおー、簡単。"-a"を指定するとhttpd.confに自動的にLoadModuleの設定も追加される。 上記コマンドで動かない場合 apacheに元々配布されてるmod_proxy、mod_ss…

apacheのIfModuleの書き方

staticとsharedに関係なく書き方は同じなんですね。違うもんだと思い込んでました。トホホ。 # モジュールのファイル名 # モジュール識別子 モジュール識別子が使えるのはapache2.1以上。mod_hoge.cって書き方はstaticなものだけだと思ってた。理由は、httpd…

同じworkerの設定なのにサーバによって起動してるプロセス数が全然違う

同じコンパイルオプション、httpd.confなのに、あるサーバだと大量にhttpdプロセス(スレッド?)がいて、 あるサーバだと極端に少ない。サーバ見てみたらkernel違ってた。これが原因か。 プロセス多い kernel 2.4 プロセス少ない kernel 2.6 ぐぐったらやっぱ…

動的にバーチャルホストを設定する方法を調べ中

めっちゃ自分メモです。JugemとかXREAみたいにユーザが登録した瞬間に、サブドメイン*1とバーチャルホストの設定が完了してすぐサービスとして使えるようにするためにはどうすればよいか調べてます。httpd.conf編集するのが面倒くさいというか、 ユーザが登…

LoadModuleで読み込んだphp4をIfModuleで囲ったら設定されなかった

staticにコンパイルした奴じゃないとダメ? えーそんなことないよなーと思ってapacheのドキュメント見る。 core - Apache HTTP サーバ http://httpd.apache.org/docs/2.2/ja/mod/core.html#ifmodule 前者の場合は、module と名付けられたモジュールが Apache…

携帯キャリアのIPアドレス帯域memo

docomo http://www.nttdocomo.co.jp/service/imode/make/content/ip/ au http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html softbank http://developers.softbankmobile.co.jp/dp/tech_svc/web/ip.php willcom http://www.willcom-inc.com/ja/servi…

apacheで静的ページに動的にHTMLを組み込む

mod_layout:静的ページに動的にHTMLを組み込む - ぎじゅっやさん 広告とかには便利そう。他にも色々使えるかも。

location,directoryディレクティブで正規表現使う

<Directory /home/foo/public_html > ## うにゃうにゃ </Directory> ## ワイルドカードは普通に使える <Directory /home/bar/* > ## うにゃうにゃ </Directory> 正規表現を使う場合 ~の後に""で囲ってディレクトリを書く。 <Directory ~ "/home/.*/public_html"> ## うにゃうにゃ </Directory> DirectoryMatchなら~とかなしで、正規表現が使える。Locationも全く同じ。LocationMatchで普通に正規表…

apacheの出力ログを限定する

ロードバランサの監視が頻繁に来て、無駄にアクセスログを圧迫して嫌な感じなので調べてみた。ここを参考にしました。 Apacheログの特定ファイル対象外設定 [ぽんこつWEBサーバー構築] 特定のIPからのアクセスをログに出さなくする場合はこんな感じかな。 Se…

apache2のstartsslを自動化する

サービス用のサーバはともかく、ローカルでやってる試験用のサーバなら自動化していいかなぁと。実はすごいダメなことだったらどうしよう。まいいや。やり方は2通り。ちょいちょい用語間違ってる可能性大。 サーバの秘密鍵を復号する encryptedkey.pem # 元…

apacheのDNS逆引きをOffにする

パフォーマンス下がるので逆引きはOffで。 HostNameLookups Off 特定のファイルだけ逆引きOnにすることもできる <File ~ "REGEX"> HostnameLookups on </File> REGEXは"\.(html)$"みたいな感じでファイル名や拡張子を正規表現で指定する。でもFilesMatchディレクティブのほうが推奨…

apacheでロギングをバッファする

apache2系のみ。 http://jigen.aruko.net/archives/535/ httpd.confにこれを書く BufferedLogs On ちょいパフォーマンスがあがるらしい。

apacheのDirectoryとLocationディレクティブの違い

http://httpd.apache.org/docs/2.2/ja/mod/core.html#directory すんげー大まかだけど。Directoryはディレクトリ名、LocationはURL名に関する設定。基本的に同じ。ただし、AllowOverRideなどのように、Directoryでしか使えない設定もある*1。 Directory 指定…

apacheのaliasディレクティブ

うっかり忘れてしまうのでmemo。特定のURLをドキュメントルート以外の場所にマップさせる。 Alias /log /var/www とすると、http://servername/logは/var/www以下を参照する。ScriptAliasはAliasの機能に加えて、マップ先にcgi-scriptのハンドラを追加する。…

logresolve - apacheのログのアクセス元IPを逆引きする

apacheに付属してるlogresolveを使えばできるらしい。 logresolve < access.log > resolved.log

apacheでphpを使えるようにするmemo

なんか知らんけどphpが必要になりそう。なのでぐぐって調べて入れてみた。 http://www.aconus.com/~oyaji/www/apache_linux_php.htm