トップページ | ダウンロード | 各種情報 | 関連ソフトウェア | SSL対応
apache_1.3.3.tar.gz と apache_1.3.3+ssl_1.29.tar.gz で Apache-SSL をコンパイルしてみましょう。流れとしてはこんな感じになります。
なお、RedHat Linux や Debian GNU/Linux、FreeBSD などでは既にコンパイルされたものがありますので、それを入手するのが簡単です。
〜と〜から入手します
SSLeay を展開して、perl の path が違うなら ××を実行して、install 先を変えるなら△△を実行して、make depend, make clean, make, make install
% ls apache_1.3.3+ssl_1.29.tar.gz apache_1.3.3.tar.gz % gzip -cd apache_1.3.3.tar.gz | tar xf - % ls apache_1.3.3+ssl_1.29.tar.gz apache_1.3.3/ apache_1.3.3.tar.gz % cd apache_1.3.3 % gzip -cd ../apache_1.3.3+ssl_1.29.tar.gz | tar xf - % ls ABOUT_APACHE LICENCE.SSL SECURITY configure* Announcement LICENSE SSLconf/ htdocs/ CHANGES.SSL Makefile.tmpl SSLpatch icons/ EXTRAS.SSL README WARNING-NT.TXT logs/ FixPatch* README.NT ben.pgp.key.asc md5sums INSTALL README.SSL cgi-bin/ md5sums.asc KEYS README.configure conf/ src/
注: 上記の表示は、tcsh 上で alias ls ls-F している環境です。そのため、実行ファイルのファイル名の後ろに * が、ディレクトリ名の後ろに / がくっついています
Apache-SSL は Apache への追加ファイルと、パッチの形で提供されてます。パッチを当てた後 Configuration ファイルを SSLeay のインストール・展開状態に併せて編集する必要があるのですが、これをまとめてやってしまう FixPatch というスクリプトがついてきてます。
FixPatch は SSL 機能を組み込むのに必要なパッチを Apache のコードに当てたり、いくつかのファイル中のパス名を自動的に修正しようとするシェルスクリプトです。実際に動くかどうかは、コンパイルしようとする環境によります。うまくいかない場合は、このステップを飛ばすこともできますが、その時は手動で FixPatch と同じ処理を実行する必要があります。
FixPatch は次のように実行します。
% sh FixPatch
この FixPatch を実行すると、
の順に SSLeay があるかどうかを検索します。別の場所に SSLeay が展開、または、インストールされていて、自動的にみつけることができないことがあります。そのときは、FixPatch に SSLeay が展開、または、インストールされている場所を指定して実行してください。
たとえば、/opt/ssl 以下に SSLeay をインストールしたのであれば、
とします。
さて、FixPatch は SSLeay を見付けると、SSLpatch というパッチファイルを修正し SSLpatch.fiexed-up というパッチファイルを生成します。次に、patch コマンドのバージョンが 2.1 や 2.5 かどうかを調べます。
Searching for a usable SSLeay installation or source directory SSLeay installation found in: /usr/local/ssl Using the installed version of SSLeay found in /usr/local/ssl If this is not what you want stop now and specify the path to SSLeay explicitly. Your version of patch is OK
ソースを展開し、コンパイルしたものがひっかかったばやい
Searching for a usable SSLeay installation or source directory SSLeay sources were found in: /usr/local/src/SSLeay-0.9.0b Using the source version of SSLeay found in /usr/local/src/SSLeay-0.9.0b
そして、生成した patch をあてるかどうか尋ねてきます。
Do you want me to apply the fixed-up Apache-SSL patch for you? [n]
ここで y と答えると、みつけた SSLeay のディレクトリにあわせて、いくつかのファイルにパッチを当てます。
Do you want me to apply the fixed-up Apache-SSL patch for you? [n] y patching file Makefile.tmpl patching file src/Configuration patching file src/Configuration.tmpl patching file src/Configure patching file src/Makefile.tmpl patching file src/include/ap_config.h patching file src/include/buff.h patching file src/include/httpd.h patching file src/main/Makefile.tmpl patching file src/main/buff.c patching file src/main/http_main.c patching file src/modules/standard/mod_auth.c patching file src/modules/standard/mod_log_config.c patching file src/support/apachectl patching file src/support/suexec.c
ただ、この FixPatch が想定するのとは違った形 (ディレクトリ構成) で SSLeay がインストールされている環境では FixPatch はうまく動作しません。その場合は、後で手動でパッチを当てます。
コンパイルは 1.2.x 系列までのように、src/Configuration
を編集して、Configure
を実行する、ということもできますが、それよりは 1.3系列で導入された APACI を使うといくらか楽です。
% cd apache_1.3.3 % ./configure --help (ずらずらと説明が表示されます。 組み込む module の選択は --enable-module=xyz / --disable-module=foo の ようにconfigure の引数として指定できます。また、インストール先は --prefix で選択できます) % ./configure Configuring for Apache, Version 1.3.3 Ben-SSL/1.29 1.3.3 Creating Makefile Creating Configuration.apaci in src Creating Makefile in src + configured for Multics platform + setting C compiler to gcc + setting C pre-processor to gcc -E + checking for system header files + adding selected modules o rewrite_module uses ConfigStart/End enabling DBM support for mod_rewrite + doing sanity check on compiler and options Creating Makefile in src/support Creating Makefile in src/main Creating Makefile in src/ap Creating Makefile in src/regex Creating Makefile in src/os/unix Creating Makefile in src/modules/standard Creating Makefile in src/modules/proxy Creating Makefile in src/modules/ssl
make
make install
SSLconf の内容のコピー、編集
とりあえずのテスト鍵が欲しいなら、make certificate
PREFIX/sbin/apachectl start で起動
Verisign などのメジャーな CA の発行した鍵が欲しいなら…
自分で CA を作って使うなら…
睡魔とのたたかい…