さくらのVPSにApache2.4をインストールしたサイトをSSL対応したので、
その時の作業をメモとして残す。
今回はhttp://example.comというサイトで、
京都市内にあるという仮定で話を進めます。
ちなみにApacheのバージョンは2.4.7
CSRを使用して認証局から証明証を発行してもらう場合です。
Apache HTTP Server - Wikipedia
予備知識として、
CSRとは、ドメイン所有者が認証局に提出する署名リクエスト(Certificate Signing Request)
端末を開き、SSHでサーバにログイン後、下記のコマンドを実行
#何かの作業をする前のお約束(最新版に更新しておいた方が何かと楽) sudo apt-get update sudo apt-get upgrade #opensslのインストール sudo apt-get install openssl #インストールされているか確認 openssl version #mod_sslを有効化していない場合はmod_sslを有効にする sudo a2enmod ssl sudo a2ensite default-ssl sudo /etc/init.d/apache2 restart #秘密鍵は認証局に提出する際に生成するCSRと同時に生成する #鍵の作成 /etc/ssl/conf/以下に諸々のファイルを置くことにする cd /etc/ssl sudo mkdir conf cd conf #-outの後のファイル名はドメイン+年.keyの形式にした。2048は暗号の強さ。推奨サイズ sudo openssl genrsa -des3 -out ./example.com.2016.key 2048 #鍵のパスワードの入力があります #提出用のcsrを作成 sudo openssl req -new -key ./example.com.2016.key -out ./example.com.2016.csr #鍵作成の際に決めたパスワードを入力します #以下は入力事項 :の後が空のところは空欄ありです。 Country Name (2 letter code) [AU]:jp State or Province Name (full name) [Some-State]:kyoto Locality Name (eg, city) []:kyoto Organization Name (eg, company) [Internet Widgits Pty Ltd]:example Organizational Unit Name (eg, section) []:food Common Name (e.g. server FQDN or YOUR name) []:example.com Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: #CSRを開いて、認証局に通知する cat example.com.2016.csr
生成したCSRをコピーして、SSLを購入する際のCSRの入力欄にそのままペーストします。
署名ハッシュアルゴリズムの選択がある場合はSHA256を選びます。
諸々の手続きが終わり、SSLの購入業者から証明証が届きます。
証明証が届いたら、再び端末を開き、
#サーバ証明書の作成 sudo emacs /etc/ssl/conf/example.com.2016.crt #メール文面の証明書 SHA256を貼り付けしてファイルを新規作成 #中間CA証明書の作成 sudo emacs /etc/ssl/conf/example.com.2016.cer #メール文面の中間CA証明書を貼り付けしてファイルを新規作成 #sslの設定の書き換え sudo emacs /etc/apache2/site-available/default-ssl.conf #下記の項目にファイルを配置したパスを指定 SSLCertificateFile /etc/ssl/conf/example.com.2016.crt SSLCertificateKeyFile /etc/ssl/conf/example.com.2016.key SSLCertificateChainFile /etc/ssl/conf/example.com.2016.cer #ファイルを保存し、apache2の再起動 sudo /etc/init.d/apache2 restart #秘密鍵のパスワードの入力を求められる
これでSSLの設定は終了です。
https://example.comを開き、
アドレスバー横の鍵マークをクリックして、SSLの設定を確認しましょう。
補足
Mozillaの無料のSSLのLet's Encryptの設定は簡単でした。