commit(auto)

This commit is contained in:
Kaz Saita(WSL2) 2024-02-12 23:30:15 +09:00
parent 0b71ebc681
commit e07d0452d1
4 changed files with 42 additions and 128 deletions

View file

@ -38,7 +38,7 @@ $ sudo apt full-upgrade
$ sudo reboot (最新にしたので再起動)
```
### WEBサーバー
- [[20240205150537 Caddyをraspi4にインストール|Caddyをraspi4にインストール]]
- [[20240212183719 Raspi4でnginxを設定する|Raspi4でnginxを設定する]]
### Raspi4 Cloudflareでトンネルを作る
- [[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る]]
- [[20240211202623 Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する|Raspi4 Cloudflareでhttpsサーバーを公開する]]

View file

@ -1,126 +0,0 @@
# 20240205150537 Caddyをraspi4にインストール
#raspi #caddy #web_server
### インストール
[How to Setup a Raspberry Pi Caddy Web Server - Pi My Life Up](https://pimylifeup.com/raspberry-pi-caddy-web-server/) の方法が現在 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をインストールする|raspi4にgoをインストールする]]
caddyをビルド。
```sh
$ 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。
![[Pasted image 20240205205804.png]]
### サービス化
[Keep Caddy Running — Caddy Documentation](https://caddyserver.com/docs/running#linux-service)
上記を参考にしつつ、パスなどを自分の環境にあわせる。
```
$ sudo groupadd --system caddy
```
caddy.serviceはこちらを使用
[dist/init/caddy.service at master · caddyserver/dist · GitHub](https://github.com/caddyserver/dist/blob/master/init/caddy.service)
変更点は下記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
...
```
動いてる。
## cf.
- [GitHub - caddyserver/caddy: Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS](https://github.com/caddyserver/caddy?tab=readme-ov-file#build-from-source)
- [caddyで簡単にhttpsサイト #http2 - Qiita](https://qiita.com/mmotoi/items/1af28e2e62a4e344eb6c)
- [CaddyCaddyfileに\`localhost\`を指定すると、https://127.0.0.1/ ではアクセスできない](https://zenn.dev/yuji38kwmt/articles/5d3e729dc9a5c1)

View file

@ -12,7 +12,6 @@
## WEBサーバーの設定
raspiのwebサーバーは80番(http)で動かして、cloudflareでhttps化してる。
- [[20240212183719 Raspi4でnginxを設定する|raspi4でnginxを設定する]] で、WEBサーバー(nginx)を動かしておく。
- [[20240205150537 Caddyをraspi4にインストール|Caddyをraspi4にインストール]] で、Caddyを動かしてもよい。
## 作ったWEBサーバーをcloudflareのトンネルに登録

View file

@ -0,0 +1,41 @@
# 20240212183719 Raspi4でnginxを設定する
#raspi #server #nginx
nginxは、try_filesがうまく動いていないので要調査
```
$ sudo nano /etc/nginx/sites-available
```
quartzを使いたいので、 try_filesの所をこんな感じに変える。
```
try_files $uri $uri.html $uri/ =404;
```
```
$ sudo systemctl daemon-reload
$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Mon 2024-02-12 17:00:43 JST; 1h 46min ago
Docs: man:nginx(8)
Main PID: 7830 (nginx)
Tasks: 5 (limit: 3918)
CPU: 149ms
CGroup: /system.slice/nginx.service
├─7830 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
├─7831 "nginx: worker process"
├─7832 "nginx: worker process"
├─7833 "nginx: worker process"
└─7834 "nginx: worker process"
Feb 12 17:00:43 saipi4 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Feb 12 17:00:43 saipi4 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.
```
こんな感じで動いてればOKかも。Chromeはhttpが使えないので、firefoxとかで確認。
![[Pasted image 20240212185558.png]]