今までサーバをちょこちょこさわっていたけれど、実はsslの設定をちゃんとしたことがなかった。ということではじめて、sslの設定をやってみました。
参考サイト1:[CSR生成] Apache1.3 + mod_ssl + OpenSSL(新規・更新)|SSLサーバ証明書ならグローバルサイン
参考サイト2:Technical Note : SSLを利用するApacheウェブサーバーの構築方法 – Nature’s Linux Tech Portal
- openssl の確認
- 秘密鍵を生成
- csr を生成
- ssl 申込
- 証明書の設定
- 中間証明書の設定
- Apache の設定
- パスフレーズについて
- その他
- 最後に
openssl version
openssl genrsa -des3 -out ./ssl.key/ssl.globalsign.com.key 1024
openssl req -new -key ./ssl.key/ssl.globalsign.com.key -out ./ssl.csr/ssl.globalsign.com.csr
この時、国とか組織とか聞かれるので前もって用意しておきます。
GlobaSign などで ssl の申込を行います。この時にさっき作った csr を使います。
証明書がメール等で送られてくるので、これをコピーして server.crt のようなファイル名にしてサーバの ssl.crt ディレクトリに保存します。権限は 400 で。
これもメール等で送られてくるので、ssl.crt に保存します。400。
以下のような感じです。
SSLEngine on
SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/dvcacert.cer
SSLCertificateFile /usr/local/apache/conf/ssl.crt/ssl.globalsign.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/ssl.globalsignkey
パスフレーズが設定されていると Apache の再起動の度にパスワードを要求されます。
回避する為には、パスフレーズを削除するか、SSLPassPhraseDialog というディレクトリブを設定することで回避できます。(Nature’s Linux のページに書いてます。)
パスフレーズの削除は以下コマンドで。
cp -p server.key server.key.org
openssl rsa -in server.key -out server.key
今回以下ファイルも修正しました。
vi /etc/sysconfig/apache
修正内容は以下の行がコメントアウトされていたので、コメントを外しました。
OPTIONS=-DSSL
service apache configtest
service apache restart