LetsEncrypt

【誰でも10分でできる】超簡単!Let’s Encryptを利用し無料でSSL証明書を発行する【HTTPS】

#サーバ
writtdden by ま。

こんにちは、ま。です

今回は、超簡単にWebサイトをSSL化する手順です!

手順だけどんどん実行していけば、誰でも10分でできます!

certbotのインストール

まずはcertbotという、証明書を発行するためのコマンドをインストールします。

今回はyumとなっていますので、Ubuntuなどを利用している方はaptに置き換えて実行してみてください。

sudo yum -y install certbot

certbotのインストールはこれだけで完了です!

証明書の発行

早速証明書を発行します。

sudo certbot-auto certonly --webroot -w /var/www/sample/public -d ドメイン

/var/www/sample/public に該当するのはSSL化したいサイトのドキュメントルートのフォルダになります。

ドメインにはSSL化するドメインを記載ください。

AuthorizationError: Some challenges have failed.

もし、このコマンドで上記のようなエラーが起こるようであれば、Webサーバーを止めて以下のコマンドで再度実行してみてください。

sudo service httpd stop
sudo certbot certonly --standalone -d sample.com

stopのコマンドはApatchのなかでもCentOSの書き方なので、webサーバーそれぞれの書き方で止めてください。

できあがった証明書は “/etc/letsencrypt/live/ドメイン” の配下に保存されています。

証明書の適応

証明書をWebサーバーに適応してあげます。

Apatchであればたいていは “/etc/httpd/conf/httdp.conf” にWebサーバーのコンフィグファイルがあると思いますので、
証明書情報を記載してあげます。
またドメインのところはSSL化するものと置き換えてください。

ServerName ドメイン
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/ドメイン/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/ドメイン/chain.pem

Nginxではこんな感じに記載します。

listen 443 ssl; 
ssl_certificate /etc/letsencrypt/live/ドメイン/fullchain.pem; 
ssl_certificate_key /etc/letsencrypt/live/ドメイン/privkey.pem;

最後にWebサーバーを再起動しましょう!

sudo service httpd restart

これでサーバー作業は終了です!HTTPSでドメインにアクセスしてみてください!

更新するとき

Let’s Encryptの最大の難点であるのが証明書期限です。
この方法で取得した証明書は90日しか期限がないので、3ヶ月に1度はこうしんしなくてはなりません。

ただ、更新も難しいことはなく、更新コマンドたたいてWebサーバーを再起動しておしまいです!

sudo certbot renew
sudo service httpd restart

crontabなどで定期実行すれば、更新も気にせずWebサイトを運営できます!

まとめ

Apatchだったり、Nginxだったり、サーバーOSによっても少しづつコマンドが違う個所もありますが、全体の流れとしてはこんな感じです。

初回はさぐりさぐりなので、10分ではできないかもしれませんが、
やること自体は少ないので数回やれば簡単にできてしまうのではないかなと思います!

WebサイトにはHTTPSが必須かと思いますのでぜひ活用してください!

Favorite