지난 글을 쓰고 더 나은 방법을 찾다가, 반자동화하는 법을 발견했다.
필요한 것들
- git, php 5.6 이상 제공되는 호스팅. (git이 제공되지 않는 경우 해당 사이트에서 직접 zip으로 받아야 한다.)
- CPanel 접근이 가능한 호스팅 (Bluehost같은 외국 호스팅은 대부분 가능)
과정
- ssh로 해당 호스팅 서버에 접속한다.
- 우선 php용 acme-client를 불러온 뒤, 해당 폴더에 들어간다.
git clone https://github.com/kelunik/acme-client
cd acme-client - 다음 composer를 설치한다. 만약 버전 에러가 나면 php 대신 각 명령어 앞에 굵게/기울임 처리된 php를 php56, php70 등으로 바꿔보면서 진행하면 된다.
php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”; php composer-setup.php; php -r “unlink(‘composer-setup.php’);”; php composer.phar install –no-dev
- 그리고 스크립트를 쓴다.
cd ~
nano autoscript.sh
(아래부턴 nano에서 입력)
#!/bin/bash
cd /home/naraeons/acme-client/
php bin/acme setup –server letsencrypt –email (본인 이메일)
php bin/acme issue –domains (도메인) –path (public_html 경로) –server letsencrypt
(저장)
chmod +x autoscript.sh - autoscript.sh를 실행해 어디에 인증서가 생기는지 확인하고 적어둔다. 빨간 밑줄 부분이 해당 부분이다.
- CPanel로 들어가 Advanced의 Cron Jobs를 누른다.
- 다음과 같이 설정한 후 Add New Cron Job을 누른다.
- 다음 갱신 타이밍이 되면 5번에 적어뒀던 경로에 들어가 파일을 받은 후, 여기를 눌러 7번 순서부터 진행하면 된다.