トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2022-10-1

気づいたら

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

となっていた.