November 12, 2008

[自分メモ]Apache Moduleをつくる - 動かしてみる

前の記事で生成したモジュールを動かしてみます。

apxsコマンドはMakefileも生成してくれるので、ビルドとインストールは簡単です。
$ cd blog
$ make
$ sudo make install
Apacheのインストールディレクトリ/modulesディレクトリにmod_blog.soがインストールされると思います。

インストールしたモジュールを動作させるためには、Apacheの設定を追加する必要があります。Apacheのインストールディレクトリ/conf/httpd.conf、もしくはそこからincludeされるファイルに、以下の記述を追加します。
LoadModule blog_module modules/mod_blog.so
<Location /blog>
SetHandler blog
</Location>
上の設定は、URLパス/blog以下のリクエストに対して"blog"という文字列をhandlerとしてセットする、という意味になります。この設定により、前の記事で参照した、
static int blog_handler(request_rec *r)
{
    if (strcmp(r->handler, "blog")) {
        return DECLINED;
    }
    r->content_type = "text/html";

    if (!r->header_only)
        ap_rputs("The sample page from mod_blog.c\n", r);
    return OK;
}
strcmp(r->handler, "blog")の判定で、DECLINEされることなく処理が行われるようになります。

設定が終わったらApacheの起動を行います。起動もMakefileタスクとして実行できます。
$ sudo make start

http://ホスト名/blog/にアクセスすることで、
The sample page from mod_blog.c
という文字列が表示されることが確認できると思います。

Apacheの停止もMakefileのタスクとして実行できます。
$ sudo make stop


matssaku at 23:32│Comments(0)TrackBack(0)clip!httpd | C

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔