- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!気づいたら
10月...なんか今月は本当に気づいたらって感じ...
2022年は残り3ヶ月.
!Nginx の設定
ちょっとした実験サーバで動かしてたApacheをNginxに入れかえ.OSはUbuntu 20.04.
:: Apacheの停止とNginxのインストール・起動
CGIで何か動かしてたりしたわけじゃないので,
sudo apt install nginx
sudo systemctl stop apache2
sudo systemctl disable apache2
sudo systemctl start nginx
sudo systemctl enable nginx
で,あっさりと.最後にApache関連をバッサリ削除.
sudo apt purge apache2
sudo apt autoremove
:: バーチャルホストの設定
Aレコード設定している名前に対するバーチャルホストの設定もしておく.
/etc/nginx/sites-available/hogeを
server {
listen 80;
listen [::]:80;
root /home/hoge/www;
index index.html index.htm index.nginx-debian.html;
server_name hoge.wasamon.net;
location / {
try_files $uri $uri/ =404;
}
}
のように作って
sudo ln -s /etc/nginx/sites-available/hoge /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
:: httpsの設定
証明書はcertbot使ってLet's Encryptから発行してもらう.
インストール手順は https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal に.
snap使うのかあ...と思わなくもなかったけど,まあ公式通りやるかあ,という気持ち.
インストールされたcertbotはcertbot 1.30.0だった.
sudo apt install snapd
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
後は,certbotを実行して,質問にこたえる.
sudo certbot --nginx
自動更新の設定は...と思ったら,snapでのインストール時に設定されているらし.
sudo certbot renew --dry-run
で,動作確認だけ.
自動更新の設定は,
systemctl list-timers
でエントリが確認できた.
設定ファイルは,/etc/systemd/system/snap.certbot.renew.timer が,
[Unit]
# Auto-generated, DO NOT EDIT
Description=Timer renew for snap application certbot.renew
Requires=snap-certbot-2344.mount
After=snap-certbot-2344.mount
X-Snappy=yes
[Timer]
Unit=snap.certbot.renew.service
OnCalendar=*-*-* 09:08
OnCalendar=*-*-* 12:13
[Install]
WantedBy=timers.target
で,/etc/systemd/system/snap.certbot.renew.service が,
[Unit]
# Auto-generated, DO NOT EDIT
Description=Service for snap application certbot.renew
Requires=snap-certbot-2344.mount
Wants=network.target
After=snap-certbot-2344.mount network.target snapd.apparmor.service
X-Snappy=yes
[Service]
EnvironmentFile=-/etc/environment
ExecStart=/usr/bin/snap run --timer="00:00~24:00/2" certbot.renew
SyslogIdentifier=certbot.renew
Restart=no
WorkingDirectory=/var/snap/certbot/2344
TimeoutStopSec=30
Type=oneshot
となっていた.