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をサーバーに仕立てる (1)

そういう訳で,Raspberry Pi5 (RPi5)をサーバーに仕立て,WordPressを立ち上げて現在の内容を全部か一部コピーする,ということにしました.

Rapspberry Pi 5を購入したのはもう2年前になります.以来評価ということで,SDカードベースや,SSDベースでいくつかのOSを動かしてきました.一番最近の状態は,

  1. Raspberry Pi OS (RPi OS) + PIXEL (デフォルトのGUI)
  2. RPi OS + KDE
  3. Slackware-current (aarch64) + KDE
  4. Manjaro ARM64 + KDE

で,全てaarch64(ARM64)版です.結局UbuntuのデフォルトのGUIのようなのは使いたくない😓 ので,KDEに落ち着きました.Slackwareについては正式リリースでないので高い評価はつかなくても仕方ないと思いますが,まあ,いかにもSlackwareだなという感じでした.

安定性と日本語WSとして使えそうという点では4のManjaro ARM64が一番です.

2のRPi OS + KDEはほとんどDebian (+KDE)で悪くはないです.KVM/QEMU環境も簡単に実現できるので,そこでDebian ARMやDebian x86_64を動かしていました.実験的にいろいろやるには一番いいと思います.

総合的には,Raspberry Pi 4 Model B (RPi4)よりは体感速度は明らかに上ですが,日本語WSとして使用する上で十分なスピードや安定性とは言えないと思います.

これまで,RPi4で構築・運営してきたサーバーは,遅くてどうしようもないということはありませんでしたから,それをRPi5に置き換えることで当分の間は十分使えると思います.

Raspberry Pi財団のオリジナルケースに入ったRaspberry Pi 5 (RAM 8GB)

RPi5にはPironman 5を用意してからと考えていましたが,RPi財団のオリジナルケースのままで行きます.SSDもNVMeにしたかったですが,それは先の楽しみにして当分は現有のUSB接続のSSDで行きます.つまり,今の段階での投資はなしです.

これまで512GBのSSDにパーティションを切って3OSの評価に使ってきましたが,全部消して,RPi OSをインストールし直します.KVM/QEMUの仮想マシンを消すのは少し残念ではありますが.

SDカードで動かした1だけ例外でした.
ただしDebian x86_64のエミュレーション動作は全く実用的な速度ではありませんでした.