当サイトはさくらVPS上のUbuntu 18.04LTSでWordPressを構築して運用しております。
以前、当サイトをHTTPからHTTPSへ移行する手順(さくらVPSのUbuntuでWordPressをHTTPからHTTPSへ移行する手順)をご紹介させていただきました。
今回は、このとき設定したラピッドSSLの期限を更新する手順をご紹介させていただきます。

環境

今回の更新対象となるUbuntuの環境は次になります。


$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

apacheのバージョンは次になります。


$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2020-03-13T12:26:16

秘密鍵と証明書署名要求(CSR)の作成

期限の更新は前回の秘密鍵と証明書署名要求(CSR)を再利用することもできます。
しかし、セキュリティのことを考えて新たに秘密鍵と証明書署名要求(CSR)を作成し設定することにします。

秘密鍵はopensslコマンドを用いて作成します。
このとき、パスフレーズを要求されますので、4文字以上の文字列を入力します。


$ openssl genrsa -des3 -out www.trifields.jp.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
...........+++++
................................................................+++++
e is 65537 (0x010001)
Enter pass phrase for www.trifields.jp.key:
Verifying - Enter pass phrase for www.trifields.jp.key:

このパスフレーズはWebサーバの再起動に入力を求められたりするため、必ず控えておくことをお勧めします。
しかし、Webサーバの再起動ごとにパスフレーズを入力することは大変です。
この解決方法は主に次の2つあります。

  • 入力を求められたときに、パスフレーズを記したファイルを実行し自動入力させる
  • パスフレーズを取り除く

ここでは、パスフレーズを取り除く方法を採用します。
次のコマンドによりパスフレーズを取り除いた秘密鍵を作成します。
このとき、パスフレーズの入力を求められますので、上記で設定したパスフレーズを入力してください。


$ openssl rsa -in www.trifields.jp.key -out www.trifields.jp.key.insecure
Enter pass phrase for www.trifields.jp.key:
writing RSA key

ファイル名を整理します。


$ mv www.trifields.jp.key www.trifields.jp.key.secure
$ cp www.trifields.jp.key.insecure www.trifields.jp.key

次に、パスフレーズを取り除いた秘密鍵から証明書署名要求を作成します。
次のコマンドにより、秘密鍵から証明書署名要求を作成します。


$ openssl req -sha256 -new -key www.trifields.jp.key -out www.trifields.jp.csr
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) [AU]:JP                                    # 国名
State or Province Name (full name) [Some-State]:Ishikawa                # 都道府県
Locality Name (eg, city) []:Kanazawa-shi                                # 市区町村
Organization Name (eg, company) [Internet Widgits Pty Ltd]:trifields    # 組織名
Organizational Unit Name (eg, section) []:                              # 組織単位名
Common Name (e.g. server FQDN or YOUR name) []:www.trifields.jp         # FQDN: ここ以外は省略可
Email Address []:                                                       # メールアドレス

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:                                                # 空欄
An optional company name []:                                            # 空欄

さくらのラピッドSSLに申し込み

SSLサーバ証明書お申し込み|さくらインターネットから申し込みます。
ログイン画面へ進むボタンをクリックし、ログインを行います。

SSLサーバ証明書お申し込み画面が表示されます。
「お申込み種別」と「お申し込みプラン」、「支払方法」を選択および入力します。
「お申込み種別」が更新の場合は、どのプランを更新するのかを選択します。
「約款のご確認」に目を通して同意するにチェックします。
再度、全体を確認した後に「CSRの入力へ進む」をクリックします。

左側のテキストボックスに、事前に作成したおいた証明書署名要求の内容を貼り付けます。

具体的には、サーバ上で証明書署名要求をvimで開き、ターミナルからコピーして貼り付けます。
成功すると、証明書署名要求の作成時に入力したコモンネームなどが右側に表示されます。

ここで、表示された証明書署名要求をしっかり確認しておきます。
不備が見つかった場合は、再度、証明書署名要求を作成し、左側のテキストボックスに貼り付けます。
問題が無ければ、「確認画面へ進む」をクリックします。

内容をしっかりと確認します。問題が無ければ、ラピッドSSLを申し込みます。

申込完了が表示されます。

認証ファイルのアップロード

申し込みが完了すると、「お申込み受付完了のお知らせ」メールが届きます。
その後しばらくして、「[さくらインターネット]SSLサーバ証明書 認証ファイルのアップロードのお願い」メールが届きます。
私の場合は、約20分でこのメールが届きました。
このメールにドメインの使用権の確認のための手順が記載されています。

会員メニュー|さくらインターネットからログインして、「サーバ、SSL等サービスの確認」をクリックします。
新たに更新したサービスの「サーバ証明書」をクリックします。

ページが遷移して、「認証ファイルDL」をクリックして認証ファイルをダウンロードします。

認証ファイルのダウンロード後から認証までの手順については、省略させていただきます。
詳しい内容は、「[さくらインターネット]SSLサーバ証明書 認証ファイルのアップロードのお願い」に記載されています。
手順は、詳しく記載されているため、難しいところはありませんでした。

認証局は自動的に認証ファイルのクローリングを行っているため、しばらく待ちます。
私の場合は、約20分で「[さくらインターネット]ジオトラスト SSLサーバ証明書発行のお知らせ」が届き、証明書が発行されました。

証明書の発行が完了しましたら、認証ファイルは不要ですので、忘れずに削除しておきます。

SSLサーバ証明書のダウンロードおよびサーバへのアップロード

認証が完了したら、さくらインターネットの会員メニュー「サーバ、SSL等サービスの確認」から、発行された証明書をダウンロードします。

ダウンロードした証明書をサーバにアップロードします。
ここでは、上記の秘密鍵と証明書署名要求(CSR)の作成したディレクトリに保存しておきます。
その後、証明書のファイル名を変更しておきます。


$ mv  server.crt www.trifields.jp.crt

証明書の設置

秘密鍵や証明書の権限や所有、グループを変更して/etc/ssl内に設置します。
今回は更新のため、前回のファイル名と同様としました。


$ sudo chmod 600 www.trifields.jp.key
$ sudo chmod 600 www.trifields.jp.crt
$ sudo chown root:root www.trifields.jp.key
$ sudo chown root:root www.trifields.jp.crt
$ sudo mv www.trifields.jp.key /etc/ssl/private
$ sudo mv www.trifields.jp.crt /etc/ssl/certs

前回のファイル名と同様にしたため、apacheの設定は変更する必要がありません。
apacheの再起動をしておきます。


$ sudo service apache2 restart

ここで、ブラウザからhttps://で接続できるかを確認します。
また、ブラウザのアドレスバーの横にある鍵マークから、有効期間が延長していることを確認します。

関連する記事

  • R データフレームのファクター列を2値に変換する方法 Rのデータフレームにおいて、ファクター列を2値に変換する方法をお伝えいたします。 方法はとても単純で、データフレームの列ごとにファクター型かどうかをチェックし、ファクター型であればファクターごとに2値の列を新たに作成し追加します。 ソースコードは以下のようになります。 convertFactorToBinary <- function(df, sep = […]
  • Ubuntu16.04でElectronをインストールする方法Ubuntu16.04でElectronをインストールする方法 Ubuntu16.04でElectronをインストールし、定番のHello […]
  • R言語 CRAN Task View:社会科学の統計R言語 CRAN Task View:社会科学の統計 CRAN Task View: Statistics for the Social Sciencesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: John Fox Contact: jfox at […]
  • Python 度数分布表から乱数を生成するPython 度数分布表から乱数を生成する Pythonで与えられた度数分布に従う乱数を生成する方法をご紹介する。 さっそくだが、全コードを以下に記す。 import random import matplotlib.pyplot as plt def random_freq_index(freq_list): """ 度数分布表から乱数を生成してインデックス番号を返します […]
  • R group_byにsummaryを適用する方法R group_byにsummaryを適用する方法 R言語のtidyverseパッケージを用いて、group_by関数によりグループ分けした結果に対してsummary関数を適用する方法についてお伝えいたします。 ここでお伝えする方法は、tidyverseパッケージを用いる方法となりますので、tidyverseパッケージを読み込んでおきます。 > […]
さくらVPSのUbuntuでラピッドSSLの期限を更新する手順