불친절한 블로그
[SSL] Let's encrypt 인증서 발급(https 적용하기) 본문
728x90
반응형
실습 환경
OS : Amazon Linux 웹서버 : Apache |
https://onu0624.tistory.com/105
이전에 zeroSSL을 사용하는데 문제가 생겼다.
무료 인증서지만 3번까지가 무료였고 그 이후부터는 연장하는데도 무료 서비스를 이용할 수 없게 되었다.
새로운 인증서가 필요해서
Let's encrypt를 적용시키기로 했다.
우선 ec2 인스턴스에 접근한다.
Extras 저장소로 사용되는 EPEL을 설치하기 위해 다음과 같이 진행한다.
repolist 명령어를 사용해서 EPEL이 존재하는지 확인한다.
$ yum repolist
EPEL이 없으니 설치를 해준다.
$ sudo yum install epel-release
# 해당 명령어로 설치하려 했지만 hint로 다른 설치 명령어를 알려주었다.
$ sudo amazon-linux-extras install epel
epel이 설치되었는지 확인하고,
certbot을 설치한다.
$ yum repolist | grep epel
$ sudo yum install certbot python2-certbot-apache
현재 실행중인 웹서버를 종료하고
인증서를 발급한다.
$ sudo systemctl stop httpd
$ sudo certbot --standalone -d domain.com -d www.domain.com certonly
apache 웹서버에 인증서 설정하기 위해 인증서들의 위치를 알려준다.
$ sudo ls -al /etc/letsencrypt/live/domain.com
인증서들이 해당 위치에 잘 있는것을 확인했으니
ssl.conf에 적용해준다.
$ sudo vi /etc/httpd/conf.d/ssl.conf
<VirtualHost *:443>
SSLCertificateFile /etc/letsencrypt/live/domain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/domain.com/chain.pem
SSLCACertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
...
</VirtualHost>
아파치를 재시작해준다.
$ sudo systemctl start httpd
잘 적용되었는지 확인해준다.
인증서 자동 갱신 설정
crontab을 사용해서 자동으로 1달마다 갱신되도록 설정해준다.
$ sudo vi /etc/crontab
0 0 1 * * root systemctl stop httpd && certbot renew -q && systemctl start httpd
crontab을 수정 후 crond 데몬 재시작 해준다.
$ sudo systemctl restart crond
728x90
반응형
'Project > 회사 홈페이지 구축' 카테고리의 다른 글
[SSL] wordpress http -> https redirect하기 (0) | 2022.07.22 |
---|---|
[AWS][WordPress] 워드프레스 ip 변경 (0) | 2022.06.27 |
[AWS][WordPress] AWS EC2에 Wordpress + mysql + apache 구성하기 (2) | 2021.01.14 |
Comments