apxsによるmod_sslの追加インストール
Apache HTTP Server (httpd) のmod_sslモジュールを,apxsを使って後から追加インストールする。
apxsの基本的な使い方は「apxsによるhttpdモジュールのビルド方法」を参照する。
まずOpenSSLを事前にインストールしておく (参考: インストール: OpenSSL | 安全なWebの根幹を担う暗号化ライブラリー)。
「Apache HTTP Serverのインストール」を参考に$LOCAL/src/httpd
にソースコードをダウンロードしているとする。
以下のコマンドでmod_ssl
をビルド・インストールする。
cd $LOCAL/src/httpd/modules/ssl
apxs -aci -I ../md -lssl *.c
コマンド実行後,適当なhttpdのコマンドを実行して問題ないかを確認する。例えば以下のコマンドを実行する。
apachectl configtest
今回はオプションに-I ../md -lssl
を指定した。
-I ../md
がないと以下のエラーが出てコンパイルに失敗した。
ssl_engine_init.c:33:10: fatal error: mod_md.h: No such file or directory #include "mod_md.h"
-lssl
がないと,httpdの実行時に以下のエラーが出る。
httpd: Syntax error on line 153 of /usr/local/stow/httpd-2.4.39/apache2/conf/htt pd.conf: Cannot load modules/mod_ssl.so into server: /usr/local/stow/httpd-2.4.3 9/apache2/modules/mod_ssl.so: undefined symbol: CRYPTO_free
-l
のオプションは「apxsのオプション | インフラ | DoRuby」などにあるように,-lssl
の他に-lcrypto -ldl -lz
など指定されている情報を見かけたが,-lssl
だけ指定すれば最低限問題なかった。
リンク