はじめに
3ヶ月前にLet's Encryptで証明書を作ったが、期限が切れてまた一から作り直したので、そのメモです。作成クライアントマシンは、macOS High Sierraで、サーバマシンは、macOS Server 5.3です。
事前準備
Let's Encryptのオフィシャルサイトの『Getting Started』を読むと、certbotというACMEクライアントを使うことを勧めている。
certbotは、homebrewで提供されているので、homebrewのインストール経験があれば、簡単にインストールできる。ただ、certbotをインストールすると依存系ファイルもインストールする。
それだとちょっと気に入らないので、今回は、クライアントマシンにインストールして、証明書をクライアントマシンで作成し、サーバにアップロードするという手法をとる。
大まかな流れ
- クライアントマシンにcertbotのインストール
- certbotを使って証明書をクライアントマシンで作成
- できた証明書をサーバマシンにアップロード
- Server.appを使って証明書をセットアップ
手順
クライアントマシンにcertbotのインストール
https://certbot.eff.org/#osx-apache の手順に従い、certbotをインストールする。
$ brew install certbot
certbotを使って証明書をクライアントマシンで作成
certbotの対話形式のマニュアル発行だと次のコマンドを使う。メールアドレス、アグリメント、ドメイン名など聞かれる。また、サーバ上に出力されたWebページを作成する。(英語を良く読んで手順通りやれば、問題なし。)
$ certbot certonly --manual
または、
$ sudo certbot certonly --manual
できた証明書をサーバマシンにアップロード
証明書ができると、/etc/letsencrypt/live/ドメイン名/に4種類の証明書が作成されて、その中のprivkey.pemとfullchain.pemをサーバにコピーする。ちなみにliveディレクトリに入っているのはリンクで、実体は、/etc/letsencrypt/archive/ドメイン名/に入っている。
Server.appを使って証明書をセットアップ
Server.appのサーバの証明書で、『証明書識別情報を読み込む...』選ぶ。
『秘密鍵が含まれるファイルをここにドラッグしてください。』にprivkey.pemをドラッグし、『公開証明書が含まれるファイルをここにドラッグしてください』にfullcain.pemをドラッグする。
できたら、『サービスのセキュリティ保護に使用:』で証明書を選択してください。