웹 호스팅에 Let’s encrypt 설치하기

이 문서 작성 시점보다 나중에 알아본, 더 나은 방법도 있으니 이 곳을 눌러 새로운 방법을 살펴보시라.

일반적으로 나와있는 Let’s encrypt 가이드는 웹 호스팅 환경에서 적용할 수 없는 경우가 대부분이다. 따라서 여기서는 웹 호스팅 환경에서 쓸 수 있는 가이드를 제시하고자 한다.

필요한 것들

  1. 호스팅 외 리눅스 환경 (Bash on Windows, Ubuntu 가상 머신 등)
  2. CPanel 접근이 가능한 호스팅 (Bluehost같은 외국 호스팅은 대부분 가능)

과정

  1. 우선 리눅스 환경에 git을 설치한다.

    sudo apt install git

  2. 다음 git으로 Let’s encrypt를 불러온다.

    git clone https://github.com/letsencrypt/letsencrypt

  3. letsencrypt 폴더에 들어간 뒤, 스크립트를 실행한다.

    cd letsencrypt
    ./letsencrypt-auto certonly -a manual –rsa-key-size 4096 -d (적용할 도메인)

  4. 그럼 다음과 같은 과정이 진행된다. 처음 화면에는 이메일을 써준 후, 다음은 계속 엔터만 눌러주면 진행된다. 파란 창이 아닌 검은 화면에 글씨가 나올때까지 진행한다.
  5. 다음으로 acme-challenge가 나온다. 화면에 나오는 대로 호스팅 업체 public_html에 .well-known/acme-challenge 폴더에 지시하는 파일명과 파일 내용대로 파일을 생성하면 된다.
  6. 완료되고 인증서가 생성되었다. 폴더로 가 모두 로컬로 복사한다. 참고로 해당 폴더는 접근이 막혀있으므로 cd로 접근 시 sudo -s가 필요하다.
  7. CPanel에 SSL/TLS를 찾는다.
  8. 먼저 맨 위의 개인 키에 들어간다.
  9. 맨 밑의 .key파일 업로드 란으로 가 ‘파일 선택’을 누른다. 여기서 생성된 키 중 privkey.pem을 선택해 업로드한다.
  10. 그다음 세 번째 인증서 란으로 간다. 여기서 chain.pem과 cert.pem을 업로드한다.
  11. 마지막으로 사이트에 SSL 설치 및 관리(HTTPS)에 들어간다.
    먼저 도메인을 선택한 뒤, 도메인 기준 자동 완성을 눌러 잘 완성되는 것을 확인한다.
  12. 마지막으로 맨 아래 있는 인증서 설치를 누른다.
  13. 이제 https://로 접근해서 확인해보자.