1度サーバーをガチャンと切り替えてみます (2) 準備に手間取ってます

4月8日頃にガチャンと切り替える予定

2022年4月6日(水)の午前中に,ガチャンと切り替えようかと思いましたが,肝心なBIND (named)の設定がまだと気がつき,着手しましたが,難航しています.

もともとBINDのことはあんまり理解してないまま使ってきてました.解ってないのにいろいろ過去の複雑な事情が設定に盛りこまれています.

BINDもセキュリティーの事情からバージョンが上がる度にそういう曖昧さが許されなくなってきているようで,Slackware 14.xで動いていた設定をそのままコピーしても,エラーが出て動いてくれませんでした.

ということで,1, 2日かけて,BINDの設定をチューニングしてから,いよいよガチャンと切り替えます.

追記: とりあえずBIND動きました

BIND (named)の設定のエラーは,メッセージを見ながら,理解していないなりに😓 直して,エラーが出なくなりました.

しかし,システムを起動しても,namedもntpdも動いていない.前のシステムの起動手順などを見てみても,特に変わらないのですが.

なんとなく勘で,システムの時間が設定されていないとnamedが動かず,namedが動いていないから,ntpdがサーバーのipアドレスを取得できなくて動かないのではないか,と当たりを付けました.

一番の問題は,Raspberry Pi Model Bシリーズが,バッテリーにより駆動されるhardware clockを持っていないことです.起動時に何もしないと,1970年1月1日から始まってしまいます.

もともとの起動順は,rc.Mから呼ばれたrc.inet2によって,rc.bindがスタートして,そのあと,rc.Mの少し後でrc.ntpdが起動されます.これでしばらくするとclockが同期しますが,少し時間がかかるので,ntpd起動の前に,

/usr/sbin/ntpdate 0.pool.ntp.org

を実行するように,rc.ntpdに追加してあります.

SlackwareARM 14.xではこれで問題ありませんでした.つまり,システムの時間が1970年1月1日でもnamedは起動して,その後に起動するntpdのサーバー名を解決してくれます.しかし,SlackwareARM 15.0付属のBIND 9.16.xでは,システムの時間がめちゃくちゃだと,namedが居座らずに異常終了してしまいます.

そして,ntpdが時間サーバーのipアドレスを解決できずにやはり異常終了してしまう.

「ニワトリが先かたまごが先か」問題です.

仕方がないので,0.pool.ntp.orgでたまたま表示される1つのipアドレス(仮にnn.nn.nn.nn)を使い,rc.Mの中のrc.inet2起動の前に,

/usr/sbin/ntpdate  nn.nn.nn.nn

を書いて,解決しました.poolなのに,固定的に使うのは趣旨に反すると思いますが,起動時の一回だけだから勘弁しもらいましょう.

動けばいいのだ™
ntpdate実行時も.

LDAPの移転で難儀する

LDAPは,データベースの内部ファイルをバイナリーコピーしても新しいマシンでうまく動かなかった記憶があるので,旧いマシンから正攻法でテキストダンプ(ldif型式)して,新しいマシン側でimportします.

長いこと,phpLDAPadminを便利に利用さてもらってきました.このldifエクスポートは完璧に使えます.しかし,phpLDAPadiminも,もう7年くらい前でメンテが終わってしまっているようで,バージョンアップの度にAPIに少なからぬ変更のあるphpのサポートされている一番古いバージョンでも全くもって動かなくなってしまいました.

そこで,ネット検索すると,Apache Directory Studioなるソフトがあり,macOS版もあると言うことで,喜んでダウンロードしました.

しかし,Big Sur(macOS 11.x)以降では動かないようです😓

ldap browserという大昔のソフトは動くのですが,ldifのエクスポートでエンコーディングされた長い行は改行が入ってしまい,インポートできないのです.

さて困ったと思ったら,仮想マシンのWindows 10があるのでした.Apache Directory StudioのWindows版を試してみます.

WindowsもNG

なんだかよく解らないけれど,Windows版も長ったらしいエラーを出して動きませんでした.

ldapsearch

ふつうに,ldapsearchを使うことにします.長いコメント行が改行される不具合はありますが,-Lオプションでコメントの出力を止められることが解りました.

Slackware 15.0でsendmailを使う

既報の通り,Slackware (64, ARM) 15.0では,mail transfer agent (MTA)がpostfixに変更されていました.Slackware 14.xからのupgradeの場合,sendmailからpostfixに乗り換えるなんてことは設定がそのまま使えないのでめんどうです.特にサーバー用途の場合は,蓄積されたいろいろな設定があるので.

Postfixには,sendmailという名前のバイナリーが入っていて,これが混乱の原因でした.rc.postfixを実行できないようにするだけではダメです.そこで,

removepkg postfix

で,根こそぎ消しました.そして,extraに入っているsendmailとsendmail-cfをinstallpkgなどでインストールします.これで,rc.sendmailを実行可能にすれば,Slackware 14.xのメール環境コンパチに戻ります.

知らんけど😓

1度サーバーをガチャンと切り替えてみます

LAN内で,新しいサーバーの準備をしています.デフォルトのmail transfer agent (MTA)がsendmailからPostfixに変わったとか,httpdはたぶん動くだろうとか解りましたが,実際に外からアクセスできるようにしてみないと,動くかどうか解りません.

2022年4月6日(水)の午前中に切り替えを予定しています.あんまりひどかったら元に戻します.

以後しばらくは当サイトの運用が不安定になるかもしれませんので,ご承知ください.

安定しましたら,またお知らせします.

Slackware 15.0 はPostfix

いや〜,びっくりです.Slacware 15.0 (64もARMも)では,mail transfer agent (MTA)は,sendmailでなく,postfixになってました.

そういう流れならば,先々postfixに移行することを考えます.しかし,バイナリーコンパチのMySQLから,MariaDBへの移転とは訳が違ってきますので,今回の14.2から15.0へのupgradeでは,トラブルの要因を減らすため,sendmailを使うことにします.

移行後,落ち着いたらpostfixへの切り替えを考えます.