Apache に SSL 機能を提供するモジュール。 この mod_ssl のモジュールを組み込むことで、 Apache を SSL 対応の Web サーバとすることができます。

インストール

設定ファイルのひな形が libapache-mod-ssl-doc に付いているので、 併せてインストールします。

# apt-get install libapache-mod-ssl libapache-mod-ssl-doc

依存関係で OpenSSL もインストールされました。

設定

証明書の作成

面倒くさいので CA は Apache 付属のものを用いて、 サイト証明だけを作りました。 以下、説明を交えながら作業内容を書いていきます。

# mod-ssl-makecert

とすると、以下のように質問に答えていくことで証明書が作れます。

What type of certificate do you want to create ?

1. dummy    (dummy self-signed Snake Oil cert)
2. test     (test cert signed by Snake Oil CA)
3. custom   (custom cert signed by own CA)
4. existing (existing cert)

Normally you'd use "test" (2)
> 2

この選択肢ですが、

  1. Apache 付属の dummy のサイト証明を使う。 (Snake Oil のサイト証明を使う。つまり、自分は Snake Oil になる)
  2. CA は Apache 付属のものを使い、サイト証明は作る。 (Snake Oil の CA 証明書を(勝手に)使って、 Snake Oil が自分が自分であることを証明する(したことになる))
  3. CA もサイト証明も自分で作る。(自分で自分が自分であることを証明)
  4. 他の CA に認証してもらう。(例えば verisign などに証明してもらう)

ということなので、今回は "2" を選択。

STEP 2: Generating X.509 certificate signing request [server.csr]

-----
1. Country Name             (2 letter code) [XY]:
2. State or Province Name   (full name)     [Snake Desert]:
3. Locality Name            (eg, city)      [Snake Town]:
4. Organization Name        (eg, company)   [Snake Oil, Ltd]:
5. Organizational Unit Name (eg, section)   [Webserver Team]:
6. Common Name              (eg, FQDN)      [www.snakeoil.dom]:
7. Email Address            (eg, name@FQDN) [www@snakeoil.dom]:
8. Certificate Validity     (days)          [365]:

本当は自分のサイトについての情報を書き込んでいく必要があるのですが、 今回はテスト (+ 面倒くさい) ので、デフォルトの値としました。

STEP 3: Generating X.509 certificate signed by Snake Oil CA [server.crt]
Certificate Version (1 or 3) [3]:

証明書のバージョンなんですが、よく分からないのでそのままにしておきました。

STEP 4: Enrypting RSA private key with a pass phrase for security [server.key]
Encrypt the private key now? [Y/n]: n

これを Y にすると、Apache の起動時にパスフレースを入力する必要があります。 当然 httpd を動かすのに、再起動の度にパスフレーズを入れる必要があります。 ということで、面倒なので "n" としました。
ちなみに CA も作成する場合、CA の方は暗号化したほうが良いらしいです。 というのも、サイト証明を作るときしかパスフレーズは聞かれないらしいので。

以上で、サイト証明ができあがります。

httpd.confの編集

まず、この mod_ssl のモジュールを Apache に読ませるようにします。 "LoadModule"記述子を探し、そのリストの最後に次の行を付け加えます。

LoadModule ssl_module /usr/lib/apache/1.3/mod_ssl.so

次に、libapache-mod-ssl-doc に付いている設定のひな形を httpd.conf に付け加えます。

# cd /usr/share/doc/libapache-mod-ssl-doc
# cat mod-ssl.conf sample-vhost.conf >> /etc/apache/httpd.conf

この後、以下の部分のコメントを外します。

#<IfModule mod_ssl.c>
#Listen 80
#Listen 443
#</IfModule>

これで設定完了です。 ちなみに、この設定の場合、すべてのページを https で見ることができますが、 特定のページだけをそうしたい場合は、 "sample-vhost.conf" によって付け加えた部分を書き換えればいいです。

最後に Apache を再起動すれば OK です。

# /etc/init.d/apache stop
# /etc/init.d/apache start

参考リンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-05-30 (日) 11:15:25 (2252d)