Let's encrypt 설치 및 무료 SSL 인증서 발급 받기 (Ubuntu 20.04, 22.04)

리눅스/APACHE|2020. 9. 1. 13:07
반응형

무료 SSL 인증서를 발급받는 방법입니다.

단, 기간은 3개월이며 만료 한 달 전부터 갱신을 할 수 있습니다.

방법은 아래와 같습니다.

 

1. Let's encrypt 설치

 

root@sysdocu:~# apt -y install letsencrypt

 

2. 인증서 발급

 

(단일 도메인 SSL 발급)

root@sysdocu:~# letsencrypt certonly -a webroot --agree-tos -m [이메일] -w [웹소스 디렉토리] -d [SSL 도메인명] --rsa-key-size 4096

 

(다중 도메인 SSL 발급)

root@sysdocu:~# letsencrypt certonly -a webroot --agree-tos -m [이메일] -w [웹소스 디렉토리] -d [SSL 도메인명] -w [웹소스 디렉토리] -d [SSL 발급도메인명] --rsa-key-size 4096

 

이와 같이 실행하면 웹페이지가 정상 접근 가능한 상태일때 인증서가 발급되어 집니다.

아래 디렉토리로 이동하여 인증서 파일을 확인합니다.

 

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/[도메인]/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/[도메인]/privkey.pem

 

3. 인증서 설정

 

실제 인증서는 /etc/letsencrypt/archive/[도메인] 에 있으나, 인증서를 업데이트 할때마다 파일명이 바뀌므로

아래 위치에 있는 심볼록 링크 파일을 virtualhost 설정 항목에 넣어 주어야 자동으로 갱신된 인증서로 연결 가능합니다.

 

<VirtualHost *:443>

DocumentRoot [웹소스 디렉토리]

ServerName [도메인명]:443

...

SSLEngine on

SSLCertificateFile /etc/letsencrypt/live/[도메인명]/cert.pem

SSLCertificateKeyFile /etc/letsencrypt/live/[도메인명]/privkey.pem

SSLCertificateChainFile /etc/letsencrypt/live/[도메인명]/fullchain.pem

</VirtualHost>

 

수정 후 apache2 를 재시작하여 적용 합니다.

 

root@sysdocu:~# systemctl restart apache2

 

 

4. 인증서 갱신

 

root@sysdocu:~# vi /root/ssl-renew.sh

#!/bin/bash
./letsencrypt certonly -a webroot --agree-tos --renew-by-default -w [웹소스 디렉토리] -d [SSL 도메인명] --rsa-key-size 4096
systemctl restart apache2

root@sysdocu:~# chmod 700 /root/ssl-renew.sh

 

두 달에 한 번씩 1일, 16일에 갱신 시도를 하도록 설정 합니다.

 

root@sysdocu:~# echo "01 00 01,16 */2 * root sh /root/ssl-renew.sh" >> /etc/crontab

 

반응형

댓글()