Apache Let’s Encrypt 설치 Ubuntu 20.04

Apache Let’s Encrypt 설치, Ubuntu 서버에 Apache용 certbot을 설치해 Let’s Encrypt 인증서를 받고 자동 갱신하도록 구성합니다.

Apache Let's Encrypt 설치

Apache Let’s Encrypt 설치 준비

SSL 보안 인증서 Let’s Encrypt를 설치하기 전 미리 가상 호스트 설정 파일을 만들고 ServerName과 ServerAlias에 인증받을 도메인을 입력합니다.

참고로 80번 포트에 대한 것만 만들어 놓으면 443 포트에 대한 것은 설치하면서 자동으로 생성해 줍니다.

sudo vi /etc/apache2/sites-available/your_domain.conf
ServerName your_domain.com
ServerAlias www.your_domain.com

certbot 설치

Let’s Encrypt 보안 인증서를 설치하고 자동으로 갱신시켜주는 certbot과 python3-certbot-apache을 설치합니다.

sudo apt install certbot python3-certbot-apache

Let’s Encrypt 설치

아래와 같이 Certbot을 실행하면 Let’s Encrypt 인증 발급이 시작되면 도메인이 인증서 이름이 됩니다.

인증서 이름은 관리상 구분하기 위한 것으로 의미는 없습니다.

sudo certbot --apache

인증서 이름은 원하는 것으로 지정할 수도 있습니다.

sudo certbot --apache --cert-name [my-name]
# sudo certbot --apache --cert-name myblog

Let’s Encrypt 인증 절차 요약

Let’s Encrypt 설치 과정은 총 5가지 질문과 답변으로 진행되며 순서에 따른 질문과 답변을 요약했습니다.

  1. 이메일 입력 : my-email@gmail.com
  2. 서비스 약관 동의 : A
  3. 구독(뉴스 및 기타정보) : N
  4. 등록할 도메인 – 보기에 나와 있는 숫자 입력, 둘 이상인 경우 콤마로 구분, 모든 도메인 경우 엔터
  5. http -> https 리디렉션 : 리디렉션 2, 아니면 1 선택

모든 설치 과정이 끝나면 아래 명령을 실행합니다.

# 자동 갱신 활성화 확인
sudo systemctl status certbot.timer
# 갱신 프로세스 테스트
sudo certbot renew --dry-run
# apache 재 시작
sudo systemctl restart apache2

Let’s Encrypt 인증 절차 상세

유효한 이메일 주소를 입력 후 엔터키를 칩니다. 이 이메일은 갱신 및 보안 알림에 사용됩니다.

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): # 이메일 입력

그리고 Let’s Encrypt 서비스 약관에 동의하는지 확인하는 메시지가 표시됩니다. A를 입력해 동의 후 엔터키를 쳐 계속 진행합니다.

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: # A

다음은 뉴스 및 기타 정보를 수신하기 위해 Electronic Frontier 재단과 이메일을 공유할 것인지 묻는 메시지가 표시됩니다. 콘텐츠를 구독하려면 Y를 그렇지 않으려면 N을 입력합니다.

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: # N

다음 단계에서는 HTTPS를 활성화하려는 도메인을 선택합니다.

나열된 도메인 모두를 활성화하려면 엔터 합니다. 나열된 것 중 일부만 활성화하려면 숫자와 콤마로 구분해 입력합니다.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: your_domain.com
2: www.your_domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):
# Enter 또는 1,2

다음은 HTTP접속을 HTTPS로 리디렉션 할지 선택하라는 메시지가 표시됩니다. 리디렉션은 2 그렇지 않으면 1을 입력합니다.

리디렉션을 선택하면 가상 호스트 설정 파일에 자동으로 리디렉션 지시문이 생성됩니다. 차후 개별적으로 구성하거나 현재 구성된 것을 유지하려면 리디렉션 하지 않음 1을 선택합니다.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): # 2

모든 설치 과정이 끝나면 새 인증서, 생성된 파일의 위치, 인증서의 신뢰성을 분석하는 외부 도구를 사용하여 구성을 테스트하는 방법에 대한 최종 설명이 표시됩니다.

마지막으로 아래 명령을 실행합니다.

# 자동 갱신 활성화 확인
sudo systemctl status certbot.timer
# 갱신 프로세스 테스트
sudo certbot renew --dry-run
# apache 재 시작
sudo systemctl restart apache2
logo
아이티 이알