[시놀로지] Let's Encrypt 인증서 갱신(DSM7)
접은 글을 확인하지 마세요... 다른 방식으로 직접 할 수 있네요.
기존 CA 방식에서 ZeroSSL을 적용해야 가능하게 변경된듯 합니다.
내용을 잊기전에 기록을 남깁니다.
> ZeroSSL 가입
[Free SSL Certificates and SSL Tools - ZeroSSL
zerossl.com](https://zerossl.com/)
1 . New Cerificate

2. 본인의 도메인을 넣으시고

3. 1년은 돈을 내야하는 듯

4.

5. 돈을 내고 할 필요가 있다면 선택하시고

6. 시놀로지 메일서버를 구성하고 사용중이라면 Email Verification을 이용해도 됩니다.
필자는 구글DNS CNAME을 구성합니다.

주의! 구글DNS CNAME 구성 시, 맞춤도메인 [호스트이름] 에서 저장하게 되면 자신의 도메인을 한개 더 넣어버리는데 위 내용에서 자신의 도메인을 뺀 나머지만 앞부분만 넣으세요.
이후 화면상태에 따라 진행하시면됩니다.
[갱신! 22.05.01 아래의 내용입니다.
> SSH에서 진행
처음부터 다시 한다고 생각하고 내용을 기록합니다.
SSH 에 접속합니다. (맥- 터미널에서 하셔도 되고, 도커 wetty에서 하셔도됩니다)
ssh 유저아이디@아이피 -p포트
예) ssh abc@123.123.1.1 -p2210
sudo -i
암호를 넣고 root 권한을 얻음.
acme.sh 스크립트 설치.wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh
실행권한 부여chmod a+x acme.sh
// 기본 CA 변경 (갱신 22.06.11)
/root/acme.sh --set-default-ca --server letsencrypt
debug해보기
/root/acme.sh --issue --dns --force -d [내도메인.com] -d *.[내도메인.com] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug
[보기 편하게 코드 늘리기]
중간에 TXT value 부분을 DNS TXT 로 넣어줍니다. 필자는 구글DNS 에 넣었습니다.
renew하기
/root/acme.sh --renew --dns --force -d [내도메인.com] -d *.[내도메인.com] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt
[보기 편하게 코드 늘리기]
성공하면 아래와 같은 success 메시지가 나옵니다.
그리고 인증서의 위치가 표시 됩니다.
> 인증서를 압축 및 복사
ssh에서 어떻게 압축하고 복사하는지 몰라서 찾아보았습니다.
1. cd 명령어로 [자신의도메인] 폴더까지 이동합니다.
2. 파일 압축 명령어zip text.zip ./*
=> 의미는 text파일명에 zip 압축 ./* 해당폴더에 있는 모든 파일및 하위폴더 포함
3. 파일복사 cp 파일명.압축명 위치 cp encrypt.zip /volume2/share3
=> 의미는 encrypt.zip 파일을 volume2/share3에 복사해줘
> 인증서 적용(DSM추가)
제어판 > 보안 > 인증서 > 추가 (혹, 기존 인증서를 변경하셔도 됩니다)
개인키 > 내 도메인.key
인증서 > 내 도메인.cer
중간 인증서 > ca.cer
[확인] 하고 됩니다.
> 자동갱신 스크립트 만들기
기본인증서 경로 찾기cat /usr/syno/etc/certificate/_archive/DEFAULT
ABC
위 ABC는 랜덤입니다. 시놀로지 사용자에 따라 다릅니다.
시놀로지 작업스케줄에 지정하면됩니다.
적용한 sh 파일 내용입니다.
# 인증서 갱신
/root/acme.sh --renew --dns --force -d [내도메인.com] -d *.[내도메인.com] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt
# 갱신된 인증서를 시놀로지에 등록
/bin/cp /root/.acme.sh/[내도메인.com]/[내도메인.com].cer /usr/syno/etc/certificate/_archive/[기본폴더]/cert.pem
/bin/cp /root/.acme.sh/[내도메인.com]/ca.cer /usr/syno/etc/certificate/_archive/[기본폴더]/chain.pem
/bin/cp /root/.acme.sh/[내도메인.com]/fullchain.cer /usr/syno/etc/certificate/_archive/[기본폴더]/fullchain.pem
/bin/cp /root/.acme.sh/[내도메인.com]/[내도메인.com].key /usr/syno/etc/certificate/_archive/[기본폴더]/privkey.pem
# nginx 서비스 재시작
# 시놀로지 DSM v7.x nginx 리로드
synosystemctl restart nginx
끝. 입니다.