ソースインストールのApacheにcookieログモジュール「usertrack_module」をapxsコマンドで追加する手順




投稿日:

ソースインストールされたApacheでは、条件さえクリアしていれば、あとから手動でモジュールを追加することも可能です。今回は、cookieをログに出す時に使うモジュールを例に取って、手順を見てみます。

【現状の確認】

[html]
$ /usr/local/apache2/bin/httpd -M

usertrack_module (shared)
[/html]

が含まれていない事を確認。 インストールが完了すると、これが入ります。

[html]
$ /usr/local/apache2/bin/httpd -l
[/html]
mod_so.c がある事を確認。これがないとモジュールの追加はできません。
httpdを最初からインストールし直す事になります。



【対象のモジュール】

モジュール mod_usertrack 
詳細はこちら(http://japache.infoscience.co.jp/japanese/manual/mod/mod_usertrack.html



【既存ファイルのバックアップ】

cp等で取っておくのが安全です。

ソースのバックアップ
[html]# cp -rp /usr/local/src/httpd-2.2.21 /usr/local/src/httpd-2.2.21_20140619[/html]

httpd.confのバックアップ
[html]# cp -rp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.20140619[/html]

では、モジュール追加と行きましょうか!



【コンパイル】

対象モジュールを探します。通常、module配下にあるので探しましょう。

移動して、
[html]cd /usr/local/src/httpd-2.2.21/modules/metadata/[/html]

apxsコマンドです。

ちなみに、オプションは以下です。
[html]
Usage: apxs -g [-S <var>=<val>] -n <modname>
apxs -q [-S <var>=<val>] <query> …
apxs -c [-S <var>=<val>] [-o <dsofile>] [-D <name>[=<value>]]
[-I <incdir>] [-L <libdir>] [-l <libname>] [-Wc,<flags>]
[-Wl,<flags>] [-p] <files> …
apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> …
apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] <dsofile> …
[/html]

これで実行。
[html]/usr/local/apache2/bin/apxs -c mod_usertrack.c[/html]

結果
これによって、 mod_usertrack.slo や mod_usertrack.lo、 mod_usertrack.la が新しく出来ていると思います。



【インストール】

以下を実行します。

[html]/usr/local/apache2/bin/apxs -ian usertrack mod_usertrack.la[/html]

結果

[html]
〜略〜

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_usertrack.so
[activating module `usertrack’ in /usr/local/apache2/conf/httpd.conf]
[/html]

自動でhttpd.confにモジュールも追加してくれた模様。

[html]# diff /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.20140619
55d54
< LoadModule usertrack_module modules/mod_usertrack.so
[/html]

diffするとありました。



【設定ファイルの読み込み】

[html]# /etc/init.d/httpd graceful[/html]



【インストールの確認】

[html]$ /usr/local/apache2/bin/httpd -M[/html]

usertrack_module (shared) が入ったのを確認!








コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください