Let’s Encryptの使い方

Let’s Encryptインストール

Let’s Encryptは無料でsslの証明書を発行してくれる機関です。
/etc/letsencrypt/live/etc/letsencrypt/archiveに、
作成したドメインごとのディレクトリが作成されます。
7日で5証明書しか発行できないのでご注意ください。
詳細は、Let’s Encrypt 総合ポータルをご確認ください。

letsencryptをインストール前の確認(2017/10/24追記)

初歩的なところで、エラーになったので、念のため追記しておきます。

ファイアーウォール関連の設定確認

firewalldでhttpsの接続を許可しているか
②サーバーのWEB管理画面などにあるファイアーウォールで443(https)ポートの接続を許可しているか
を確認してください。

certbot等のインストール

まずは、公式サイトに記載している通りに下記のコマンドでインストール作業をしてください。

sslにするドメインを入力

ドキュメントルートに「htaccess」を設置していたらエラーになったので、
ディレクトリ内にはindex.phpに簡単なhtmlを記載したファイルのみを設置しておきました。(index.php以外のファイルは設置せず。)
ドキュメントルート(ファイルがあるデェレクトリ)が、/var/www/htmlディレクトリ名の場合
2019/0225 httpd.confとssl.confともに「DocumentRoot “/var/www/html”」から、変更していなかったのが原因かもしれないが、上記の方法だとエラーになったため、下記の方法で成功後に、ssl.confの「DocumentRoot “/var/www/html/example.com”」に変更した。
ドキュメントルート(ファイルがあるデェレクトリ)が、/var/www/htmlの場合
「–apacheを挿入すると、自動でssl.confを設定してくれるのですが、色々エラーが発生したので「–apache」を挿入せずにコマンドを実行することにしました。

①メールアドレスの入力が求められます。

メールアドレスを入力してください。

②サービス同意を求められます。

a」で同意してください。

③メーリングリストへの登録を求められます。

任意ですので、「N」を選択します。

④HTTPSとHTTP接続を両方できるようにするのか問われます

任意で好きな方を選択してください。 無事申請が成功したら以下のように表示されます。

ssl.confの設定

無事に申請が成功したら、ssl.confを編集してください。 以下の内容を追記してください。

httpdのエラー確認

httpdの再起動

Let’s Encryptの期限

「90日」で期限が切れるので、その都度、下記のコマンドが必要となります。
※cerbot renewは、期限が切れる30日前になれば更新してくれます。つまり、cronで更新設定をしておけば90-30=60日後に更新されます。
/etc/letsencrypt/renewalディレクトリにあるファイルで更新日を確認できます。

Let’s Encryptをcronを使って自動更新

cronをインストールする

cronie-noanacronをインストールした後にcronie-anacronを削除
必ずcronie-anacronを削除するようにしてください。

/etc/cron.d/dailyjobsを編集

certbot renewは、1日何回やってもペナルティーが課されないので、cronを使って2回実行することにします。 /etc/cron.d/dailyjobsを編集してください。 以下の内容を追記してください。 追記後の内容は以下の通りになります。

cron再起動

cronの記載方法

分 時間 日 月 曜 命令の順番に書く
root権限が必要な場合は、
分 時間 日 月 曜 root 命令
「*」はすべてを意味する。
「–quiet」は、補足メッセージを表示しない。
2,4のようにカンマ区切りにすると、2時と4時と2回指定することができる。

cronのログ確認方法

Let’s Encryptの削除

何故かどう頑張っても、Let’s Encryptで証明書を発行してもエラーになった場合に、Let’s Encryptの削除する方法です。

以下のコマンド2つを実行してください。

1つ目のコマンド。

2018/03/06追記

上記のコマンドを実行ししたら、下記のように問われるので、「y」を選択すると、「certbot delete」コマンドを実行しなくてもdeleteしてくれました。
2つめ。上記でyを選択したら必要ない。
/etc/letsencrypt/live/や/etc/letsencrypt/archive/あたりがごっそり削除されているのでご確認ください。
参照:https://certbot.eff.org/docs/using.html#changing-a-certificate-s-domains