トップページ | ダウンロード | 各種情報 | 関連ソフトウェア | SSL対応


Apache-SSL のインストールについてのメモ

apache_1.3.3.tar.gz と apache_1.3.3+ssl_1.29.tar.gz で Apache-SSL をコンパイルしてみましょう。流れとしてはこんな感じになります。

  1. 必要なアーカイブを入手する
  2. SSLeay をコンパイル、インストールする
  3. Apache のコードを展開する
  4. Apache のコードにパッチを当てる
  5. コンパイルに必要な設定をする
  6. コンパイルする
  7. インストールする
  8. テスト用の公開鍵を生成して、動作テストする

なお、RedHat Linux や Debian GNU/Linux、FreeBSD などでは既にコンパイルされたものがありますので、それを入手するのが簡単です。


アーカイブの入手

必要なもの

入手先

〜と〜から入手します


SSLeay のコンパイル・インストール

SSLeay を展開して、perl の path が違うなら ××を実行して、install 先を変えるなら△△を実行して、make depend, make clean, make, make install


Apache/ApacheSSL のコードの展開

% 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 を実行する

FixPatch は SSL 機能を組み込むのに必要なパッチを Apache のコードに当てたり、いくつかのファイル中のパス名を自動的に修正しようとするシェルスクリプトです。実際に動くかどうかは、コンパイルしようとする環境によります。うまくいかない場合は、このステップを飛ばすこともできますが、その時は手動で FixPatch と同じ処理を実行する必要があります。

FixPatch は次のように実行します。

% sh FixPatch

この FixPatch を実行すると、

  1. ../SSLeay-*
  2. /usr/local/*/SSLeay-*
  3. /usr/local/*/*/SSLeay-*
  4. /opt/*/SSLeay-*
  5. /opt/*/*/SSLeay-*
  6. /usr/local/ssl

の順に SSLeay があるかどうかを検索します。別の場所に SSLeay が展開、または、インストールされていて、自動的にみつけることができないことがあります。そのときは、FixPatch に SSLeay が展開、または、インストールされている場所を指定して実行してください。

たとえば、/opt/ssl 以下に SSLeay をインストールしたのであれば、

% sh FixPatch /opt/ssl

とします。

さて、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 を使うといくらか楽です。

configure

% 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 を作って使うなら…


運用

睡魔とのたたかい…


トップページ | ダウンロード | 各種情報 | 関連ソフトウェア | SSL対応