이전글 - VPS 가상서버에서 XE 설치하기 [1] : 기본 우분투 세팅과 APM 설치
본 가이드는 호스팅업체인 디지털오션의 튜토리얼 가이드를 따라 만든게...
아닌 번역해서 그대로 둔 정도에요. 그만큼 쉬워요.
사실 최근 배포판 리눅스 + Apache 사용자는 Let's Encrypt 를 사용하기가 매우 편리해요.
NginX나 구버전 배포판의 경우는 조금 더 설정이 필요하니 다른 것은, 위 참고/출저 주소를 이용하시면
다양한 환경에 대한 가이드가 나와있어요.
구글이나 네이버 번역기만 있어도 충분히 매끄럽게 번역되니 어렵지 않아요.
저의 현재 환경은 아래와 같아요.
Conoha VPS
우분투 16.04 LTS 64bit
Apache
자 이제 본격적으로 시작해봐요. 여러분들이 지금 기글 주소를 보면,
도메인 주소 앞에 http가 아닌 https를 보셨을거에요.
https가 적용된 웹페이지는 가입시 받은 개인정보가 안전하게 암호화되어
외부유출 시에도 상대적으로 안전해요.
정보통신안전망법에 의해 가입시 타인의 개인정보를 수집하는 웹사이트는 모두
보안인증서를 설치하는 것이 의무에요.
물론, 개인만 포스팅하는 개인블로그는 상관이 없어요.
더불어 설치형이 아닌 서비스형 블로그(네이버 등등)에서는
타인의 개인정보를 수집하지 않기에 달지 않아도 되요.
쉽게 이야기해서, 개인정보를 수집하는 웹사이트의 사용권만 가진 유저가
아닌 소유주에게 의무가 있어요.
어쨌든, 이러한 암호화 보안인증서를 사용하는데 서비스 블로그를 제외한 대부분의 웹사이트는
적용을 받기 때문에 필수로 해주어야해요.
이러한 보안인증 과정은, 가능하면 웹사이트를 개설하고 바로 해주는게 좋아요.
그런 일은 자주 없지만 경우에 따라선 DB나 CMS코어 설정들을 다시 해줘야 하는 경우도 있고
예를들어 여러분이 개설한 해당 페이지에 애드센스 등 광고를 게시할 예정인 경우...
http에서 https로 변경되면, 대표적인 검색포털 사이트에서는 처음부터 다시 수집해야해요.
트래픽이 생명인 광고수익으로서는 유명 포털의 검색에서 한순간이라도 제외된다면 뼈아픈 상황이니까요.
국내 호스팅업체의 일반용 SSL인증서는 대략 2~5만원/1년 수준이며(설치비도 따로),
기업형이나 대형사고에 보험지급금이 높은 상품은 더욱 비쌀 수 있어요.
물론 해외 업체인 COMODO 같은 곳은 $3~5 정도면 일반용 인증서를 구매할 수 있으니
큰 부담이 안되지만, 비영리/개인용 등 수익이 없거나 비용을 들이고 싶지 않은 분들을 위해
모질라 주도로 각 IT인터넷 업체들의 참여를 이루고 있는 Let's Encrypt 를 사용해봐요.
물론, 무료인 대신에 90일에 한번 갱신을 해줘야하지만, 갱신을 자동화 할 수 있으니 어렵지 않아요.
SSL 인증서를 설치하기 위해선 다음의 필수조건이 필요해요.
- 도메인이 있어야하고, 루트권한이 있는 자신의 서버(임대 포함)에 연결되어 있어야해요.
대부분의 일반적인 웹호스팅 사용자분들은 아쉽지만 유료상품을 이용하셔야해요.
무료였던 StarSSL은 현재 모질라, 구글 등에서 적합하지 않은 상품으로 차단중이니까요.
sudo apt-get update
sudo apt-get install python-letsencrypt-apache
16.04는 Let's Encrypt 패키지가 있기 때문에 번거로운 작업없이 바로 설치할 수 있어요.
저장소를 업데이트하고 위와 같이 명령해주면 설치는 끝이에요.
다른 웹페이지에서 보고 단순하게 apt-get install letsencrypt 만 하였다가...
모든게 다 된 줄 알았지만 이게 apache랑 연결문제도 생기고 그랬는데..
위와 같이 하니 문제가 없었어요.
자 이제 설치가 진행되고 갱신기간이 되거나 문제가 생기면
받을 수 있는 비상연락처인 이메일을 적어달라고 나올거에요.
이메일까지 작성하시면, 이제 해당 내용을 동의하겠냐는건데,
가볍게 Agree를 택해주시면 아래와 같은 화면이 나와요.
Easy는 HTTP와 HTTPS 둘 다 사용하실 분들을 위한 것인데,
사실 보안추세가 HTTP를 사용하지 않는거고,
괜히 포털사이트에서도 양쪽 다 처리하긴 그래요.
회원가입이나 로그인, 결제 페이지에서만 HTTPS를 사용하는
선택적 SSL 웹사이트들도 편법없이는 크롬에서 싸그리 위험한 사이트로 표기되요.
Secure로 선택하여 HTTPS만 사용하시길 권합니다.
자 이제 그 다음 설치가 정상적으로 되었다면 다음 두 이미지처럼 나와요.
자 이제 여러분의 서버에는 Let's Encrypt 가 설치되었어요.
FTP프로그램 등으로 /etc/letsencrypt/live/도메인으로 가보시면
cert.pem
chain.pem
fullchain.pem
privkey.pem
4가지 인증서 관련 파일이 있을거에요. 물론 아파치에서 4개 다 쓰는것은 아니지만요.
이제는 설치한 인증서와 여러분의 도메인을 연결할 차례에요.
ⓐ sudo letsencrypt --apache -d example.com
ⓑ sudo letsencrypt --apache -d example.com -d example2.com
ⓐ 는 하나의 도메인만 사용할 때 사용하시면되고,
ⓑ 는 여러개의 도메인을 한번에 하고싶을 때 명령어로 사용하면 되어요.
기억하기론 최대 20개인가 -d 도메인 으로 죽 연결하면 여러개를 한번에 등록할 수 있어요.
지금부터 여러분의 도메인은 https를 사용할 있어요.
secure 모드로 설치했으니, 웹사이트 주소에 도메인만 치시면 https로 연동되요.
사용에 별 문제가 없다고 판단되면, XE사용자분들은 관리자 패널에서 두 가지,
기본URL에서 http에 s를 붙여 https://도메인 으로 변경하고
SSL을 항상사용으로 체크하고 저장하면 끝이에요.
이제부터는 90일마다(빠르게는 60일마다) 인증해야하는
이 굉장한 번거로움을 덜어봐요. 원래 공짜란건 이유있이 번거로워요.
sudo letsencrypt renew
위는 인증서를 재갱신하는 명령어에요. 저도 오늘 작업했기 떄문에
현재로서는 갱신할 수 없어요. 만료 30일 이내에만 가능해요.
sudo crontab -e
크론은 그리 부하가 심한 작업이 아니기 때문에 이것을 통해
특정 날짜를 지정하여 자동으로 실행시켜주면되요.
위와 같이 명령어를 입력하면 아래와 같은 화면이 출력되요.
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny
Choose 1-4 [2] :
Vi에디터가 익숙지 않은 분들은 2번을 택하면 되지만,
저희는 일전에 초간단 Vi에디터 사용법을 배웠으므로...
과감히 3번을 눌러줘요.
만약 vi 에디터가 열리지 않는다면 다시 sudo crontab -e 명령어를 쳐줘요.
그리고 현재 Vi에디터로 열려진 크론탭 항목의 가장 하단에 다음 문구를 추가해줘요.
30 4 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
35 4 * * 1 /usr/sbin/service apache2 reload
30은 분(minute), 뒤에 4가 시(hour) 에요. 자신이 원하는 시간으로 바꾸시면되요.
지금 예시로 든 것은 서버시간으로 오전 4시 30분에 Let's Encrypt를 재갱신한다는 명령어에요.
그 아랫줄은 여러분들도 아시는 것 처럼,
오전 4시 35분에 apache 웹서버를 재시작하는거에요.
apache 웹서버야 사용자분들이 자주 재시작하지만,
갱신을 웹서버에 바로 적용시키는데는 그때그때 재시작해주는 것도 좋고,
여러분이 따로 관리를 하지 않아도 웹서버가 잠시나마 재시작 할 수 있으니까요.
이제는 wq로 저장하고 나오면, 끝이에요. 여러분의 Let's Encrypt는
위에 문구로 지정한 시간에 자동갱신되요. 이제 아파치만 재시작하면 모든게 끝이에요.
혹여 문제가 생겨 재갱신되지 않아도, 여러분의 비상연락처(이메일)로 날라오니
걱정하지 않으셔도 될거에요.