스킬/개인서버

[아파치 서버] SSL 쉽게 win-acme.exe로 설치하기(Let's Encrypt)

GET2 2023. 6. 8. 00:49
728x90
반응형

0. 아래의 win-acme 압축파일을 다운 받은 후 압축을 풀어주세요.

win-acme.v2.2.4.1500.x64.trimmed.zip
13.63MB

혹시 최신버전이 릴리즈 됐을 수 있으니 홈페이지도 방문해보세요. https://www.win-acme.com

 

 

1. CMD 관리자권한으로 실행 (CMD 실행 자체를 꼭 관리자 권한으로 실행 필요합니다)

2. 서버 PC에 윈애크미 압축파일을 풀어놓은 폴더로 이동

cd C:\Users\PC\Desktop\server-files\win-acme.v2.2.4.1500.x64.trimmed

 

 3. 그리고 난 후 CMD 내부에서 wacs.exe 타이핑 하여 실행

wacs.exe

 

4. M 선택(N의 경우 IIS 서버 전용이고 우리는 아파치서버를 구동중이므로 M 선택)

 

5. 인증서 설치를 위한 선택 : 2 (아파치서버에 맞게 SSL 인증서를 설치하기 위해)

 

6. 내 도메인 입력

(도메인을 다수 입력시 콤마로 구분합니다.예 : YOURDOMAIN.COM,WWW.YOURDOMAIN.COM)

 

그리고 1차 도메인이 다를 경우 하나의 인증서에 입력하지 마시고 한번에 하나의 1차 도메인에만 인증서 설치를 권장합니다.

(1차 도메인이란 : blog.naver.com 으로 예를 들면 blog는 2차 도메인이고, naver.com이 1차 도메인입니다)

 

7. 별칭 입력 : 입력없이 공백으로 Enter 전송 (SSL인증서 관리시 쉽게 구별하기 위한 별칭 / 굳이 입력 안해도 자동으로 설정 됨)

 

8. 인증서 분할 형태 선택 : 4

이 부분은 제가 명확히 설명드리긴 어렵네요. 인증서는 기본적으로 단일 인증서를 사용한다는걸로 알고 있고 4번이 초록색으로 추천이 되어 있어 4번으로 갑니다 -.-;;;

 

'대충 감으로 보면 1번의 경우는 USER01.DOMAIN.COM, USER02.DOMAIN.COM, USER03.DOMAIN.COM 처럼 대중에게 2차 도메인 서비스를 제공하는 경우 선택이 필요할 것 같아요. 1개의 인증서당 도메인 100개를 넘어설 수 없다는 제약이 있기때문에 그런 서비스 제공자는 인증서를 분할해야겠죠.'

 

9. 도메인 소유자인지 확인할 경로 선택 : 1

ACME 서버에서 우리가 도메인 소유자인지 확인을 해야 한다. 이 도메인 소유 확인 과정이 끝나야 .pem(인증키) 파일을 비로소 받을 수 있다. 대다수가 선택하는 1번 또는 3번 방법 중에 1번을 선택했다.

 

10. 도메인 소유 확인을 위한 내 홈페이지 최상위 폴더 경로 입력.

위에서 1번을 선택했으니 내 홈페이지의 최상위 폴더의 경로를 입력하자. 최상위 폴더는 index 파일이 위치한 폴더이다. 해당 폴더 경로에 acme에서 도메인 소유자인지 확인하는 challenge 코드 파일이 생성되어 'acme서버<->내서버' 상호 검증을 할 수 있다. 어렵다고 생각하지 말자. 그냥 하면 됩니다!

 

*혹시 궁금해 하실 것 같아서...(.well-known) 폴더는 인증서 설치과정에서 잠깐 생성되었다가 자동으로 바로 삭제됩니다.

 

11. web.config 파일을 따로 보관할건지 여부인데 굳이 필요 없는 것 같습니다. N 입력

 

12. RSA Key를 생성합니다. 2 입력.

 

13.  발급받을 인증서 선택 : 2번 (우린 아파치 서버니까 2번으로 받습니다)

 

14. .pem 인증서가 저장 될 폴더 경로를 지정해주세요.

 

저의 경우 'C:\acmewin-SSL-pem\인증서발급할도메인이름'으로 폴더를 만들었습니다.

일단 폴더를 만들고 그 폴더 경로를 아래 File path에 기입해주세요.

 

이 폴더에 인증서가 저장됩니다. 홈페이지 index 파일이 있는 최상위 폴더를 지정하지 않도록 합니다. (인증서 탈취 우려)

 

15. 개인키와 .pem 인증 파일에 암호를 설정할 것인지 선택합니다.

 저는 1을 눌러 암호설정 하지 않겠습니다. 2를 눌러 암호설정 하셔도 됩니다.

 

16. 동일 인증서 추가 발급 선택 : 5번

동일한 정보의 인증서를 추가로 다른 확장자로도 발급할건지 선택합니다. 아마 .pem이 아니라 다른 확장자의 인증서가 필요하면 5번 외 다른 번호를 선택하세요. 우린 .pem만 있으면 되기 때문에 5번 선택했습니다.

 

17. 추가적 설정 : 3

SHA 고유 인증, 서버 바인딩 등 추가설정으로 보입니다. 어려우니 패스하겠습니다~

 

18. 이용약관 PDF파일을 볼거냐? N 눌러줍니다.

 

19. 이용약관에 동의 하냐? 당연히 Y를 눌러줘야 진행이 가능합니다.

 

20. 이슈발생 및 공지사항을 이메일로 받아볼것인지? 공백 상태에서 엔터 입력!

애크미가 이슈발생 및 인증서 만료 등 상황에서 자동으로 이메일을 보낸준다고는 하는데, 정작 이메일 주소를 쓰고 나중에 애크미에서 확인해보면 SMTP 설정이 안되어 있어 이메일 발송이 불가하다고 나옴

 

이메일 주소 없이 공백 상태에서 엔터를 치면 .pem(인증 파일) 설치가 바로 진행됩니다.

 

21. 설치가 완료된 화면이고, 맨 아래는 '특정 유저 계정으로 작업 실행할 것인지?' 묻는다. N을 누르자.

 

앞으로 매일 아침 9시에 서버PC의 윈도우 작업스케쥴러가 자동으로 인증서 갱신이 필요한지 https://acme-v02.api.letsencrypt.org/ 와 통신하여 검증 한 후 필요가 있다면 갱신을 진행 할 것이다.

 

 

22. 인증서 취득 완료 / 윈도우 스케줄러에 갱신 트리거 등록 확인

 

  

23. httpd-vhosts.conf 파일 수정 ( \apache2\conf\extra/httpd-vhosts.conf )

아파치 서버를 운영중이신 분들이라면 굳이 부연 설명 필요 없을거라 여기고 수정할 곳 만 딱딱 짚어보겠습니다!

 

<VirtualHost *:80>
ServerName 도메인.com
ServerAlias www.도메인.com
DocumentRoot "C:/apache2/htdocs/내홈페이지루트폴더"
    ErrorLog "logs/도메인.com-error.log"
    CustomLog "logs/도메인.com-access.log" common
#HTTP -> HTTPS 리다이렉트 (http 로 접속할 경우 https로 리다이렉트 시키는 구문입니다. 불필요한 경우 지우셔도 됩니다.)
RewriteEngine on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

 

<VirtualHost *:443>
ServerName 도메인.com
ServerAlias www.도메인.com
DocumentRoot "C:/apache2/htdocs/내홈페이지루트폴더"
SSLEngine on
SSLCertificateFile "C:/본인의 SSL chain 파일 경로/chain파일이름-chain.pem"
SSLCertificateKeyFile "C:/본인의 SSL key 파일 경로/key파일이름-key.pem"
</VirtualHost>

 

24. 아파치 서버 재시작 꼭 하시고 난 후 본인의 도메인으로 접속해서 자물쇠와 https 확인 바랍니다!

고생하셨어요~

 

 

 

 

 

 

728x90
반응형