let's encrypt 를 사용하여 SSL 을 적용하고 있었다.
이렇게 적용한 SSL 유효기간은 3개월로 이후에는 매번 갱신을 새로 해야할 필요가 있었다.
매번 같은 작업을 반복하는 게 귀찮아서 스크립트로 작성하여 실행만 하면 되도록 하고자 했다.
#!/usr/bin/env bash
PROJECT_URL="" # SSL 갱신이 필요한 도메인 URL 입력 필요
SSL_ROOT="/etc/letsencrypt/live/$PROJECT_URL"
HOME_ROOT="/home/ec2-user"
echo "Start Install certbot"
sudo dnf install -y python3 augeas-libs pip
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot
echo "Create SSL certification"
sudo certbot certonly --standalone
sudo openssl pkcs12 -export -in $SSL_ROOT/fullchain.pem -inkey $SSL_ROOT/privkey.pem -out $SSL_ROOT/keystore.p12 -name recipestorage -CAfile $SSL_ROOT/chain.pem -caname root
sudo mv $SSL_ROOT/keystore.p12 $HOME_ROOT
sudo chmod 777 $HOME_ROOT/keystore.p12
sudo openssl base64 -in $HOME_ROOT/keystore.p12 -out $HOME_ROOT/keystore.txt
#!/usr/bin/env bash
PROJECT_URL="" # SSL 갱신이 필요한 도메인 URL 입력 필요
SSL_ROOT="/etc/letsencrypt/live/$PROJECT_URL"
HOME_ROOT="/home/ec2-user"
sudo certbot certificates
sudo certbot renew --dry-run
sudo certbot renew
sudo openssl pkcs12 -export -in $SSL_ROOT/fullchain.pem -inkey $SSL_ROOT/privkey.pem -out $SSL_ROOT/keystore.p12 -name recipestorage -CAfile $SSL_ROOT/chain.pem -caname root
sudo mv $SSL_ROOT/keystore.p12 $HOME_ROOT
sudo chmod 777 $HOME_ROOT/keystore.p12
sudo openssl base64 -in $HOME_ROOT/keystore.p12 -out $HOME_ROOT/keystore.txt