Apache をインストールするときにモジュールとして組み込んだ mod_ssl を使ってサーバーとクライアント間の HTTP 通信の暗号化行います。
Apache を使って SSL 通信を行うために必要なファイルは、CSR ファイル(サーバーの証明書発行の署名要求)と秘密鍵と証明書です。
このうちの証明書は自己署名した電子証明書を使うこととします。
SSL 通信に必要なディレクトリとファイルの作成
CSR ファイル、秘密鍵、証明書を格納するためのディレクトリを作成します。(Apache 1.3 では不要)
# mkdir /usr/local/httpd/conf/ssl.key
# mkdir /usr/local/httpd/conf/ssl.crt
CSR ファイルと秘密鍵を作成します。
……..++++++
…………………++++++
writing new private key to ‘/usr/local/httpd/conf/ssl.key/server.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [GB]:JP国を入力
State or Province Name (full name) [Berkshire]:Osaka都道府県を入力
Locality Name (eg, city) [Newbury]:Osaka-shi市区町村を入力
Organization Name (eg, company) [My Company Ltd]:honana会社名を入力
Organizational Unit Name (eg, section) []:SSL部署を入力
Common Name (eg, your name or your server’s hostname) []:server.honana.comサーバーのFQDN
Email Address []:.「.」で入力を省略
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:.「.」で入力を省略
An optional company name []:.「.」で入力を省略
自己署名証明書を作成します。
subject=/C=JP/ST=Osaka/L=Osaka-shi/O=honana/OU=SSL/CN=server.honana.com
Getting Private key
Apache の設定
Apache の設定ファイル httpd.conf を編集して SSL の設定ファイル extra/httpd-ssl.conf を読み込むように設定します。
Include conf/extra/httpd-ssl.confコメントアウトされている行を有効にする
extra/httpd-ssl.conf ファイルを編集して SSL の設定を行います。
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. Keep
# in mind that if you have both an RSA and a DSA certificate you
# can configure both in parallel (to also allow the use of DSA
# ciphers, etc.)
#SLCertificateFile /usr/local/httpd-2.2.4/conf/server.crt
#SSLCertificateFile /usr/local/httpd-2.2.4/conf/server-dsa.crt
SSLCertificateFile /usr/local/httpd/conf/ssl.crt/server.crt
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you’ve both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
#SSLCertificateKeyFile /usr/local/httpd-2.2.4/conf/server.key
#SSLCertificateKeyFile /usr/local/httpd-2.2.4/conf/server-dsa.key
SSLCertificateKeyFile /usr/local/httpd/conf/ssl.key/server.key
Apache の設定ファイルを変更した後は Apache を再起動する必要があります。