この文書ではご利用Linuxサーバーにおいて、SSLを有効にしてWebサーバーを起動する方法を記載します。
1.利用した環境
・Linuxサーバー
CentOS 5.2
・ソフトウェア
httpd-2.2.3
mod_ssl-2.2.3
・設定ファイル
/etc/httpd/conf.d/ssl.conf
関連記事:CSRの生成
2.mod_sslの確認とインストール
mod_sslがインストールされているかを確認します。
このコマンドの結果として何も表示されなければ mod_ssl はインストールされていません。
下記コマンドを実行し、インストールします。
※ CentOS 4.x , CentOS 5.x , Red Hat Enterprise Linux 5.xの場合
yumコマンドを実行すると、OSメジャーバージョン別のyumレポジトリに収録されている最新バージョンのパッケージがダウンロードされます。インストールするかどうかを確認されるので間違いなければインストールを行います。
※Red Hat Enterprise Linux ES 4 の場合
up2dateコマンドを実行するとインストールされます。
3.SSLサーバー証明書とキーのインストール
ssl.confを開き下記の場所に証明書とキーを置くか、証明書とキーを置いた場所を記載します。
SSLCertificateFile /etc/pki/tls/certs/server.crt任意の場所、ファイル名に変更してOK
SSLCertificateKeyFile /etc/pki/tls/private/server.key任意の場所、ファイル名に変更してOK
中間証明書が必要な場合は、下記行も編集します。
4.Apache起動/再起動時のパスフレーズの入力について
ApacheをSSL対応で起動させる場合にはパスフレーズの入力を求められます。正しいパスフレーズを入力するまではApacheが起動しないため、自動再起動などをさせることができません。これに対応したい場合いくつかの方法がありますが、ここではサーバーキーにパスフレーズを埋め込む方法をご紹介します。
※毎回、自身でパスフレーズを入力する場合は不要です。
# openssl rsa < server.key > server.key.new
Enter PEM pass phrase:パスフレーズを入力
# mv server.key server.key.org
# mv server.key.new server.key
5.起動ファイルの編集
証明書とキーの設置を行ったら、自動起動ファイルを SSL 対応させます。
/etc/init.d/httpd ファイルの start 部分を以下のように変更します。
echo -n $”Starting $prog: ”
check13 || exit 1
daemon $httpd -DSSL $OPTIONS
RETVAL=$?
}
6.確認
編集したファイルの内容が正しいかどうか確認します。
syntax OKと表示されれば文法的な誤りはないと判断できます。
Syntax OK
文法に間違いがあった場合、下記のようにファイル名とその行数が表示されるので修正します。
但し証明書とキーのペアが合ってない場合など、文法だけでは判断できないミスがあった場合でも Syntax OK と表示されます。
設定内容に不備があった場合 Web サーバーは起動しないので十分注意を払って修正してください。
7.Webサーバー再起動
編集が終了し、内容に間違いがなければApacheの再読み込みをします。
8.ブラウザでの確認
ブラウザで、https://DOMAINNAMEを閲覧します。
InternetExplorer6.Xであればブラウザの右下に、InternetExplorer7系や8系であればアドレスバー上に鍵のマークがあるので、それを開いて証明書を表示させると「運営者」、「認証局」、「有効期限」などが確認できます。

