2020年までは、無料のSSL証明書「Let’s Encrypt」を利用するためには「certbot-auto」というプログラムが利用されていたのですが、2021年1月以降すべてのディストリビューションにおいて非推奨となり現在は以下のエラーが表示され利用できなくなっています。
Skipping bootstrap because certbot-auto is deprecated on this system.
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.
2021年1月以降は「snap」を利用した「certbot」のインストールが推奨されています。ただし、「Amazon Linux2」に「snap」をインストールするには、ひと手間が必要なためその手順を紹介します。
単純にyumを実行するとエラー
snapを利用するためのsnapdはyumでインストールすることができるのですが「Amazon Linux2」で実行すると、以下のようなエラーが発生しインストールすることができません。
$ yum install snapd
読み込んだプラグイン:langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
・・・・・
43 packages excluded due to repository priority protections
パッケージ snapd は利用できません。
エラー: 何もしません
snapdのリポジトリを取得
まずは、wgetコマンドを実行してsnapdのリポジトリをダウンロードします。
※以降はrootユーザーで実行してください。
$ cd /etc/yum.repos.d/
$ wget https://people.canonical.com/~mvo/snapd/amazon-linux2/snapd-amzn2.repo
--2021-07-03 10:26:57-- https://people.canonical.com/~mvo/snapd/amazon-linux2/snapd-amzn2.repo
・・・・・
2021-07-03 10:26:59 (7.63 MB/s) - `snapd-amzn2.repo' へ保存完了 [309/309]
yumの設定ファイルを編集
yum.confの最後に1行設定(exclude=snapd-*.el7 snap-*.el7)を追加します。
$ vi /etc/yum.conf
・・・・・
exclude=snapd-*.el7 snap-*.el7
snapdをインストール
yumを利用してsnapdのインストールを行います。
$ yum install snapd
読み込んだプラグイン:langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
・・・・・
依存性関連をインストールしました:
lzo.x86_64 0:2.06-8.amzn2.0.4
snap-confine.x86_64 0:2.51-1.amzn2.1
squashfs-tools.x86_64 0:4.3-0.21.gitaae0aff4.amzn2.0.1
完了しました!
snapdの起動と自動起動の設定
snapdを起動するのと同時に、自動起動設定を行います。
$ systemctl enable --now snapd.socket
Created symlink from /etc/systemd/system/sockets.target.wants/snapd.socket to /usr/lib/systemd/system/snapd.socket.
snapをインストール
以下のコマンドでsnapのインストールを行います。
$ snap install core
タイミングにより以下のエラーが出ることがあるので、もし発生した場合は何度か実行してみてください。
error: too early for operation, device not yet seeded or device model not acknowledged
正常にインストールが完了したら、最新バージョンにアップデートして完了です。
$ snap refresh core
snap "core" has no updates available
$ snap --version
snap 2.51-1.amzn2.1
snapd 2.51-1.amzn2.1
series 16
amzn 2
kernel 4.14.186-146.268.amzn2.x86_64
これで「Let’s Encrypt」に必要な「certbot」をsnapでインストールできるようになります。
それではみなさん、自由なWEBライフをお過ごしください!