doroidpanic

AmazonLinux2でLet’s Encryptがエラー – Sorry, I don’t know how to bootstrap Certbot on your operating system!

久しぶりにAmazonLinux2に触ったら
Let’s Encryptのインストール後、certbot-auto実行でエラーが発生

[ec2-user@ip-99-99-99-99 certbot]$ sudo ./certbot-auto
Sorry, I don't know how to bootstrap Certbot on your operating system!

You will need to install OS dependencies, configure virtualenv, and run pip install manually.
Please see https://letsencrypt.readthedocs.org/en/latest/contributing.html#prerequisites
for more info.

certbot-autoを開くと、Amazon Linuxの判定があるけどこれを修正する必要があるらしい。

elif [ -f /etc/issue ] && grep -iq "Amazon Linux" /etc/issue ; then
  Bootstrap() {
    ExperimentalBootstrap "Amazon Linux" BootstrapRpmCommon
  }
  BOOTSTRAP_VERSION="BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION"

確かに、判定できない。。

[ec2-user@ip-99-99-99-99 certbot]$ grep -iq "Amazon Linux" /etc/issue
[ec2-user@ip-99-99-99-99 certbot]$
[ec2-user@ip-99-99-99-99 certbot]$ cat /etc/issue
\S
Kernel \r on an \m

[ec2-user@ip-99-99-99-99 certbot]$

これに書き換える。

elif grep -i "Amazon Linux" /etc/issue > /dev/null 2>&1 || grep 'cpe:.*:amazon_linux:2' /etc/os-release > /dev/null 2>&1; then
  Bootstrap() {
    ExperimentalBootstrap "Amazon Linux" BootstrapRpmCommon
  }
  BOOTSTRAP_VERSION="BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION"

参考-> Amazon Linux 2でLet’s Encryptが使えない