CentOS 7 Let's Encrypt SSL 설치

2016.10.22 11:26

gooddew 조회:644

아파치에서 Let's Encrypt SSL를 설치하는 방법을 배워 보겠습니다.


Let's Encrypt 는 무료로 제공하는 SSL 서비스중 하나이며, 많은 회사가 지원을 하고 있습니다.


공식 싸이트 : https://letsencrypt.org/


Let's Encrypt 는 3개월 간격으로 갱신이 필요합니다.


기본적으로 도메인을 있어여 설치가 가능합니다.





①  설치 관련 프로그램 다운받기


# cd


# yum install git python2.7 


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




② 설치 폴더 이동 및 설치 시작합니다.


# cd letsencrypt/


01.png


# ./letsencrypt-auto --apache -d todaybest.kr -d www.todaybest..kr


여기서 주의할점은 -d 옵션 뒤에 도메인을 넣야야 되는데 www 호스트가 포함된 도메인도 같이 넣어 주시면 됩니다 




③ 자신의 이멜이 주소를 넣습니다.


02.png




④ 약관 및 Letsencrypt 남용금지에 대해서 동의


03.png


사용하시려면 동의 선택하세요


 


⑤ 보안 수준의 사용자 선택


05.png


Esay : 선택적 페이지로 SSL 을 적용

Secure : 모든 페이지에 SSL 을 적용


싸이트 성격에 따라서 사용자가 선택 하시면 됩니다.



⑥ 설치 완료 안내


07.png


설치가 완료 됬다고 나오고 OK 누르면 설치 축하 메세지, 새로 생성된 인증서 경로 및 인증서 만료일이 나옵니다.


21.jpg


인증서 경로는 /etc/letsencrypt/live/"인증서 신청한 도메인"/  폴더 안에 생생이 됩니다.


# cd /etc/letsencrypt/live/ 이동하면 도메인 폴더들이 나오는데


방금전에 인증서 만든 도메인으로 들어가면  


22.jpg


인증서 파일들이 추가되어 있습니다.


cd /etc/httpd/conf.d 로 이동해서  도메인이름-le-ssl.conf 형식의 파일을 생성되어 있습니다.


만약에 le-ssl.conf 파일이 생성이 안되있다면 새로 생성하세요


# nano todaybest.kr-le-ssl.conf


내용을 자신의 도메인으로 해서 아래 형식으로해서 입력합니다. 자신의 도메인에 맞게 수정 하세요.


<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot /var/www/html
ServerName todaybest.kr

SSLCertificateFile /etc/letsencrypt/live/todaybest.kr-0001/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/todaybest.kr-0001/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.todaybest.kr
SSLCertificateChainFile /etc/letsencrypt/live/todaybest.kr-0001/chain.pem
</VirtualHost>

</IfModule>



설정 파일을 저장합니다.


그리고 하나의 ip 에서 여러개의 도메인을 사용하면서 여러개의 인증서는 사용 할경우 기존에 사용했던


/etc/httpd/conf.d/도메인-le-ssl.conf 파일을 다른 경로에 이동을 해놓고 새로운 인증서 생성 작업을 마친후에


기존에 도메인-le-ssl.conf 설정 파일을 다시  /etc/httpd/conf.d/ 폴더에 가져온후에 아파치를 재실행하세요.


만약 기존에 인증서 설정파일인 /etc/httpd/conf.d/도메인-le-ssl.conf 다른곳으로 이동하지 않은 상태에서


새로운 인증서를 생성하게되면 기존 설정 내용과 덮어쓰이지게 되어서 기존 사이트의 인증서 연결에 문제가 될수 있습니다.





하려면 기존에 인증서 파일에 덮어 쓰게되어서




⑦ 아파치를 재 실행합니다.


정상적으로 아파치를 재 실행하기전에 설정파일이 정상 사용가능한지 테스트 해봅니다.


이 테스트는 설정파일이 아파치에 정상 적용 가능 여부만 테스트하며 만약 운영중인 현재 아피치 웹 서버가 있더라도 전혀 영향을 미치치 않습니다.


# httpd -t

Syntax OK


결과가 Syntax OK 라고 나오면 설정파일은 정상 사용 가능한 것이기 때문에 진짜 아파치를 재 실행해도 무관합니다.


# service httpd restart




⑧ 갱신하기


인증서는 3개월이 지나고 갱신하지 않으면 자동 폐기됩니다.


그래서 갱신작업이 필요한데, 갱신작업은 만료일 2~3주 전에 갱신이 가능합니다.


처음 설치한 폴더로 이동합니다.


갱신 명령어를 실행합니다.


# ./letsencrypt-auto renew





⑨ 자신의 싸이트 SSL 정상 적용 여부 테스트 하기 


싸이트에 SSL 에 적용을 했는데 정상 작동되는지 궁금하게 되는데요


https://www.ssllabs.com/ssltest/


SSL 설치한 서버 도메인을 입력후 조회를 합니다.


11.jpg