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이 등록되어 있다.
제대로 갱신되는지 나중에 확인해보자.