Let's encrypt 설치 및 무료 SSL 인증서 발급 받기 (Ubuntu 20.04, 22.04)
무료 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 /usr/bin/letsencrypt certonly -a webroot --agree-tos --renew-by-default -w [웹소스 디렉토리] -d [SSL 도메인명] 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
'리눅스 > APACHE' 카테고리의 다른 글
Error 403, 404 를 특정 html 페이지로 출력하기 (0) | 2020.11.04 |
---|---|
error 로그에서 favicon.ico 로그 남기지 않기 (0) | 2020.09.22 |
mod_rewrite 특정 파일 또는 디렉토리 제외하고 포워딩 하기 (0) | 2019.07.25 |
Ubuntu 에서 Apache 2.4 와 Tomcat 8 (2대) 연동하기 (0) | 2019.06.12 |
SSL 인증서 만료일 확인하기 (0) | 2018.11.30 |