아마존 lightsail 은 워드프레스를 설치, 운영하기 최적의 서비스라고 생각한다. 

이제 서버 보안을 위해 HTTPS SSL 인증서를 설치하자. 무료 인증서인 Let's Encrypt 를 설치하는 방법은 아래와 같다. 


1. 아마존 라이트세일(lightsail) 관리자 화면의 Wordpress 인스턴스에 접속한다. 

2. 도메인이 인스턴스의 Public IP 로 포워딩되어 있는지 확인한다. 

3. 웹 사이트가 HTTP 와 HTTPS 로 연결되는지 확인해 본다. 

4. SSH 에 접속한다.

5. 아래와 같이 임시 디렉토리를 생성한다.

mkdir tmp
cd tmp

6. certbot 을 설치한다. 

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

7. 워드프레스 htdocs 디렉토리에 .well-known 파일을 설치한다. 

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

8. .htaccess 파일을 해당 디렉토리에 설치한다. 

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



9. 아래 내용을 .htaccess 파일에 추가한다. 이제 .well-known 디렉토리 접근이 가능해진다. 

   vi 에디터 등을 이용해서 파일을 수정하면 된다. 

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

#
# Override overly protective .htaccess in webroot
#
RewriteEngine On
Satisfy Any

10. certbot 을 실행한다. (아래 www.example.com 은 실제 운영하는 도메인 명으로 넣으며, 줄바꿈을 하지 않고 명령어를 이어서 쓴다) 

./certbot-auto certonly --webroot -w /home/bitnami/apps/wordpress/htdocs/

-d example.com -d www.example.com

11. 정상적으로 여기까지 왔으면 certification 이 successfully acquiring 되었다는 메시지를 볼 수 있다.

12. 이제 아파치 설정을 아래와 같이 수정한다. 

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

아래 라인들은 주석 처리한다. 

#SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
#SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"

아래 라인을 추가한다. 

# 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"

13. 마지막으로, 아파치 서버를 재시작한다. 

sudo /opt/bitnami/ctlscript.sh restart apache


정상적으로 설치가 완료되었다면 아래와 같은 메시지를 볼 것이다. 

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

14. 이제 모든 것이 정상적으로 설치되었다. SSL 인증서가 제대로 설치되었는지 확인하기 위해서 브라우저에서 https://www.example.com 으로 정상적으로 접속이 되는지 확인해 보자. 


AND