【RapidSSL】SSL証明書更新方法③ 〜SSL証明書申し込み〜


定期的に更新しなければならない、SSL証明書の更新方法をCSR作成からSSL証明書のインストール方法を3回に分けて、投稿します。今回は、第2回目SSL証明書の更新申し込み手順をまとめます。

【RapidSSL】SSL証明書更新方法① 〜CSR作成〜 - Qiita
【RapidSSL】SSL証明書更新方法② 〜SSL証明書申し込み〜 - Qiita
【RapidSSL】SSL証明書更新方法③ 〜SSL証明書インストール方法〜 - Qiita ← 今回

1.SSL証明書をインストールするサーバーにSSH接続

まずは、対象のサーバーにSSH接続します。

ターミナル
hoge@hoge-no-MacBook-Pro:~ samurai $ ssh fuga
Last login: Thu May 31 18:07:52 2018 from p1440072-ipngn15601asagaya.tokyo.ocn.ne.jp
[hoge@fuga ~]$

2.rootユーザーに切り替えて、ディレクトリを移動する

ターミナル
[hoge@fuga ~]$ su -
[hoge@fuga ~]# cd /etc/httpd/conf/ssl.key

3.Rapid-SSLからのメールに記載されているサーバー証明書と中間証明書をコピー

Rapid-SSLから送られてくる以下のメールに記載されているサーバー証明書と中間証明書をコピーする。

差出人 : [email protected]
件名 : 【通知】 SSLサーバー証明書発行完了のお知らせ

メール本文
-----BEGIN CERTIFICATE REQUEST-----
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefuga
-----END CERTIFICATE REQUST-----

4.新サーバー証明書を作成する

ターミナル
[hoge@fuga ~]# vi /etc/httpd/conf/ssl.key/server.crt_YYYYMMDD #「YYYYMMDD」は作業日
サーバー
-----BEGIN CERTIFICATE REQUEST-----
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefugahogefuga
hogefugahogefugahogefugahogefugahogefuga
-----END CERTIFICATE REQUST-----
~
~
~
~
"/etc/httpd/conf/ssl.key/server.crt" 30L, 1850C

5.新中間証明書を作成する

メール本文より、中間証明書をコピーします。

サーバー
-----BEGIN CERTIFICATE REQUEST-----
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefugahogefuga
fugahogefugahogefugahogefugahogefuga
-----END CERTIFICATE REQUST-----
~
~
~
~
"/etc/httpd/conf/ssl.key/geotrustca.crt" 44L, 2660C

6.各証明書を上書きする

サーバー
[hoge@fuga ~]# cp -p server.crt_YYYYMMDD server.crt #作成したサーバー証明書で上書き
[hoge@fuga ~]# cp -p geotrustca.crt_YYYYMMDD geotrustca.crt #作成したサーバー証明書で上書き

7.「ssl.conf」編集 - サーバー証明書までのパスを通す(初回登録時のみ)

サーバー
[hoge@fuga ~]# vi /etc/httpd/conf.d/ssl.conf
# 
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrse. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile /etc/httpd/conf/ssl.key/server.crt # ← 作成したserver.crtのパス

8.「ssl.conf」編集 - 秘密鍵までのパス(初回登録時のみ)

サーバー
[hoge@fuga ~]# vi /etc/httpd/conf.d/ssl.conf
#  Server Private Key:
#  If the key is note 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.)
SSLCetificateKeyFile /etc/httpd/conf/ssl.key/server.key # ← 作成したserver.keyのパス

9.「ssl.conf」編集 - 中間証明書までのパス(初回登録時のみ)

サーバー
[hoge@fuga ~]# vi /etc/httpd/conf.d/ssl.conf
#  Server Certificate Chain:
#  Point SSLCertifiateChainFile at a file containig the
#  concatenation of PEM encoded CA certificates which form the
#  certificate chain for the server certificate. Alternatively
#  the refrenced file can be the same as SSLCertificateFile
#  when the CA certificate are directly appended to the server
#  certificate fr convinience.
SSLCetificateKeyFile /etc/httpd/conf/ssl.key/geotrustca.crt # ← 作成したgeotrustca.crtのパス

10.vhost.confの内容をコピー(初回登録時のみ)

〜の間をコピーします。

サーバー
[hoge@fuga ~]# vi /etc/httpd/conf.d/ssl.conf
NameVirtualHost *:80
<VirtualHost *:80>
   ServerName hoge.jp
   DocumentRoot /usr/local/rails/ar/curent/public
   <Directroy /usr/locar/rails/ar/current/public>
      Options -MultiViews
#       AutType Basic
#       AuthName "Please enter user_id and password"
#       AuthUserFile /etc/httpd/.htpasswd
#       Require user hoge
   </Directory>
   <Directory "/usr/local/rails/ar/current/public/uploads">
    Satisfy Any
    Allow from any
   </Directory>
     PassengerEnabled on
     RailsBaseURI /
     RailsEnv production
     PassengerUserSwitching on
     PassengerDefaultUser hoge
     PassengerPoolIdletime 0
     PassengerMaxRequestQueueSize 0
</VirtualHost>
~
~
~
~
"/etc/httpd/conf.d/vhost.conf" 23L, 678C

11.「ssl.conf」編集

以下をコピー

サーバー
##
## SSL Virtual Host Context
##


<VirtualHost _default_:43>
   ServerName fuga
   DocumentRoot /usr/local/rails/ar/current/public
   <Directory /usr/local/rails/ar/current/public>
      Options -MultiViews
   </Directory>
   <Directory "/usr/local/rails/ar/current/public/uploads">
      Satisfy Any
      Allow from any
   </Directory>
    PassengerEnabled on
    RailsBaseURI /
    RailsEnv production
    PassengerUserSwitching on
    PassengerDefaultUser hoge
    PassengerPooIdleTime 0

12.設定ファイル文法確認(初回登録時のみ)

サーバー
[hoge@fuga ~]# /etc/init.d/httpd configtest
[Mon June 4 18:20:02 2018] [warn] NameVirtualHost *:80 has no VirtualHosts
Syntax OK
[hoge@fuga ~]# /etc/init.d/httpd configtest

13.Apache再起動

サーバー
[hoge@fuga ssl.key]# /etc/init.d/httpd reload
Reloading httpd:
[hoge@fuga ssl.key]# /etc/init.d/httpd reload

終わりに

これにて、3回に渡るSSL証明書を更新する作業が完了です。