Apache で動的にモジュールを追加してみた。 [apache 2.2]
忘れるのでメモメモ。
httpd-2.2.17をビルドしたときに、デフォルトで server-info が組み込まれていなかったので追加しました。
追加するのは、mod_info なので、
# /usr/local/apache2/bin/apxs -i -a -c modules/generators/mod_info.c
/usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -c -o modules/generators/mod_info.lo modules/generators/mod_info.c && touch modules/generators/mod_info.slo
/usr/local/apache2/build/libtool --silent --mode=link gcc -o modules/generators/mod_info.la -rpath /usr/local/apache2/modules -module -avoid-version modules/generators/mod_info.lo
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' modules/generators/mod_info.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp modules/generators/mod_info.la /usr/local/apache2/modules/
cp modules/generators/.libs/mod_info.so /usr/local/apache2/modules/mod_info.so
cp modules/generators/.libs/mod_info.lai /usr/local/apache2/modules/mod_info.la
cp modules/generators/.libs/mod_info.a /usr/local/apache2/modules/mod_info.a
chmod 644 /usr/local/apache2/modules/mod_info.a
ranlib /usr/local/apache2/modules/mod_info.a
PATH="$PATH:/sbin" ldconfig -n /usr/local/apache2/modules
----------------------------------------------------------------------
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
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
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_info.so
[activating module `info' in /usr/local/apache2/conf/httpd.conf]
自動で httpd.conf に下記の行が追加される。
LoadModule info_module modules/mod_info.so
次は /usr/local/apache2/conf/extra/httpd-info.conf を編集。
<Location /server-info> の Allow from 行に許可ホストを追加。
apacehe をリスタート。
httpd-2.2.17をビルドしたときに、デフォルトで server-info が組み込まれていなかったので追加しました。
追加するのは、mod_info なので、
# /usr/local/apache2/bin/apxs -i -a -c modules/generators/mod_info.c
/usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -c -o modules/generators/mod_info.lo modules/generators/mod_info.c && touch modules/generators/mod_info.slo
/usr/local/apache2/build/libtool --silent --mode=link gcc -o modules/generators/mod_info.la -rpath /usr/local/apache2/modules -module -avoid-version modules/generators/mod_info.lo
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' modules/generators/mod_info.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp modules/generators/mod_info.la /usr/local/apache2/modules/
cp modules/generators/.libs/mod_info.so /usr/local/apache2/modules/mod_info.so
cp modules/generators/.libs/mod_info.lai /usr/local/apache2/modules/mod_info.la
cp modules/generators/.libs/mod_info.a /usr/local/apache2/modules/mod_info.a
chmod 644 /usr/local/apache2/modules/mod_info.a
ranlib /usr/local/apache2/modules/mod_info.a
PATH="$PATH:/sbin" ldconfig -n /usr/local/apache2/modules
----------------------------------------------------------------------
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
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
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_info.so
[activating module `info' in /usr/local/apache2/conf/httpd.conf]
自動で httpd.conf に下記の行が追加される。
LoadModule info_module modules/mod_info.so
次は /usr/local/apache2/conf/extra/httpd-info.conf を編集。
<Location /server-info> の Allow from 行に許可ホストを追加。
apacehe をリスタート。
コメント 0