Ubuntu 및 Debian에서 무료 Let 's Encrypt SSL 인증서로 Apache를 보호하는 방법
새로 등록 된 도메인 이름이 있고 웹 서버가 귀하가 발급 한 SSL 자체 서명 인증서로 작동합니다. 인증서 생성 오류로 인해 클라이언트가 도메인을 방문하는 동안 골칫거리가되고 있습니까? 예산이 제한되어 있고 신뢰할 수있는 CA에서 발급 한 인증서를 구매할 여유가 없습니까? Let ’s Encrypt 소프트웨어가 등장하여 하루를 절약 할 수 있습니다.
RHEL, CentOS, Fedora 또는 Ubuntu 및 Debian에 Apache 또는 Nginx 용 Let ’s Encrypt를 설치하려는 경우 아래 가이드를 따르세요.
Let ’s Encrypt는 서버를 안전하게 실행하는 데 필요한 무료 SSL/TLS 인증서를 획득하는 데 도움이되는 인증 기관 (CA)으로, 오류없이 사용자가 원활하게 탐색 할 수 있도록합니다.

인증서를 생성하는 데 필요한 모든 단계는 대부분 Apache 웹 서버에 대해 자동화되어 있습니다. 그러나 웹 서버 소프트웨어에도 불구하고 일부 단계를 수동으로 수행해야하며 특히 웹 사이트 콘텐츠가 Nginx 데몬에서 제공되는 경우 인증서를 수동으로 설치해야합니다.
이 가이드는 Ubuntu 또는 Debian에 Let ’s Encrypt 소프트웨어를 설치하는 방법, 도메인 용 무료 인증서를 생성 및 얻는 방법, Apache 및 Nginx 웹 서버에 인증서를 수동으로 설치하는 방법을 안내합니다.
- A public registered domain name with valid
A
records to point back to your server external IP Address. In case your server is behind a firewall take the necessary measures to ensure that your server is word-wide accessible from internet by adding port forward rules on the router side. - Apache web server installed with SSL module enabled and virtual hosting enabled, in case you host several domains or subdomains.
1 단계 : Apache 설치 및 SSL 모듈 활성화
1. 컴퓨터에 Apache 웹 서버가 아직 설치되어 있지 않은 경우 다음 명령을 실행하여 apache 데몬을 설치합니다.
$ sudo apt-get install apache2
2. Ubuntu 또는 Debian에서 Apache 웹 서버에 대한 SSL 모듈 활성화는 매우 간단합니다. 아래 명령을 실행하여 SSL 모듈을 활성화하고 Apache 기본 SSL 가상 호스트를 활성화하십시오.
$ sudo a2enmod ssl $ sudo a2ensite default-ssl.conf $ sudo service apache2 restart or $ sudo systemctl restart apache2.service

방문자는 이제 HTTPS 프로토콜을 통해 도메인 이름에 액세스 할 수 있습니다. 그러나 서버 자체 서명 인증서는 신뢰할 수있는 인증 기관에서 발급하지 않았기 때문에 아래 이미지와 같이 브라우저에 오류 경고가 표시됩니다.
https://yourdomain.com

2 단계 : 무료 Let ’s Encrypt Client 설치
3. 서버에 Let ’s Encrypt 소프트웨어를 설치하려면 시스템에 git 패키지가 설치되어 있어야합니다. 다음 명령을 실행하여 git 소프트웨어를 설치하십시오.
$ sudo apt-get -y install git
4. 다음으로 시스템 계층 구조에서 Let ’s Encrypt git 저장소를 복제 할 디렉토리를 선택합니다. 이 자습서에서는 Let ’s Encrypt의 설치 경로로 /usr/local/
디렉터리를 사용합니다.
/usr/local
디렉토리로 전환하고 다음 명령을 실행하여 letsencrypt 클라이언트를 설치하십시오.
$ cd /usr/local $ sudo git clone https://github.com/letsencrypt/letsencrypt
4 단계 : Apache 용 SSL 인증서 생성
5. Apache 용 SSL 인증서를 얻는 프로세스는 Apache 플러그인 덕분에 자동화됩니다. 도메인 이름에 대해 다음 명령을 실행하여 인증서를 생성하십시오. 도메인 이름을 -d
플래그에 매개 변수로 제공하십시오.
$ cd /usr/local/letsencrypt $ sudo ./letsencrypt-auto --apache -d your_domain.tld
예를 들어 여러 도메인 또는 하위 도메인에서 작동하는 데 인증서가 필요한 경우 기본 도메인 이름 뒤에 유효한 각 추가 DNS 레코드에 대해 -d
플래그를 사용하여 모두 추가합니다.
$ sudo ./letsencrypt-auto --apache -d your_domain.tld -d www. your_domain.tld
6. 라이센스에 동의하고 복구 할 이메일 주소를 입력하고 클라이언트가 HTTP 프로토콜 (보안 및 비보안)을 모두 사용하여 도메인을 탐색 할 수 있는지 또는 모든 비보안 요청을 HTTPS로 리디렉션 할 수 있는지 여부를 선택합니다.


7. 설치 프로세스가 성공적으로 완료되면 아래 스크린 샷에 설명 된대로 만료 날짜 및 구성 테스트 방법을 알려주는 축하 메시지가 콘솔에 표시됩니다.


이제 간단한 디렉토리 목록으로 /etc/letsencrypt/live
디렉토리에서 인증서 파일을 찾을 수 있습니다.
$ sudo ls /etc/letsencrypt/live

8. 마지막으로 SSL 인증서의 상태를 확인하려면 다음 링크를 방문하십시오. "그에 따라 도메인 이름을 바꿉니다.
https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

또한 방문자는 이제 웹 브라우저에 오류가 표시되지 않고 HTTPS 프로토콜을 사용하여 도메인 이름에 액세스 할 수 있습니다.
4 단계 : 자동 갱신으로 인증서 암호화 가능
9. 기본적으로 Let ’s Encrypt 기관에서 발급 한 인증서는 90 일 동안 유효합니다. 만료일 전에 인증서를 갱신하려면 이전과 같이 정확한 플래그와 매개 변수를 사용하여 클라이언트를 수동으로 다시 실행해야합니다.
$ sudo ./letsencrypt-auto --apache -d your_domain.tld
또는 여러 하위 도메인의 경우 :
$ sudo ./letsencrypt-auto --apache -d your_domain.tld -d www. your_domain.tld
10. 인증서 갱신 프로세스는 Linux 일정 cron 데몬을 사용하여 만료일 전 30 일 이내에 실행되도록 자동화 할 수 있습니다.
$ sudo crontab -e
한 줄만 사용하여 crontab 파일 끝에 다음 명령을 추가합니다.
0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1
11. Let ’s Encrypt 소프트웨어의 갱신 도메인 구성 파일에 대한 세부 정보는 /etc/letsencrypt/renewal/
디렉토리에서 찾을 수 있습니다.
$ cat /etc/letsencrypt/renewal/caeszar.tk.conf

Apache 웹 서버에 대한 새 SSL 구성 파일을 보려면 /etc/letsencrypt/options-ssl-apache.conf
파일도 확인해야합니다.

12. 또한 Let ’s encrypt apache plugin은 웹 서버 구성의 일부 파일을 수정합니다. 수정 된 파일을 확인하려면 /etc/apache2/sites-enabled
디렉토리의 내용을 나열하십시오.
# ls /etc/apache2/sites-enabled/ # sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

지금은 여기까지입니다! "다음 자습서 시리즈에서는 Ubuntu 및 Debian 및 CentOS에서도 Nginx 웹 서버용 Let ’s Encrypt 인증서를 얻고 설치하는 방법에 대해 설명합니다.