お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 日付別 アーカイブ :

2007年8月29日

2007年8月29日

Apache DSOモジュールの追加方法 (2) 実例

Apacheの DOS(動的)モジュールの追加インストール方法の実例として、 「mod_vhost_alias」モジュール を「apxs」コマンドを使って 追加インストールしてみる。

Apacheが既に「/usr/local/apache2/」ディレクトリにインストールされており、 そのソースファイルが ディレクトリ「/usr/local/src/httpd-2.2.XX」に存在している。 今回、インストールしようとしている「mod_vhost_alias」モジュールは ディレクトリ「 modules/mappers 」の下に存在しているので、 「 /usr/local/src/httpd-2.2.XX/modules/mappers 」に移動してから 「apxs」コマンドを実行することになる。
# cd /usr/local/src/httpd-2.2.XX/modules/mappers
# /usr/local/apache2/bin/apxs -cia mod_vhost_alias.c
/usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic    -g -O2 -I/usr/local/apache2/include  -I/usr/local/apache2/include   -I/usr/local/apache2/include -I/usr/local/include  -c -o mod_vhost_alias.lo mod_vhost_alias.c && touch mod_vhost_alias.slo
/usr/local/apache2/build/libtool --silent --mode=link gcc -o mod_vhost_alias.la  -rpath /usr/local/apache2/modules -module -avoid-version    mod_vhost_alias.lo
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' mod_vhost_alias.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp mod_vhost_alias.la /usr/local/apache2/modules/
cp .libs/mod_vhost_alias.so /usr/local/apache2/modules/mod_vhost_alias.so
cp .libs/mod_vhost_alias.lai /usr/local/apache2/modules/mod_vhost_alias.la
cp .libs/mod_vhost_alias.a /usr/local/apache2/modules/mod_vhost_alias.a
chmod 644 /usr/local/apache2/modules/mod_vhost_alias.a
ranlib /usr/local/apache2/modules/mod_vhost_alias.a
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/apache2/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/apache2/modules/mod_vhost_alias.so
[activating module `vhost_alias' in /usr/local/apache2/conf/httpd.conf]
のように、「apxs」コマンドに「 -cia 」というオプションをつけるだけで 簡単に DOS(動的)モジュールの追加インストールができてしまう。

ちなみに今回「apxs」コマンドに指定したオプションは、 マニュアル Apache HTTP Server Version 2.2「apxs - APache eXtenSion tool」 によると、
  • c : コンパイルすることを指定
  • i : 出来上がったモジュールをインストールすることを指定
  • a : 自動的に「httpd.conf」に「LoadModule」ディレクティブを追加する。
となっている。

今回は「 a 」オプションをつけていたので、 自動的に「httpd.conf」に「LoadModule」ディレクティブが追加されているはずだ。 実際に、/usr/local/apache2/conf/httpd.conf の中身をみてみると、
# cat /usr/local/apache2/conf/httpd.conf | grep vhost_alias_module
LoadModule vhost_alias_module modules/mod_vhost_alias.so
と このように、 LoadModuleの1行が追加されているのがわかる。

さらに、組み込まれたことを「 apachectl -M 」コマンドを利用して確認してみる。
# /usr/local/apache2/bin/apachectl -M
Loaded Modules:
 core_module (static)
.
.
.
 so_module (static)
.
.
.
 vhost_alias_module (shared)    <ここで組み込まれたことを確認できた>
Syntax OK


【参考リンク】

カテゴリー: Apache     22:09 | コメント (0) | トラックバック (0)

 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.