Let’s Encryptを導入する

サイトにSSLの導入が一般的になり、VPS内にある仮サイトや開発用のサイトにもSSLを入れる必要が出てきました。
以前は自前の証明書(通称オレオレ証明書)で対応していたのですが、最近はきちんと外部証明書がないとブラウザが警告をいちいち出すようになり、自前の証明書は使えなくなってしまいました。
流石にテストサイトに有料SSLは導入してもらえないので、無料のSSLを導入することになりました。
無償のSSLといえばLet’s Encryptが一般的ですが、以前利用してた導入ツールのcertbotが使えなくなったので、備忘録を兼ねてSnapの導入記録を残すことにしました。

目次

クリーナップ

Let’s Encryptクライアントcertbotが導入されていたら アンインストールする

yum remove certbot

snapdのインストール

EPELリポジトリからSnapをインストールする

yum install epel-release
yum –enablerepo=epel install snapd

snapdのサービス自動起動設定と起動

systemctl enable –now snapd.socket

シンボリックリンク作成

ln -s /var/lib/snapd/snap /snap

coreパッケージをインストール、アップデート

snap install core
snap refresh core

バージョン確認

snap –version

Let’s Encryptクライアントのインストール

Snapからcertbotコマンドをインストール

snap install –classic certbot

シンボリックリンクを作成

ln -s /snap/bin/certbot /usr/bin/certbot

バージョン確認

certbot –version

Let’s Encrypt証明書の取得

/usr/bin/certbot certonly \

Apacheの設定

証明書: /etc/letsencrypt/live/{設定するドメイン名}/cert.pem
秘密鍵: /etc/letsencrypt/live/{設定するドメイン名}/privkey.pem
中間証明書: /etc/letsencrypt/live/{設定するドメイン名}/chain.pem
証明書+中間証明書: /etc/letsencrypt/live/{設定するドメイン名}/fullchain.pem

ファイル名:/etc/httpd/conf.d/ssl_{設定するドメイン名}.conf



DocumentRoot "/var/www/{設定するドメイン名}/htdocs"
ServerName {設定するドメイン名}

<Directory "/var/www/certbot/{設定するドメイン名}/htdocs/">
    Require all granted
    Options None
    Require all granted
</Directory>

SSLCertificateFile /etc/letsencrypt/live/{設定するドメイン名}/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/{設定するドメイン名}/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/{設定するドメイン名}/fullchain.pem
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

株式会社ねこすけの代表をしています。
2005年に創業しWebマーケティングを実践するためのコンサルティング、サイト構築、サイト運用、システム開発を行っています。
会員・顧客属性を利用したコンテンツ管理を得意としており、協会サイト、多ブランドのECサイト、会員向けコンテンツサイトなどを構築運営しています。Webマーケティングを進めてるのにパートナーがほしいと感じている方、ご相談ください。
月に1度のミーティングから細かなサイト保守まで必要な部分での対応が可能です。 問い合わせ

目次