Linux

Nginx の導入とLet's Encrypt のSSL証明書の導入をいっぺんに済ませるスクリプト

Nginxの導入とLet's Encrypt のSSLの導入をいっぺんに済ませるスクリプト

事前の準備としてAレコードだ登録されていることです。

FWなどがある場合にはポート80と443が開いていること。

nginx version: nginx/1.18.0 (Ubuntu) on Azure VM で確認

export DOMAIN=example.com
export MAIL=admin@example.com

apt -y update
apt -y upgrade
apt -y install nginx
apt -y install certbot

certbot certonly --webroot -w /var/www/html -m $MAIL -d $DOMAIN --agree-tos -n

sed -i 's/# listen 443 ssl default_server/listen 443 ssl default_server/g' /etc/nginx/sites-available/default
sed -i 's/# listen \[::\]:443 ssl default_server/listen \[::\]:443 ssl default_server/g' /etc/nginx/sites-available/default
sed -i '/listen \[::\]:443/{n;s/^/\tssl_certificate\t\/etc\/letsencrypt\/live\/'"$DOMAIN"'\/fullchain.pem;\n/;}' /etc/nginx/sites-available/default
sed -i '/ssl_certificate/{n;s/^/\tssl_certificate_key\t\/etc\/letsencrypt\/live\/'"$DOMAIN"'\/privkey.pem;\n/;}' /etc/nginx/sites-available/default

systemctl restart nginx

-Linux
-