CentOS7でのLet’s Encryptの証明書取得備忘録

タイトルの通りCentOS7でLet’s Encryptの証明書を取得したときの備忘録です。学校で何人かでサーバいじってなんか作ってたり、フォロワーさんのサーバ管理の手伝いをしたりもしてるので、覚えてるうちにメモっておくぞ。

備忘録か忘備録かなやんだけど、調べたら備忘録のほうが正しいらしいね。

環境

証明書の取得を行うサーバの環境です。もう既にWebサイトが公開されている状態で取得を行います。

Certbotのインストール

証明書の取得をしてくれる「Certbot」というツールをインストールします。

Certbotのサイトを開くと使っているWebサーバとオペレーティングシステムを選択するセレクトボックスがあるので、選択します。今回は「Nginx」と「CentOS/RHEL 7」を選択します。すると使い方の説明が英語で出てきます。英語読めないマンだから、ここからは「きっとこうかな…?!」みたいなアレでやりました。間違ってたら指摘してあげてください。

EPELリポジトリを追加して、certbotをインストールします。

$ sudo yum install epel-release
$ sudo yum install certbot

EPELリポジトリを追加したはずなのにcertbotが見つからずインストールできない場合は「–enablerepo=epel」をつけたり「/etc/yum.repos.d/epel.repo」の6行目くらいにある「enabled」のところを「1」にしてインストールします。

証明書の取得

証明書の取得を行います。取得した後の設定については他サイトさんをご覧になってください。セキュリティの専門家ではないのであんまり詳しくないです。

証明書を取得する方法はいくつかあるみたいですけど、ここでは2つ書いておきます。

webrootを使う方法

ドキュメントルートに認証用のファイルを作って証明書を取得します。もう既にWebサイトを公開している場合はこちらがいいと思います。たぶん。こっちの方法で取得を行うと、Webサイトのファイルとか置いてるディレクトリに「.well-known」というディレクトリが作成されます。

ドキュメントルートが「/var/www/example.com」で、証明書を取得したいドメインが「example.com」だとするとき、以下のコマンドを実行します。

$ sudo certbot certonly --webroot -w /var/www/example.com -d example.com

おめでとうございます的な文章が表示されれば取得完了です。

standaloneを使う方法

まだwebサイトを公開していない場合や、ドキュメントルートに作ったファイルにアクセス出来ない場合はこちらを使います。phpmyadmin用のサブドメインの証明書取得なんかをやろうとするとwebrootだとうまくいかなかったです。

証明書を取得したいドメインが「example.com」のとき、以下のコマンドを実行します。

$ sudo certbot certonly --standalone -d example.com

おめでとうございます的な文章が表示されれば取得完了です。