라이트세일에서 워드프레스에 무료 HTTPS Cert적용하는 방법

IT/워드프레스|2020. 5. 19. 09:35

아마존 라이트 세일을 사용하고 있고 웹사이트를 운영하거나 개발하고 있는 사용자라면 http가 아닌 https로 사이트가 서비스 되길 원할 겁니다.

 

http는 인터넷 프로토콜로 모든 인터넷 상위 계층에서 동작하는 표준인데 보안성 향상으로 뒤에 Security의 S가 붙인 https가 사용되고 있죠.

 

이런 https를 적용하기 위해선 비용을 지불하고 서비스 받는 방법도 있지만 무료 Cert를 발급받아 정기적으로 라이선스 업데이트 하는 방식으로도 라이트세일에서 적용이 가능합니다. 사전에 리눅스 구조 및 리눅스 명령어에 대한 간단한 이해만 있으면 더 좋을 수 있습니다.

 

 

 

 

1. 라이트 세일 인스턴스에 SSH 접속

 

 

먼저 사용하고 있는 라이트세일 인스턴스의 SSH에 연결합니다. 워드프레스를 사용하고 있다면 리눅스에 연결이 될 것 입니다. 무료 https cert는 리눅스 명령어로 설치하며 3개월마다 수동으로 연장해야하는 번거로움은 있습니다.

 

 

정상적으로 SSH에 접속했을 경우 발생하는 창입니다. 비트나미는 라이트세일에서 제공하는 워드프레스 사용 계정입니다.

 

 

2. 아래 명령어를 순차적으로 실행하여 Cert 발급

 
아래 코드 1번부터 13번까지 순서대로 실행합니다.

 

1) 템프 디렉토리 만들기

mkdir tmp 
cd tmp

 

2) Certbot 인스톨

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

 

3) well-known 디렉토리 만들기

mkdir /home/bitnami/apps/wordpress/htdocs/.well-known

 

4) htaccess 파일 만들기

touch /home/bitnami/apps/wordpress/htdocs/.well-known/.htaccess

 

5) htaccess 파일 내 코드 입력하기

##Add the following contents to the .htaccess file, to make the .well-known directory accessible:
#
# Override overly protective .htaccess in webroot
#
RewriteEngine On
Satisfy Any

- 아래 명령어로 수정 가능

vi /home/bitnami/apps/wordpress/htdocs/.well-known/.htaccess

- 수정 시 위 명령어 입력 후 i 누르면 편집 가능 

- 작성 완료 후 :wq 누르면 소스코드 입력 후 창 exit

:wq

 

6) certbot 실행

./certbot-auto certonly --webroot -w /home/bitnami/apps/wordpress/htdocs/ -d example.com -d www.example.com

- 진행 시 이메일을 등록해야 함(등록 창 표시 됨)

 

7) 아파치 컨피그 파일 수정

sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf

- 파일 오픈 후 i눌러 편집기능 활성화

 

8) 컨피그 파일 내 아래 코드 앞에 #추가하여 주석 처리

##Comment out (by adding a # in the beginning of the line) the following lines:
#SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
#SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"

 

 

9) 컨피그 파일에 아래 코드 추가

# Let's Encrypt
SSLCertificateFile "/etc/letsencrypt/live/example.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/example.com/privkey.pem"
SSLCACertificateFile "/etc/letsencrypt/live/example.com/fullchain.pem"

 

 

- 위 코드 컨피그 파일내 입력 후 :wq로 exit

:wq

 

10) 아파치 재시작

sudo /opt/bitnami/ctlscript.sh restart apache

 

11) 아파치가 재시작하면 아래 문구가 나타나면 정상 종료 됨

Unmonitored apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
Syntax OK 
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
Monitored apache

 

3. 정기적으로 (해당 Cert 발급기관에서는 3개월 권고) 라이선스 업데이트 하여 사용

 

 - 단, 라이선스 업데이트는 위 2번 전체 단계 필요 없이 아래 단계만 실행하여 업데이트 가능

 

9) 컨피그 파일에 아래 코드 추가

# Let's Encrypt
SSLCertificateFile "/etc/letsencrypt/live/example.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/example.com/privkey.pem"
SSLCACertificateFile "/etc/letsencrypt/live/example.com/fullchain.pem"

- 위 코드 컨피그 파일내 입력 후 :wq로 exit

:wq

 

10) 아파치 재시작

sudo /opt/bitnami/ctlscript.sh restart apache

 

11) 아파치가 재시작하면 아래 문구가 나타나면 정상 종료 됨

Unmonitored apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
Monitored apache

 

서두에 설명드렸다시피 무료로 발급되는 https cert는 수동으로 3개월마다 연장하여 사용해야 합니다. 이런 번거로움이 있기 하지만 무료 cert라는 비용적인 측면에서 부담스러운 관리작업은 아닙니다.

그렇다고 3개월연장 시기를 놓쳤다고 해서 다시 처음 부터 라이선스를 발급받을 필요없이 연장만 하면됩니다. 하지만 라이선스 기간이 끝나고 연장하기 전까지 기간 동안은 https서비스가 안되겠죠.

 

이렇게 사이트에 https Cert를 적용하면 사이트 주소에 'https://www.본인의 DNS 주소'로 접속이 되는 것을 확인할 수 있습니다.

댓글()