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에게 감사드립니다. 그러나 완전히 작동하려면 추가 단계가 필요하다는 것을 알았습니다. 특정 웹 서버 소프트웨어에 대한 모듈이 필요할 수도 있으며 어디에서나 "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

웹 서버 소프트웨어와 일치하도록 필요에 따라 변경하십시오.

답변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이것은 대체 설치 방법 중 하나 라고 여전히 언급됩니다 .

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

관련 정보