【Raspberry Pi4】dovecot設定

Rasberry Pi OS liteのメールサーバーdovecotで、またパラメータが変わってて、Maildirの設定にちょっと苦労した。

mail_location が廃止されたので、namespace で解決するのが正しいようだ。

情報源: Namespaces | Dovecot CE

INBOX は /var/mail/noizumi で、他のフォルダ類は Maildir形式の /home/noizumi/Maildir に保管してるので先の設定にした。

昔、mbox 形式だと、メールフォルダの階層化ができなくて、フォルダ削除して Trash/delFolder みたいな状況になると、削除できなくなるってのがあったので、Maildirにしている。

今、mbox はフォルダの階層化できるようになってるんだろうか? AIさんに聞いてみる 🙂

はい、IMAPを利用している場合、mbox形式のメールボックスであってもフォルダの階層化(サブフォルダ作成)は可能です。

技術的には、ThunderbirdなどのIMAP対応メールクライアントを使用してサーバー上にフォルダを作成・管理することで、階層構造が実現されます。

あー、mboxはサーバー側にディレクトリを掘らずにファイルしか配置できないから、ファイル名に区切り文字で階層を表してる。

つまり、メールクライアントによっては、うまく判別できずに階層構造にならないって事もあり得るんだな。

じゃあ、Maildir形式の方がいいな。

新しく買ったHDDケース

ORICO 9928RU3を買った。

支那製だが、レオナルド・ディカプリオのカードのCMとは関係ない 🙂

どうせ日本メーカーでも、中身は支那製だし、日本メーカーと同価格帯なら、日本企業のマージン分、中の品質が高い可能性がある。

買って、大爆死する可能性があるので、今まで買った製品に触れなかったけど、アルミ筐体で冷えやすく、従来品よりファンの音もうるさく無く、速度も速いので、中々良い。

Amazonだと、同じ製品で、もっと安いページもあるが、低評価レビューがあって、欠陥品ロットがまとめられたページの気がするので、高い方のページでこうにう。

RAID1を構成するのに、この手の製品は今まで使っていたRAID1のデータの入ったディスクを継承できないので、新規にWD20EARZ-ECを2つこうにう。
昔買った値段より1.5倍くらいになっとるね 🙁

新規RAID1のディスクを構築してから、今まで使ってたディスクの1本をGREENHOUSEのIDE/SATA→USB2.0の変換コネクタを繋いで、必要なデータをコピーした。

新しく買ったディスクは、データ転送速度が180MB/s だそうなので、HDDケースに入れて、速度を計ってみる。

「UASP対応」と謳ってるだけあって速い。
元のディスクスピードの180MB/sを上回ってるのは、RAID1は読み出しに関しては2台のディスクから読めるので、その分高速化されるのだろう。

果たして耐久性はいかがなものか。
せめてハードディスクより先に逝って欲しくないなあ。

【Raspberry Pi4】家のサーバー復旧ちう

HDDケースぶっ壊れた。

という事で、Raspberry Pi Imagerを取ってきて、Raspberry Pi OS Lite 64bitをRAID1のHDDケースにインストール。

どうせ、GUI使わないので、X Window System系が入ってないのにした。

割と短時間で終了し、HDDが2TBなのに、ディスクイメージのサイズで限定され、容量が少ないなんて事もなく、フルに2TBを使っていた。

最近のディストリビューションは、swapパーティション切らないのね。

後、SoftEther VPN serverを使う上で、ネットワークでbridgeデバイスを使う必要がある。

今までのUbuntu 24.04LTSでの構築経験上、desktop版は正常に作成できず、server版だとうまくいくというのがあって、NetworkManagerベースは避けたかった。

で、Raspberry Pi4(以下RP4)にHDDを繋ぎ替えて起動すると、ルーターでRP4のMACアドレスに192.168.11.254を割り当てていたので、DHCPでIPアドレス設定はできたから、これもサクッとssh接続できた。

bridgeデバイスを作成する上で、Ubuntuのserver版だと、netplanのスクリプト書いて、netplan apply でサクッと作れていた。

しかし、NetworkManagerが生きてると、bridgeにeth0とtap_softetherの2つをぶら下げないといけないのに、eth0しか無いという状態にされる。

恐らく、NetworkManagerの不具合だと思われるが、bridgeに2つのslaveぶら下げてて、1つしか有効にならないなんて事例が無いw

netplanとNetworkManagerの統合を進めているらしいが、Raspberry Pi OSのベースのdebian 13では、よりNetworkManager寄りになっているようだ。

という事で、

無事に br0 デバイスができた 🙂

あと、やった事色々。

apt install fail2ban tcpdump apache2 telnet  default-jre-headless php php-xml php-curl php-mbstring samba smbclient certbot nslookup bind9-dnsutils python3-certbot-apache

a2ensite 000-default-le-ssl
a2enmod userdir
a2enmod rewrite
a2enmod ssl
a2enmod auth_digest
a2enconf auth_digest

そして、コピー元ディスク見ていて、メールサーバーの postfix がインストールされてて、設定もやってるんだけど、何でだったのかと暫く考える……

あー、SPFの設定で、silverfox.noizumi.orgを送信ホストとして登録したくなかったから、家のサーバーのメールもirc.noizumi.orgへ投げるようにしたんだっけ。

あと、zoneminderとかあるけど、家の玄関リフォームしたせいで監視カメラ撤去したし、その間にプロバイダ変更したから、監視カメラのWiFi設定変えないといけないし、面倒だから、後回しにして原神やろう 🙂

新しく買ったHDDケース

HDDケースぶっ壊れた。

家でRaspberry Pi4にUSBでHDD RAID1のケース(センチュリー 裸族の二世帯住宅 CRNS35EU3S6G)を接続して、ホームサーバーにしているが、認識しなくなった。

RAID1 は 2台のHDDで構成し、2台共同じ内容にして、1台が壊れても、新しいハードディスクと入れ替えてやれば、再び複製を開始して、継続して使用できるというコンセプトだ。

ところが、その母体となるHDD ケースが壊れたのでは、いくらデータの冗長性を確保していようが、全く意味がない。

まあ、8年使用したので、壊れても仕方がない気がするが、壊れやすいHDDが壊れていないのに、HDDケースの方が先に壊れるというのは、何とも納得しがたいものがあるのであった。 🙁

SSL証明書の期限切れ警告

Let’s encryptからSSL証明書期限切れの警告メールが来た。
家のサーバーのSSLの証明書は cron で自動的に更新するようになっているのだが、2月の初旬に切れるようだ。

サーバーにログインして調べてみると、名前が引けないので、bind9のdaemonをリスタート。

# systemctl restart bind9.service

そして、SSLの証明書更新。
# certbot renew

これで解決。相当長期間名前が引けない状態だったみたい。

最近、プロバイダのDNSでは、特定サイトの名前解決ができないとか、制限を掛けていたりするので、家のサーバーはDNSのルートサーバーから直接情報を得て無制限に使えるようにしてるんだな。

ホワイトガソリン

ベンジンの在庫が少なくなったので、今年の2月にホワイトガソリンをamazonで 2,574円で買っておいた。

500mlのベンジンは600〜800円くらいだが、このホワイトガソリンは、500mlあたり321.75円。

今日、ハクキンカイロに入れて使っているが、カイロ用のエビスベンヂンなどと使い勝手は変わらない。

今見たら、3,300円に値上がりしてたけど、それでも500mlあたり412.5円と安い。

4リットル缶のままだと、使い勝手が悪いので、エビスベンヂンの空き瓶に入れていて、ライター用にZIPPOオイルの空き缶にも入れてある。

非常用燃料として、ホワイトガソリン一本にしたいが、コンロが5千円くらいの中華の安物は★3以下と評価が低く、メーカーものは1万円以上とお高い。

ガスと違って、揮発させる為のプリヒーティングとか、結構面倒くさいのも難点。

まあ、当面はガスとホワイトガソリンの両建てでいきますか。

新車内ソーラーシステム発電状況

※注意 raspistill で撮った2592×1944ピクセルの超巨大画像(2.6MB)なので、モバイル回線でクリックしないように。

13.6V なので、車のバッテリー60Ahを充電しつつ、30,000mAhモバイルバッテリー充電と、携帯電話充電と、Raspberry Pi Zero 2 W+GPSモジュールが動かせてるな。

この画像はGIMPでシャープネス加工して見やすくしたものだけど、文字が細いから、高解像度にしないと読み取れないのが課題だな。

【Raspberry Pi Zero 2 W】cron が動かない

RX-7 を監視するプログラムを Raspberry Pi Zero 2 Wで動かしている。

crontab にこう設定してあって、起動時にモニタプログラムが起動するようになっているのだが、最近、こいつが動いてない事が多い。

幸い、リモート接続は可能なので、ssh で接続して、手動で動かしているのだが、原因を調べると、どうも cron が動いてないっぽい。

systemctl status cron.service で状態を確認しても、running と出てるし、プロセスもちゃんと上がっているので、表面上異常は一切見付けられない。

うーん……

これは、モニタプログラムを /etc/rc.local 起動するしかないかな。

しかし、1分毎に動かしてる転送されていない動画を転送する処理は cron が動いていないと、問題がある。

rc.local で起動したモニタプログラムに、ログを調べて cron のログが無いようだったら、systemctl restart cron.service を実行する機能を付けねばならんか。

しかし、基幹部に欠陥があると、想定していた前提が崩壊してしまうので、こういうのは何とかならんのかのう 🙁

 

【Raspberry Pi Zero 2 W】metric 設定

車載のRaspberry Pi Zero 2 W(以降rx7pi)が、家のWiFiに繋がってる時に通信が遅くてしょうがない。

まあ、原因ははっきりしていて、ssh でログインする時に、WiFiのIPアドレスで繋ぐと応答は速いけど、パッケージ更新とかやると、metric の低い順のネットワークデバイスで通信するので、usb0 = povo 2.0 128kbps 通信となってしまう為だ。

rx7pi は dpcpcd ではなく、NetworkManager で通信を管理してるので、設定状況は次の通り。

100 usb0
600 wlan0
750 bluetooth

という順で優先されるけど、usb0 と wlan0 を入れ替えたいので、ちょこっと検索。

ネットワーク設定nmcli コマンドでルーティングメトリックを設定します。ルーティングメトリックは値が小さいほど優先順位が高いため、主回線の soracom を 500、副回線の ntt を 700 に設定します。次のコマンドを実行してください。ターミナル
sudo nmcli c m soracom ipv4.route-metric 500
sudo nmcli c m ntt ipv4.route-metric 700sudo nmcli c down soracom
sudo nmcli c down nttsudo nmcli c up soracomsudo nmcli c up ntt

情報源: ラズパイ1個で2個の4GPiを同時使用する際の、LTE回線自動切換え #RaspberryPi – Qiita

パラメータが省略してあるので、分かり辛いが、 c = connection、m = modify か。

よし、イケた。

後は、WiFi接続時に VPN のwireguard を再接続するように設定する。

$2に up とか down が入ってくるようだが、どの道VPNを再起動して良い状況なので、判別せず。

実行属性つけておくのを忘れずに。

 

【Raspberry Pi Zero 2 W】車の電圧監視

車に50Wのソーラーパネルをバッテリー直結にしたが、過充電が心配で、何とか電圧監視する仕組みを導入できないか考えていた。

過充電が心配なら、ソーラーチャージコントローラーを噛ませばいいじゃないかという話だが、如何せんソーラーパネルのパワーが低いので、充電するよりもソーラーチャージコントローラーの待機電力の方が大きければ、太陽光発電をしない方がマシというのは本末転倒だ。

正攻法なら、INA226のセンサーで車のバッテリー電圧を計って、ネットワークで確認して、14.4Vを越えていなければOKという判断もできるが、待てよ……

家にソーラーパネル100W買った時におまけでついてきたチャージコントローラーがあるので、とりあえず待機電力には目を瞑って、それを噛ませて過充電の心配を無くす。

そして、車載のRaspberry Pi Zero 2 Wは車内監視カメラがあるので、ソーラーチャージコントローラーには電圧表示があるから、それを写せばいいんじゃね?

車内の動画だと、128kbps の通信速度で送れるように低解像度にしてあるから、電圧が読み取れません><

 

 

 

そうだ raspistill ならフル解像度で撮影できるなと気付き、カメラデバイスを専有している motion 停めて撮影してみた。

さすがに 2560×1920ピクセルともなると、ちゃんと、12.5V って読めるな。

ちょっと手間掛かるけど、これで日中に駐車場でどんな充電状況なのかが一応分かるな。

将来的には、低消費電力の電菱のSolar Amp B に替えたいな。