1 2 3 4 |
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. |
신규 서버를 세팅 하고 SSL 추가 했을때 당황스럽게도 위와 같은 메세지를 뿌리며 certbot-auto 가 작동하지 않았다.
certbot-auto 의 경우 실행 시킬때마다 자동 업데이트를 하는데 버전이 1.11 버전으로 되어 있을경우 발생하는 메세지로 확인이 된다.
링크를 따라 갈 경우 snap을 이용해서 설치해서 사용하라고 안내 되어 있다.
snap 은 yum 혹은 apt-get 과 같은 패키지 관리 툴 이다.
CentOS 7.7~8.X 의 경우 epel-release 가 설치 되어 있다면 yum 으로 snap을 설치할 수 있다. (6번 라인은 양반김 처럼 두번 실행해야 할 수 있다.)
1 2 3 4 5 6 7 |
~]# yum install snapd ~]# ln -s /var/lib/snapd/snap /snap ~]# systemctl enable --now snapd.socket ~]# snap install core ~]# snap refresh core |
이후에 snap 을 이용하여 certbot 을 설치한다.
주의: 기존에 yum 이나 apt-get 혹은 dnf 으로 설치된 certbot은 삭제 하고 진행 해야 한다. (일부 버전에서 심볼링 링크가 안걸리는듯… 하여 8번 라인의 명령어를 추가 실행해야 할 수 있다.)
1 2 3 4 5 6 7 8 |
~]# snap install --classic certbot ~]# ln -s /snap/bin/certbot /usr/bin/certbot ~]# certbot --version certbot 1.14.0 ### 버전이 확인 되지 않는 경우 아래와 같이 심볼릭 링크를 추가 해야 한다. ~]# ln -s /usr/bin/snap /var/lib/snapd/snap/bin/certbot |
/usr/bin 안으로 링크를 생성하기 때문에 ssl 발급/삭제을 위해서는 아래 명령어를 사용하면 되겠다.
1 2 3 4 5 |
~]# certbot certonly --server https://acme-v02.api.letsencrypt.org/directory \ --rsa-key-size 4096 --agree-tos --email 이메일@주소 --webroot -w /var/www/html \ -d www.도메인 -d 도메인 ~]# certbot revoke --cert-path /etc/letsencrypt/live/도메인/cert.pem |
장점이 하나 있는데 snapd 에서 sequence 기능으로 설치된 패키지를 자동으로 최신 업데이트를 하는데
발급된 인증서의 renew 역시 자동으로 처리가 된다. (/var/lib/snapd/sequence/certbot.json)
PS1 . 기존에 git 에서 clone 을 해서 사용한 경우 삭제까지는 필요 없는듯 하고, renew의 경우 메세지는 나오지만 갱신 하는데에는 문제가 없다.
PS2. snap 설치가 되지 않는 리눅스의 경우 certbot-auto 구버전 (1.9.0.dev0) 의 실행파일만 덧씌운뒤 renew 실행하면 당장 급한불을 끌 수 있음.
1 2 3 4 |
~]# wget https://raw.githubusercontent.com/certbot/certbot/7f0fa18c570942238a7de73ed99945c3710408b4/letsencrypt-auto-source/letsencrypt-auto -O /opt/certbot-auto ~]# chmod 755 /opt/certbot-auto ~]# mv /opt/certbot-auto /기존설치경로/certbot-auto |
PS3. 테스트 해보지 않았으나 acme api를 이용하는 bash, dash, sh 비공식(호환) 스크립트.. https://github.com/acmesh-official/acme.sh