Amazon Linux 2023에서 스냅을 통해 certbot을 설치하는 방법

Amazon Linux 2023에서 스냅을 통해 certbot을 설치하는 방법

나는 방법에 대한 이 가이드를 따르고 있습니다.Amazon Linux 2023에서 SSL/TLS 구성. CA 서명 인증서를 얻으려면 다음 방법을 사용하는 것이 좋습니다.인증서 로봇. Certbot을 얻으려면 Snap을 설치하는 것이 좋습니다.

여러 가지 방법을 시도했지만 필수 구성 요소를 설치할 수 없습니다.

sudo yum install snapd
    Error: Unable to find a match: snapd

sudo amazon-linux-extras install epel
    sudo: amazon-linux-extras: command not found

sudo yum install -y amazon-linux-extras
    Error: Unable to find a match: amazon-linux-extras

답변1

솔직히 certbot을 실행할 이유가 없습니다. 실제로는 letcencrpyt와 상호 작용하고 일부 구성 파일을 빠르게 수정하기에 충분한 코드입니다.특히Snap의 격리 기능은 실제로 시스템 수정 작업을 수행하려는 경우 쓸모가 없습니다.

Amazon은 certbot을 설치하기 위해 snap을 사용하는 것을 권장하지 않습니다.https://eff-certbot.readthedocs.io/en/stable/install.html#installation여러 가지 방법 중 하나로 나열되어 있습니다.

같은 페이지에 설명된 pip 방법을 사용하여 최신 certbot을 간단히 설치할 수 있습니다. snap을 사용하는 것보다 오버헤드가 훨씬 적습니다(저는 그들의 권장 사항이 정말 마음에 들지 않습니다. 또한 pip를 기반으로 한 설명에는 약간의 오류가 있다고 생각합니다). 작동 방식을 간단히 살펴보세요.

https://certbot.eff.org/instructions?ws=nginx&os=pip

# create an isolated python environment for certbot purposes alone
python3 -m venv /opt/certbot

# Modify environment for the current shell only to make python modify
# the virtual environment and not your system libraries
source /opt/certbot/bin/activate

# Install certbot
pip install certbot

그게 다야. 나중에 certbot을 독립 실행형 프로그램으로 실행하려면,

/bin/bash -c "source /opt/cerbot/bin/activate; certbot" 

이 방법.

물론 이것을 다음과 같은 쉘 스크립트에 넣을 수도 있습니다.

/usr/bin/certbot:

#!/bin/bash
source /opt/certbot/bin/activate
/opt/certbot/bin/certbot "$@"

이것을 실행 가능하게 만들고( ) 이후부터는 chmod 755 /usr/bin/certbot간단히 명령으로 사용하십시오 .certbot

정기적으로 인증서를 자동으로 갱신하도록 시스템 타이머를 설정할 수도 있습니다.

이것은 매우 간단합니다.

  1. 이 내용으로 /lib/systemd/system/certbot.service 파일을 만듭니다.
[Unit]
Description=Certbot
Documentation=https://certbot.eff.org/docs

[Service]
Type=oneshot
ExecStart=/bin/bash -c "source /opt/cerbot/bin/activate; certbot -q renew" 
PrivateTmp=true

및 /lib/systemd/system/certbot.timer 파일:

[Unit]
Description=Run certbot twice daily

[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=true

[Install]
WantedBy=timers.target

이 타이머의 소스 코드는 Fedora 패키징에서 직접 제공됩니다.

이 타이머를 활성화하려면 systemctl enable --now certbot.timer그때부터 필요할 때 인증서가 자동으로 갱신됩니다.

또한 AWS 지원팀에 이메일을 보내 다른 모든 대규모 Linux 배포판에 포함되어 있는 "certbot"이라는 소프트웨어를 사용하도록 권장 yum install certbot하지만(설치하고 위의 모든 작업을 수행할 수 있도록) certbot을 포함하지 않기로 결정한 이유를 물어볼 수도 있습니다. Amazon Linux 2023 자체에서. 이것은 매우 어리석은 실수처럼 보입니다.

관련 정보