dump1090-faとPiAwareの5.0がリリースされていたので、それぞれarm64のdebian用パッケージとしてビルドしてインストールした。
dump1090-faとPiAwareの5.0のビルドは4.0のビルドと必要環境&やり方は同じ。
で、気になったのがdump1090-faのウェブUIがエラーになって表示されないこと。dump1090-faのウェブUIはウェブサーバとしてlighttpdが使われているのだが、これがエラーで起動できない。
何故かlighttpdとdump1090-faのパッケージインストール後の初回だけは起動するのに次回からは起動しない。最初、インストールしていたOrangePi Zero 2がハングアップした後にlighttpdが起動しなくなるのでハングアップが影響しているのかと勘違いしたが、これは見当違いだった。(OrangePi Zero 2のハングアップが多いため)
$ sudo systemctl status lighttpd ● lighttpd.service - Lighttpd Daemon Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2021-05-06 23:02:50 UTC; 11h ago Process: 2552 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS) Process: 2563 ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf (code=exited, status=255/EXCEPTION) Main PID: 2563 (code=exited, status=255/EXCEPTION)
lighttpdサービスのステータスを見てみたが、lighttpdは自分で能動的に使うウェブサーバじゃないのでよく知らない。とりあえず/etc/lighttpd/lighttpd.confを見たがよくわからなかった。
異常が起きて困ったら見るのがログ。そこでlighttpdのログを確認してみた。
$ ls -l /var/log/lighttpd total 0 -rw-r--r-- 1 root root 0 May 6 23:02 access.log -rw-r--r-- 1 root root 0 May 6 23:02 error.log
なんかログが空なんですけど・・そして、ファイルオーナーがroot。フザケンナ
2022年12月11日追記:
armbainのaptでインストールするlighttpdパッケージは歴代ずっとログファイルオーナーがrootのようです。lighttpdが起動しない原因を調査するためにログを見ようとすれば気付くものだとは思いますが、いいかげん修正して貰いたいところです。chown -R www-data:www-data /var/log/lighttpd など。(↓に続く)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [Unit]
Description=Lighttpd Daemon
After=network-online.target
[Service]
Type=simple
PIDFile=/run/lighttpd.pid
ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf
ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
ExecReload=/bin/kill -USR1 $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
|
lighttpdのサービス用ファイルを見た。
特殊なことはやってないようなので(8行目を実行してから)9行目を実行してみれば良さそう。
$ /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
2021-05-07 11:15:24: (server.c.750) opening errorlog '/var/log/lighttpd/error.log' failed: Permission denied
2021-05-07 11:15:24: (server.c.1461) Opening errorlog failed. Going down.
lighttpdが起動するときにログファイルに書き込めなくて落ちてたということみたい。
先にログファイルを確認したときにログファイルのオーナーがrootになっていてヘンだと思ってたのよね。
lighttpdのサービス用ファイルに3行挿入する。
/lib/systemd/system/lighttpd.service (8行目の直前に3行挿入)
ExecStartPre=/usr/bin/touch -c /var/log/lighttpd/access.log ExecStartPre=/usr/bin/touch -c /var/log/lighttpd/error.log ExecStartPre=/bin/bash -c '/bin/chown www-data:www-data /var/log/lighttpd/*.log'
サービス用のファイルを書き換えたらデーモンリロードを実行。またはそのサービスを無効化して再度有効化する。
$ sudo systemctl daemon-reload 普通はこちら または $ sudo systemctl disable lighttpd 無効化して $ sudo systemctl enable lighttpd 再度有効化する
なんでログファイルのオーナーがrootで作成されてしまうのかという根本的な部分は調べてないし不明なままだが、「がとらぼ」の中の人がLinuxに不慣れということでここは放置。おそらくlighttpdのパッケージに間違いがあるのでいつか誰かが修正してくれるでしょう。
$ sudo systemctl start lighttpd lighttpdサービスを起動 $ systemctl status lighttpd lighttpdサービスのステータス表示 ● lighttpd.service - Lighttpd Daemon Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-05-07 11:17:09 UTC; 11s ago Process: 15305 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS Main PID: 15310 (lighttpd) Tasks: 1 (limit: 1127) Memory: 964.0K CGroup: /system.slice/lighttpd.service └─15310 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf May 07 11:17:08 orangepizero2 systemd[1]: Starting Lighttpd Daemon... May 07 11:17:09 orangepizero2 systemd[1]: Started Lighttpd Daemon.Lighttpdサービスを起動してステータスを見たがエラーにならずActiveになっているので問題なさそう。
lighttpdが正常に起動するようになったのでdump1090-fa 5.0の新ウェブUIのSkyAwareが表示できるようになった。なお、ADS-Bの1090MHz用ではないロッドアンテナをつないでいるので航空機は1つも見えていない。また、実家に設置すること前提で設定しているので上の画像の地図には近畿を中心とする同心円が描かれている。