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 ....