アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【ApacheDebian
DebianでApache2.4モジュールを自作して組み込む【インストール編】
POSTED BY
2023-06-21

自作といってもまずはソースコードをいじらないで入れて動作確認する基礎編。

自作可能かの確認

apache2 -l
Compiled in modules:
  core.c
  mod_so.c
  mod_watchdog.c
  http_core.c
  mod_log_config.c
  mod_logio.c
  mod_version.c
  mod_unixd.c

mod_so.cが組み込まれていればOK

apxs2開発ツールのインストール

apxs2コマンドを使うために以下開発ツールをインストール

sudo apt install apache2-dev

自作モジュールテンプレート作成

自作モジュール名をmytestとすると

apxs2 -g -n mytest
Creating [DIR]  mytest
Creating [FILE] mytest/Makefile
Creating [FILE] mytest/modules.mk
Creating [FILE] mytest/mod_mytest.c
Creating [FILE] mytest/.deps

で、自作のためのテンプレートが作成される。

とりあえずそのままコンパイル・インストール

cd mytest
apxs2 -c mod_mytest.c
sudo apxs2 -i -a -n 'mytest' mod_mytest.la

mytestモジュールをロードする設定か確認

cd /etc/apache2/mods-enabled
cat mytest.load
LoadModule mytest_module      /usr/lib/apache2/modules/mod_mytest.so

無事enabledされているので再起動すればロードされる。がその前に

特定URIでmytestが起動するようhandlerをセット

自分のhttpd.conf的設定をしている箇所にて

<virtualhost>
(中略)
    <location>
        SetHandler mytest
    </location>
</virtualhost>

などと追記する。

確認

Apache再起動

sudo /etc/init.d/apache2 restart

このサーバが192.168.1.55とかなら、ブラウザで

http://192.168.1.55/mytest

などと打って

The sample page from mod_mytest.c

と表示されればOK。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】