4.4 KiB
Executable file
4.4 KiB
Executable file
20240205150537 Caddyをraspi4にインストール
#raspi #caddy #web_server
インストール
How to Setup a Raspberry Pi Caddy Web Server - Pi My Life Up の方法が現在 20240205 は利用できない。
Err:4 https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABA1F9B8875A6661
このgpgエラーは、鍵が公開されていないのか、解決不能。
仕方ないのでソースからビルド。
まずgoが必要。 20240205152229 raspi4にgoをインストールする
caddyをビルド。
$ sudo apt install git (インストールしてなければ)
$ git clone --depth=1 https://github.com/caddyserver/caddy.git
$ cd caddy/cmd/caddy/
$ go build
$ cd ../../..
$ sudo mv caddy /usr/local
/usr/local/caddy/cmd/caddy
にパスを通す。 /etc/profileに追加。
$ sudo setcap cap_net_bind_service=+ep /usr/local/caddy/cmd/caddy/caddy
$ sudo visudo
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
を追加。
WEBサーバーのルートを作る
$ sudo mkdir /var/www
$ sudo chmod a+rw /var/www
Caddyfileを /etc 以下に作成
$ sudo mkdir /etc/caddy/
$ sudo touch /etc/caddy/Caddyfile
$ sudo chmod a+rw /etc/caddy/Caddyfile
Caddyfileを編集
localhost, 127.0.0.1 192.168.1.100(自分で決めたIPアドレス), saipi4.local(自分で決めたhostname), notes.kinoshita-lab.org(cludflareで設定したhostname) {
root * /var/www
file_server
}
/var/wwwにindex.htmlを作成
<!doctype html>
<html>
<head>
<title>AYBABTU</title>
</head>
<body>
<p>All your base are belong to us.</p>
</body>
</html>
caddyを起動
caddy run --config /etc/caddy/Caddyfile
証明書が無いなど、色々怒られるかもだけど、とりあえずネットワーク内から接続できる。 saipi4は私のraspi4のhostname。
サービス化
Keep Caddy Running — Caddy Documentation
上記を参考にしつつ、パスなどを自分の環境にあわせる。
$ sudo groupadd --system caddy
caddy.serviceはこちらを使用 dist/init/caddy.service at master · caddyserver/dist · GitHub
変更点は下記2カ所
ExecStart=/usr/local/caddy/cmd/caddy/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/local/caddy/cmd/caddy/caddy reload --config /etc/caddy/Caddyfile --force
あとは書いてある通りに実行
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now caddy
$ systemctl status caddy
systemctl status caddy
● caddy.service - Caddy
Loaded: loaded (/etc/systemd/system/caddy.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-02-11 18:09:01 JST; 14s ago
Docs: https://caddyserver.com/docs/
Main PID: 3203 (caddy)
Tasks: 11 (limit: 3918)
CPU: 249ms
CGroup: /system.slice/caddy.service
└─3203 /usr/local/caddy/cmd/caddy/caddy run --environ --config /etc/caddy/Caddyfile
...
動いてる。
Caddyfileを /etc 以下に作成
$ sudo mkdir /etc/caddy/
$ sudo toucn /etc/caddy/Caddyfile
Caddyfileを編集
localhost, 127.0.0.1 192.168.1.100(自分で決めたIPアドレス) saipi4.local(自分で決めたhostname) {
root * /var/www
file_server
}
/var/wwwにindex.htmlを作成
<!doctype html>
<html>
<head>
<title>This is the title of the webpage!</title>
</head>
<body>
<p>All your base are belong to us.</p>
</body>
</html>
caddyを起動
caddy run --config /etc/caddy/Caddyfile
色々怒られるかもだけど、とりあえずネットワーク内から接続できる。