Raspberry Pi5をサーバーに仕立てる (7) sendmailはくせ者

まあ,いつもくせ者なのですが😓 Debian流儀ではどのようにすべきなのかChatGPTやGeminiに聞きながらやっています.

長年醸成してきたsendmail.mcをsendmail-cfユーティリティーでささっとsendmail.cfにするだけ,と思いましたが,そもそもどこにsendmail.mcを置けばよいのから判りません.

結論的には,/etc/mail/sendmail.mcを置いて,sendmailconfigというスクリプトを走らせれば良いということが判りました.

これがまたくせ者でした.これまでやってきたSlackwareでの方法は,ワークディレクトリーホスト名_日付-1.mcというファイルを作って,これに対して,

make ホスト名_日付-1.cf

とすれば,ホスト名_日付-1.cfができます.そこで,そのファイルを/etc/mailに移して,

ln -s  ホスト名_日付-1.cf  sendmail.cf

として使っていました.

ところが,Debianのsendmailconfigはそれを許してくれません.まず元のホスト名_日付-1.mcファイルを/etc/mailに起き,sendmail.mcという名前にしないといけません.そこは逆らって,ホスト名_日付-1.mcのまま,/etc/mailに置いて,sendmail.mcにsymlinkを貼りました.

そこで,sendmailconfigを実行したところ,sendmail.cfはできますが,symlinkは解除されて,ホスト名_日付-1.mcを基にしたsendmail.mcが作られて,内容が一部改変されています.

内容の改変はたいしたことないので,その内容を元のホスト名_日付-1.mcに施しておきました.今後どのようにしたら解りやすいのか考えたいと思いますが,とりあえずはできたから良いです.

sendmailはまだ起動していません.動作確認にはけっこう手間がかかりそうに思います.

Slackwareでは/usr/src/sendmail-cf/cf/cf

Raspberry Pi5をサーバーに仕立てる (6) 進捗状況

今日は久しぶりに作業をしました.

以前,手でphpMyAdminをインストールしましたが,ふと我に返り😓 Debian ではdisroが管理しているパッケージはかなり広範にわたり,管理されているならaptでインストールすべきと,インストールしたパッケージを削除しました.そして,root権限で

apt install mysqladmin

としたら,依存性のあるパッケージが多数表示され,Yリターンで全部インストールしました./etc/apache2/conf-enabled/phpmyadmin.confを覗いてみたら,URLは,http(s)://サイト/mysqladminという当たり前の形式になるので接続してみたら普通に使えました.

このデフォルトのURLでは,将来的にサーバーを公開したら阿呆がたくさん知られた古いセキュリティーホールを試しに来ますのでUUIDに変えておきました.

phpMyAdminが何の設定もしないで動くのは,データベースをまるまる旧サーバーから持ってきてあるからです.

次にphpLDAPadminですが,こちらもDebianのパッケージにありますので,aptでインストールして,URLのパスをUUIDにしておきました.既にslapdの動作は確認できているので,なんの苦労もなく動きました.

ここまでものの30分くらいで済んでしまったので,sendmail, sendmail-cf, procmailなどをインストールしました.これらの設定は旧サーバーからコピーするなどして準備しましたが,まだテストはしていません.

そして,HyperMailで動かしてきた自分用Mailアーカイブをどうすれば良いか.ChatGPTに聞いたら,mhonarcを試してはというので現在調べているところです.

mhonarcをインストールして試したら,メールの諸々設定・テストを行い,その次はWordPressをインストールします.そこら辺で外向きサーバーを現行サーバーから新サーバーに切り替えようかと思います.

Raspberry Pi OSですが,Debianと本質は同じ.
筆者はSlackwareの流儀で,システムのメンテをする場合はsudo -i等でrootになってから作業をします.

Raspberry Pi5をサーバーに仕立てる (5) 今後の計画

MariaDBは動き,詳しくは書きませんが現在Slackware ARM (32bit) 15.0で動いているデータベースの移転も目途が立ちました.

今後の予定も順番立てて考えられるようになりました.

当面の予定は以下の通りです.

  1. Apache2 httpdとPHPの新規インストール
  2. phpMyAdminのインストール
  3. phpLDAPadminのインストール
  4. PerlのMariaDB, LDAPクライアント移転
  5. LDAPのデータ移転
  6. sendmailのインストール
  7. WordPressの新規インストール
  8. 〃データ移転
  9. メール関係のポートとhttpdの外部公開(Slackware ARMから切り替え)

この辺まで行けばゴールが見えてきます.残りは,

  • 防犯・監視カメラのデータ受信(samba)
  • ローカルメールのhtml化の仕組み
  • dovecotのデータの完全移転
  • Time Machine用HDDの引き継ぎ

くらいでしょうか.

Slackware MariaDB 10.5.23からRaspberry Pi OSのMariaDB 11.8.3.

Raspberry Pi5をサーバーに仕立てる (4) MariaDB

MariaDBはずっと動かしてきたのですが,コマンドラインで設定するのはずいぶん久しぶりで,あのヘンな😓 構文と格闘しています.

たいていのことはネット検索で解決できますが,新しく作ったユーザーを仮にtaroとしますが,そのtaroにGrant_privを含めた全ての権限を設定するのがなかなかできずに,ChatGPTに聞きました.

MariaDBのクライアントmysql -p等で,rootアカウントでログインして,

use mysql
create user 'taro'@'localhost' identified by 'パスワード';
grant all privileges on *.* to 'taro'@'localhost' with grant option;

とします.この最後の “with grant option” がポイントでした.

Raspberry Pi5をサーバーに仕立てる (3) Static IPはnmtui

LAN内で,static IPにする方法は大きく分けて2つあります.PCの側の設定はいじらずにDHCPを提供しているサーバーの設定をして,特定のMACアドレスにはいつも決まったIPアドレスを割り振るか,PCの側でstatic IPの設定をするのどちらかです.

DHCPサーバーはプロバイダーのお仕着せルーターに組み込まれたものを使っています.その仕様で固定IPはDHCPに割り当てるプールの中からしか選べないのです.以前使用していたルーターは,DHCPのプール外から選ぶ仕様で,そちらの方がstatic IPのサーバーとその他のクライアントを明確に分けられて判りやすいです.

そこで,今回はPC側というかRaspberry Pi (RPi)側で設定することにしました.

RPi OSは基本的にはDebianなので情報はいくらでもあります.しかしそれが災いすることもあります.今回がまさにそれで,

Raspberry Pi OS static IP

や,

Debian static IP

で検索すると,/etc/network/interfacesを編集するか,/etc/systemd/network/10-eth0.networkを作成して編集しろと出ます.筆者自身の認識としてもかつてそうしてきたのでそうだろうと,見つけた情報や自分がかつて設定した仮想マシンの設定を参考に設定ファイルを編集するのですが,いっこうに/dev/eth0に思ったようにstaticなIP addressが設定できません.

さらに,調べてみると,正解はnmtuiというコマンドで設定するようです.

nmtuiを使えば,特に苦労はありませんでした.

どうもネットの設定はその都度苦労しても,その後はその設定のまま何年も使うので,最初の苦労は忘れてしまいます.