1. snapd 설치

$ sudo su -

$ yum -y install epel-release

$ yum -y install snapd

# 서비스 등록
$ systemctl enable --now snapd.socket
Created symlink /etc/systemd/system/sockets.target.wants/snapd.socket → /usr/lib/systemd/system/snapd.socket

# 가동확인
$ systemctl status snapd.socket

# /snap link생성 (certbot설치시 필요)
$ ln -s /var/lib/snapd/snap /snap

# snap update
$ snap install core
$ snap refresh core

$ snap version
snap    2.66.1-0.el9
snapd   2.66.1-0.el9
series  16
centos  9
kernel  5.14.0-542.el9.x86_64

 

2. certbot 설치

$ snap install --classic certbot

# 링크생성
$ ln -s /snap/bin/certbot /usr/bin/certbot

$ certbot --version
certbot 3.0.1

 

3. 인증서 설치

# certonly옵션을 지정하여 certbot이 자동으로 nginx설정을 하지 못하도록 한다.
$ certbot certonly --nginx -d pl.menggle.com

# 이메일주소, 약관동의

# 인증서 설치 확인
$ cd /etc/letsencrypt/live/pl.menggle.com
$ ls -al
drwxr-xr-x 2 root root  93 Jan  4 15:07 .
drwx------ 3 root root  42 Jan  4 15:07 ..
lrwxrwxrwx 1 root root  38 Jan  4 15:07 cert.pem -> ../../archive/pl.menggle.com/cert1.pem
lrwxrwxrwx 1 root root  39 Jan  4 15:07 chain.pem -> ../../archive/pl.menggle.com/chain1.pem
lrwxrwxrwx 1 root root  43 Jan  4 15:07 fullchain.pem -> ../../archive/pl.menggle.com/fullchain1.pem
lrwxrwxrwx 1 root root  41 Jan  4 15:07 privkey.pem -> ../../archive/pl.menggle.com/privkey1.pem
-rw-r--r-- 1 root root 692 Jan  4 15:07 README

 

4. Nginx에 인증서 적용

$ vi /etc/nginx/conf.d/default.conf


# 설정 reload
$ nginx -s reload

 

5. 인증서 자동 갱신 스케줄 등록 확인

$ systemctl list-timers | grep certbot
Sat 2025-01-04 19:00:00 UTC 3h 28min left -                           -            snap.certbot.renew.timer        snap.certbot.renew.service 

let's encrypt의 인증서 유효기간은 3개월이다. 20일전에 자동갱신이 되도록 schedule이 등록되어 있다.

제대로 갱신되는지 나중에 확인해보자.