buypass 는 PKI(Public Key Infrastructure)를 기반으로 인증서를 발급하는 표준 인증 기관(CA, Certification Authority)으로 letsencrypt 와 동일하게 ACME 프로토콜을 기반으로 인증서를 배포 합니다. buypass 인증서는 letsencrypt 인증서와 동일하게 certbot 을 이용하여 인증서를 발급 받을 수 있습니 다. letsencyprt 인증서의 유효기간이 3 개월인 것에 비해 buypass 인증서의 경우 6 개월 동안 인증서가 유효하다는 장점이 있으나, 발급 방식이나 생성되는 인증서 파일 종류, 경로 등의 차이가 없어 기존 letsencrypt 와 같은 방식으로 사용 가능합니다.
CentOS 7
# yum install epel-release
# yum install -y certbot openssl mod_ssl
인증서 발급
certbot certonly --webroot --server 'https://api.buypass.com/acme/directory' -m 관리자메일주
소 -w 홈소스경로 -d 도메인1 -d 도메인2
해당 명령어 입력 후 처음은 Y 누르고 2번째는 메일 받겠냐는 내용이여서 N 누릅니다.
certbot 명령어를 이용하여 인증서를 발급 받습니다. 발급된 인증서는 letsencrypt 인증서와 동일하게 /etc/letsencrypt/live 하단에 도메인을 이름으로 하는 디렉터리 내부에 저장됩니다. '--server'를 'https://api.buypass.com/acme/directory' 로 지정하여 Buypass 서버로부터 인증서를 발급 받을 수 있습니다. 이를 지정하지 않을 경우 디폴트 값이 사용되어 letsencyrpt 인증서가 발급됩니다. '-m' 에는 관리자 메일 주소를 지정하며 제외해도 무방합니다. '-w'에는 홈 디렉터리의 경로를 지정합니다. '-d'에는 도메인 주소를 지정하며, Alias 를 사용하여 하나의 디렉터리에 다수의 도메인이 연결된 경우 '-d' 옵 션을 추가로 사용하여 다수의 도메인을 지정할 수 있습니다. |
/etc/letsencrypt/live 파일 안에 도메인 파일 생성이 되고, 하단에 키값이 있는게 확인되면 ssl.conf 파일을 설정합니다.
# vi /etc/httpd/conf.d/ssl.conf
LoadModule ssl_module modules/mod_ssl.so
Listen 443
<VirtualHost *:443>
ServerAdmin admin@mail.com → 관리자 메일 주소 지정
DocumentRoot /home/test/public_html → 홈 디렉터리 지정
ServerName 도메인명 → 도메인1
ServerAlias www.도메인명 → 도메인2 (Alias)
ErrorLog "logs/ssl_도메인명-error_log"
TransferLog "logs/ssl_도메인명-access_log"
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/도메인명/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/도메인명/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/도메인명/fullchain.pem"
</VirtualHost>
컴파일 설치를 했다면 컴파일 경로에 ssl.conf 파일을 수정하면 되며, httpd.conf 파일에서 ssl 모듈 및 sochache 모듈 주석 해제를 해줘야 합니다.
설정이 완료 되었으면 방화벽에 443포트 등록 및 apache 재시작을 합니다.
자동 갱싱 설정
# crontab -e
0 2 1 * * certbot certonly --webroot --renew-by-default --server
'https://api.buypass.com/acme/directory' -m 관리자메일주소 -w /home/supermaria/public_html/
-d 도메인1 -d 도메인2 >> /var/log/buypass.log
5 2 1 * * systemctl restart httpd → CentOS 7(Apache)
5 2 1 * * /etc/init.d/apachectl restart → CentOS 7(Apache, Source 설치)
→ ‘crontab -e’명령으로 crontab 설정 파일을 열고 위와 같이 내용을 추가합니다. ‘--renew-by-default’ 옵
션을 사용하여 인증서를 갱신 시도하며, 일반적으로 갱신하는 방법인 ‘certbot renew’와 다르게 인증서의
유효기간에 관계없이 갱신이 가능합니다.
갱신 이후 각 설치 환경에 맞게 apache를 재시작하도록 설정합니다. 위와 같이 설정할 경우 매
월 1 일 2 시에 인증서를 갱신하며, 2 시 5 분에 웹 관련 데몬을 재시작하여 변경 내용을 적용하게 됩니다.
'window > letsencrypt' 카테고리의 다른 글
Window에서 letsencrypt 적용하기 (0) | 2021.05.25 |
---|