lightsail ssl 인증서 갱신 + 자동 갱신 (bncert-tool 무료 ssl)

certbot 명령어를 통해 조회 및 갱신하는 글들을 보고 따라해봤지만
이 글을 작성하는 시점에서 certbot 은 작동하지 않았다.

이렇게 sudo certbot certificates 또는 sudo certbot renew 등도 작동하지 않았다.
(certbot-auto certificates 와 certbot-auto renew 도 동일함)

결국 다른 정보들을 찾아서 아래와 같이 진행했다.


기존 발급받은 인증서를 조회해본다.

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

정상적으로 인증서가 있다면 아래와 같이 출력된다.

Found the following certs:
Certificate Name: 도메인
Domains: 등록된 도메인들
Expiry Date: 2023-07-12 23:16:48 +0000 UTC
Certificate Path: /opt/bitnami/letsencrypt/certificates/도메인.crt

Certificate Name: 도메인 <- 이 도메인을 가지고 갱신하는 것이다.

서버 종료를 시킨다.

sudo /opt/bitnami/ctlscript.sh stop

갱신 코드는 아래를 사용했다.

sudo /opt/bitnami/letsencrypt/lego --tls --email="등록했던 이메일 주소" --domains="도메인" --path="/opt/bitnami/letsencrypt" renew --days 90

도메인은 위에 Certificate Name에 있던 도메인을 입력하고 실행한다.

간혹 이메일 이슈 때문에 등록이 안될 때가 있다.
나는 아래 코드를 실행해주고 다시 위 갱신 코드를 실행하니 정상적으로 등록되었다.

sudo /opt/bitnami/letsencrypt/lego --tls --email="등록했던 이메일 주소" --domains="도메인" --path="/opt/bitnami/letsencrypt" run

(다음에 다른 서버 갱신 진행할 때 명확한 오류 과정이 생기면 수정할 예정)

정상처리가 진행되면 해당 인증서에 등록했던 도메인들에 대한 인증 갱신이 진행되는 과정과 결과가 나온다.

이제 서버를 가동시킨다.

sudo /opt/bitnami/ctlscript.sh start


인증서버 자동 갱신처리 진행

1. 자동 인증서 갱신하는 쉘 스크립트를 작성해야 하기 때문에 우선 쉘스크립트를 저장시킬 폴더를 만든다. (이미 있는 경우도 있다.)

sudo mkdir -p /opt/bitnami/letsencrypt/scripts

2. 아래 명령어를 이용하여 nano로 쉘스크립트 파일을 작성한다.

sudo nano /opt/bitnami/letsencrypt/scripts/renew-certificate.sh

3. 위에서 갱신했던 그 코드를 포함한 서버 중단 + 갱신 + 가동 명령어를 기입한다.

#!/bin/bash

sudo /opt/bitnami/ctlscript.sh stop apache
sudo /opt/bitnami/letsencrypt/lego --tls --email="등록했던 이메일 주소" --domains="도메인" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start apache

nano 에디터로 저장할 때는 컨트럴+o 를 누르고 File Name to Write: 라면서 저장할 위치와 파일명을 물어보는 데 그냥 엔터치면 저장된다.
에디터를 빠져나가진 않으니 컨트럴+x 를 누르고 나온다.
(컨트럴+o → 엔터 → 컨트럴+x)

4. 저장한 파일에 권한을 추가한다.

sudo chmod +x /opt/bitnami/letsencrypt/scripts/renew-certificate.sh

5. crontab 으로 자동 갱신을 처리할 예정인데 기존에 있는 지 조회해 본다.

sudo crontab -l

기존에 설정한 적이 없으면 위 이미지처럼 없다고 나온다.

6. crontab 에 반복 스케쥴을 등록하기 위해 수정 모드로 진입한다.

sudo crontab -e

7. 어떤 에디터를 사용할 것인지 물어보길래 2번인 nano 를 선택했다.

8. 갱신 주기를 설정하는데 나는 갱신 주기는 매월 1일 0시0분에 갱신하는 걸로 아래 코드를 사용하였다.

0 0 1 * * /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 2> /dev/null

nano 에디터에서 컨트럴+o → 엔터 → 컨트럴+x 로 저장하고 나온다.

9. sudo crontab -l 명령어로 저장되었는 지 확인할 수 있다.

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 댓글
Inline Feedbacks
View all comments
TOP