Lightsail (라이트 세일) Ubuntu 환경에서 Let’s Encrypt 무료 SSL 인증서 설치 방법입니다. 제가 적용했던 스텝대로 적어 보았습니다. 그냥 쭉 따라 하시기만 하면 됩니다.

목차
준비사항
무료 인증서를 적용하려면 다음이 준비되어 있어야 합니다.
- 등록된 도메인 예) example.com
이 글에서는 도메인 이름의 예시를 example.com 이라고 가정합니다. 이 부분을 자신의 도메인 이름으로 변경해 주세요. - DNS 레코드 설정이 완료된 상태. A레코드에 example.com CNAME 레코드에 www.example.com이 매핑되어 있어야 합니다.
무료 SSL 인증서 설치
SSH로 접속하여 루트로 로그인 합니다. 루트 로그인 명령어는 다음과 같습니다.
$ su
가상 호스트 파일 만들기
# vi /etc/apache2/sites-available/example.com.conf
위와 같이 새파일 example.com.conf 을 만듭니다. 에디터 모드로 전환 [명령어 i] 하여 아래 내용을 추가하고 저장 [:wq] 합니다. 밑줄 그은 부분을 자신의 이메일, 도메인 주소로 변경하세요.
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Certbot 설치
# add-apt-repository ppa:certbot/certbot
Enter를 눌러 수락합니다. 다음,
# apt install python-certbot-apache
위 명령어를 사용하여 Certbot의 Apache 패키지를 설치합니다.
파일 활성,비활성
# a2ensite example.com.conf
위에서 편집한 파일을 활성화 합니다.
# a2dissite 000-default.conf
기본 파일을 비활성화 합니다.
구성 오류 테스트
# apache2ctl configtest
오류가 발생한다면 오타가 난 문자가 있는지, 누락된 문자가 있는지 확인합니다.
# systemctl restart apache2
오류를 뿜지 않았다면 재시작을 합니다.
HTTPS 포트 추가
Lightsail → 네트워킹 → 방화벽에서 HTTPS 443 포트를 추가합니다.
인증서 받기
드디어 인증서를 받습니다. example.com과 www.example.com에 인증서를 적용하기 위해 아래와 같이 입력합니다.
# certbot --apache -d example.com -d www.example.com
- 처음 Certbot 실행 시 이메일 주소를 입력해야 합니다. 이메일 주소를 입력하고 Enter를 누릅니다.
- 서비스 약관 동의 a를 입력하고 Enter를 누릅니다.
- (선택사항) 이메일로 알림을 받으려면 y를 누릅니다.
1: example.com
2: www.example.com
어떤 도메인에 적용하겠냐고 묻는 화면이 나오면 아무것도 입력하지 않은 채 Enter를 누르면 나열된 모든 도메인에 적용이 됩니다.
1: 리디렉션 없음 - 웹 서버 구성을 더 이상 변경하지 않습니다.
2: 리디렉션 - 모든 요청을 보안 HTTPS 액세스로 리디렉션합니다.
본인에게 맞는 구성의 숫자를 입력하고 Enter를 누릅니다.
인증서 발급 완료
인증서가 발급이 완료되면 축하의 메시지가 나오고 인증서 저장 경로를 확인할 수 있습니다. 이제 인증서 발급은 완료 되었고 HTTPS로 접속이 가능할 것입니다.
인증서 갱신
Lets Encrypt의 인증서는 90일 동안 만 유효합니다. 3개월 마다 인증서 갱신은 꽤 귀찮은 일입니다. 자동 갱신 될 수 있도록 설정해 봅시다. 수동 갱신하는 방법과 자동 갱신 방법입니다.
갱신 프로세스 테스트
# certbot renew --dry-run
문제가 없다면 갱신을 실행합니다. 아래와 같이 입력합니다.
# certbot renew
자동 갱신은 아래와 같이 스크립트를 추가합니다.
# crontab -e
0 0 * * * certbot renew > /var/log/certbot_renewal.log
이제 매일 0시 0분에 리뉴얼 스크립트를 실행하고 certbot_renewal.log에 기록하게 됩니다.
인증서 작동 확인
https://example.com과 https://www.example.com로 접속해서 확인합니다.
인증서 설치 적용이 잘 되었는지 확인해 보려면 아래 페이지에 도메인을 넣고 확인해 볼 수도 있습니다.