본문 바로가기

리눅스

Let's Encrypt SSL 인증서를 webroot 방식으로 발급하는 방법

반응형

Let's Encrypt SSL 인증서를 webroot 방식으로 발급하는 방법

이번에는 Let's Encrypt SSL 인증서를 webroot 방식으로 발급하는 방법에 대해 알아보겠습니다. webroot 방식은 서버 내 특정 디렉토리를 사용하여 인증서 발급을 수행하는 방식으로, 서버 구성이나 DNS 설정에 대한 수정이 필요하지 않습니다.

1. certbot 설치

먼저 certbot을 설치해야 합니다. certbot은 Let's Encrypt에서 제공하는 SSL 인증서 발급 도구로, Ubuntu와 Debian 등의 리눅스 배포판에서는 패키지로 제공됩니다.

sudo apt-get update
sudo apt-get install certbot

2. SSL 인증서 발급

webroot 방식으로 SSL 인증서를 발급하기 위해서는 아래와 같은 명령어를 입력합니다.

sudo certbot certonly --webroot --webroot-path [웹루트 디렉토리 경로] -d [도메인 이름]

위 명령어에서 [웹루트 디렉토리 경로]는 SSL 인증서를 발급받을 도메인의 웹루트 디렉토리 경로를 입력하고, [도메인 이름]은 SSL 인증서를 발급받을 도메인 이름을 입력합니다.

 

예를 들어, 도메인 이름이 example.com이고, 웹루트 디렉토리 경로가 /var/www/example.com일 경우 다음과 같은 명령어를 입력합니다.

sudo certbot certonly --webroot --webroot-path /var/www/example.com -d example.com

명령어를 입력하면 certbot이 SSL 인증서 발급을 위한 확인 과정을 수행합니다. 이 과정에서 Let's Encrypt 서버와 통신하여 도메인 소유 여부를 확인하고, SSL 인증서를 발급받을 준비를 합니다.


만약 인증서 발급에 성공하면, 아래와 같이 SSL 인증서 파일과 개인키 파일이 생성됩니다.

/etc/letsencrypt/live/[도메인 이름]/fullchain.pem
/etc/letsencrypt/live/[도메인 이름]/privkey.pem

3. SSL 인증서 갱신

발급받은 SSL 인증서는 90일간 유효합니다. 따라서 SSL 인증서를 주기적으로 갱신해주어야 합니다. SSL 인증서 갱신을 위해서는 다음과 같은 명령어를 입력합니다.

sudo certbot renew

위 명령어를 입력하면 certbot이 발급받은 SSL 인증서를 확인하여 유효 기간이 만료되기 전에 자동으로 갱신합니다.

4. SSL 인증서 적용

마지막으로 SSL 인증서를 웹서버에 적용해야 합니다. 웹서버에 따라 SSL 인증서 적용 방법이 다르므로, 여기서는 Apache 웹서버를 사용하는 경우를 가정하고, SSL 인증서 적용 방법을 안내하겠습니다.

 

먼저, 아래와 같은 명령어를 입력하여 Apache SSL 모듈을 활성화합니다.

sudo a2enmod ssl

다음으로, Apache 웹서버의 가상 호스트 설정 파일에 SSL 인증서 경로와 개인키 경로를 추가합니다. 설정 파일은 /etc/apache2/sites-available 디렉토리에 있습니다. 예를 들어, 도메인 이름이 example.com이고, SSL 인증서 파일과 개인키 파일이 다음 경로에 저장되어 있다면,

/etc/letsencrypt/live/example.com/fullchain.pem
/etc/letsencrypt/live/example.com/privkey.pem

가상 호스트 설정 파일(/etc/apache2/sites-available/example.com.conf)에 다음과 같이 SSL 관련 설정을 추가합니다.

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/example.com

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>

위 설정에서 SSLEngine을 활성화하고, SSLCertificateFile과 SSLCertificateKeyFile에 SSL 인증서 파일과 개인키 파일 경로를 입력합니다.

 

마지막으로, 아래와 같은 명령어를 입력하여 Apache 웹서버를 재시작합니다.

sudo systemctl restart apache2

이제 SSL 인증서가 적용된 HTTPS 프로토콜로 웹사이트에 접속할 수 있습니다.

 

이상으로 Let's Encrypt SSL 인증서를 webroot 방식으로 발급하는 방법과 SSL 인증서를 Apache 웹서버에 적용하는 방법에 대해 알아보았습니다. 다른 웹서버를 사용하는 경우에도 이와 유사한 방법으로 SSL 인증서를 적용할 수 있습니다.

728x90
반응형