Amazon Linux 2023 に Let's Encrypt をインストールする

Amazon Linux 2023 に Let's Encrypt をインストールする

Amazon Linux 2023でLet's Encrypt nginxを使用してSSL証明書を取得しようとしています。

  • まず、次のコマンドを使用してEPELを追加しました。
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    
    そして
    sudo rpm -ihv --nodeps ./epel-release-latest-8.noarch.rpm
    
    そしてインストールに問題はありませんでした
  • それから試しました。
    sudo yum install python3-certbot-nginx
    
    そしてエラーメッセージを受け取りました:
    Problem: package certbot-1.22.0-1.el8.noarch requires python3-certbot = 1.22.0-1.el8, 
    but none of the providers can be installed
      - conflicting requests
      - nothing provides python3.6dist(setuptools) >= 39.0.1 needed by python3-certbot-1.22.0-1.el8.noarch
      - nothing provides python3.6dist(cryptography) >= 2.5.0 needed by python3-certbot-1.22.0-1.el8.noarch
      - nothing provides python3.6dist(configobj) >= 5.0.6 needed by python3-certbot-1.22.0-1.el8.noarch
      - nothing provides python3.6dist(distro) >= 1.0.1 needed by python3-certbot-1.22.0-1.el8.noarch
      - nothing provides /usr/bin/python3.6 needed by python3-certbot-1.22.0-1.el8.noarch
      - nothing provides python3.6dist(pytz) needed by python3-certbot-1.22.0-1.el8.noarch
      - nothing provides python(abi) = 3.6 needed by python3-certbot-1.22.0-1.el8.noarch
      (try to add '--skip-broken' to skip uninstallable packages)
    
  • 私も試しました
    sudo dnf install python3-certbot-nginx
    
    しかし、同様のエラーが発生しました。

コードサポートビルダーが必要かもしれませんが、インストールできないことを学びました。どうやって入手できるか教えてください。これが問題でない場合は、何が間違っているのか、それを解決する方法を教えてください。

答え1

/opt/certbot/bin/certbot次のコマンドを使用して、Amazon Linux 2023にcertbotをインストールしました。

sudo dnf install -y augeas-libs
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot

あるいは、特定のバージョンの certbot をインストールする場合は、最後のコマンドを次のように置き換えることができます。

sudo /opt/certbot/bin/pip install certbot==2.6.0

私たちの設定では、プラグインを使用する代わりに、いくつかのフックを持つスタンドアロンモードを使用します。 dns、apache、nginxなどのプラグインを使用するには、最後のインストールコマンドをpip install certbot-apache

答え2

私を正しい道に導いたJensに感謝します。しかし、完全に機能するには追加のステップが必要であることがわかりました。特定のWebサーバーソフトウェア用のモジュールが必要な場合があります。どこからでもコマンド「certbot」を呼び出すことができることを願っています。したがって、これらのタスクを実行するには、最後の行を変更して別の行を追加する必要があります。

sudo dnf install -y augeas-libs
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot certbot-apache
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot

Webサーバーソフトウェアに合わせて必要に応じて変更してください。

答え3

CertbotのEPEL 8バージョンは、Amazon Linux 2023では利用できないPythonバージョン(v3.6)用に構築されているようです。

私はこれを見つけましたこれは、EPELリポジトリのどれもAmazon Linux 2023と互換性がないことを示しているようです。

~によるとCertbotをインストールするためのAmazon Linux 2023ドキュメントpip仮想環境にCertbotをインストールするには、基本バージョンのPython3を使用することをお勧めします。また、プラグインpip install certbot-nginxを取得できる必要がありますnginx

編集する

リンクされたAWSドキュメントにはインストール手順が含まれていないようですが、次の場所certbotにリンクされています。公式certbotインストール手順pipこれは代替インストール方法の1つと言われています。

答え4

sudo dnf install -y augeas-libs
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot certbot-nginx 

これは私にとって効果的でしたが、シンボリックリンクが機能しなかったので、/ optの場所で直接certbotを使用しました。

sudo /opt/certbot/bin/certbot certonly --nginx .... 

関連情報