지난번 certbot 자동갱신을 crontab -e 항목에 입력하였습니다.
3개월이 지난 시점 몇몇 서버에서 자동갱신이 되지 않아 https 보안 오류가 발생하여 사이트에 접속되지 않았습니다.
이를 해결하기 위해서 기존의 세팅된 서버에 아래 내용을 추가해야합니다.
※ crontab 항목은 각자 맞게끔 수정 해주시기 바랍니다.
rm -rf /root/_TION/tionServerLetsencryptRenewal
rm -rf /tionServerLetsencryptRenewal.sh
rm -rf /etc/letsencrypt/renewal-hooks/deploy/httpd_start.sh
rm -rf /etc/letsencrypt/renewal-hooks/pre/httpd_stop.sh
rm -rf /etc/letsencrypt/renewal-hooks/post/httpd_start.sh
mkdir /root/_TION/tionServerLetsencryptRenewal
cd /root/_TION/tionServerLetsencryptRenewal
echo "systemctl stop httpd.service" > tionServerLetsencryptRenewal.sh
echo "certbot renew --no-self-upgrade" >> tionServerLetsencryptRenewal.sh
echo "systemctl start httpd.service" >> tionServerLetsencryptRenewal.sh
chmod 701 /root/_TION/tionServerLetsencryptRenewal/tionServerLetsencryptRenewal.sh
cp -ai /root/_TION/tionServerLetsencryptRenewal/tionServerLetsencryptRenewal.sh /tionServerLetsencryptRenewal.sh
ll
/tionServerLetsencryptRenewal.sh
echo -e "00 00 * * * ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime\n12 12 */12 * * /tionServerLetsencryptRenewal.sh\n*/1 * * * * /tionServerMonitoring.sh\n12 5 * * * /tionServerBackup.sh\n0 23 * * * root journalctl --vacuum-size=1024" | crontab
crontab -e
위의 항목을 그대로 복사 붙여넣기 하면 (빨강색 제외 : crontab 항목은 각자 맞게끔 수정해야합니다.)
지난번 포스팅에서 매일 1시 12시 12분마다 체크해서 https 보안서버 만료될 경우 자동 갱신되도록 했습니다.
하지만 renewal 폴더에 등록한 스크립트로 인해서 80포트가 멈추지 않고 그대로 연결되버려 리뉴얼되지 않더군요.
그래서 위의 빨강색 코드는 crontab 전체를 삭제하고 새로 제서버에 맞게끔 등록하는겁니다.
제 서버는 전체를 다 삭제하고 일괄 동일하게 구성하면 되지만 여러분들의 서버에는 crontab -e 항목이 저와 다르기 때문에 빨강색 만큼은 따로 수정을 해야합니다.
기존에 포스팅을 따라하신분들만 crontab -e 부분을 아래 항목대로 변경하세요.
crontab -e
12 1,12 * * * root certbot renew --no-self-upgrade
이 항목을 아래처럼 수정합니다.
12 12 */12 * * /tionServerLetsencryptRenewal.sh
이제부터 매월 12일과 24일에 12시 12분 마다 리뉴얼을 시도합니다.
이때 기존과 다른점은 아파치 서버를 강제로 종료한다는 점이 다릅니다.
한달에 서버 2회 강제로 재실행 한다고 생각하면 됩니다.
이때 재갱신되는 도메인이 존재한다면 재실행 시간이 조금 더 길어지겠죠.
그럼 잘 활용하세요.