Tableのインポート完了

海外サイトで見つけたティーテーブルが素敵だから個人輸入しました.という話ではありません.WordPressの移植のための確認・作業をその後も進めている話です.

既にメインサイトのほうでは,投稿したページの本文,写真の移転に成功しています.ページ数が高々百数十なので,手で直すような作業もそれほど非現実的ではありません.

この作業で最大の問題は,WordPressの「インストール時のホスト名に執着する」特性です.既にホスト名は新サーバーに譲り,ローカルな名前を付けていると管理画面にログインすることさえできません.

そこで講じた策は,LANケーブルを外して孤立させて,ホスト名を昔の名前にすることです.具体的には/etc/HOSTNAME1/etc/hostsを編集します./etc/hostsについては,127.0.0.1::1の定義を古い名前に戻すだけです.このへんSlackwareはNetworkManager等が上書きしたりしないので楽です.

そして,GUIを立ち上げてWebブラウザーFalkonを立ち上げて作業します.これでメインサイトとBLOGの投稿記事やコメントをexportすることができました.

しかし写真はついてきません.写真についてはWordPressのディレクトリー内のwp-contents/uploads/にありますので,tarして持ち出してから新サイトで展開しました.この方法だとWordPressのライブラリーには表示されない2 のですが,古い記事内にはちゃんと表示されます.

これでだいたい終わったかと思いましたが,TablePressで作った表があります.ところが,管理画面のTablePressでExportタブを押しても,存在するはずの表が表示されません.どうもFalkonではダメなようです.念のためKonquerorで試しましたが,エンジンが同じなので全く同じ症状でした.

そこで作業をやめて考えながら風呂に入ったら思いつきました.旧サーバーであるRaspberry Pi 4 Model B(RPi4)とまともなWebブラウザーが使えるパソコンを直結すれば良いではないかと.

今朝実行しました.昔と違ってパソコン同士の直結にはクロスケーブルもHUBも不要で手持ちのUTPのケーブルで直結すれば良いのです.この作業はMacBook Air M4に前の名ばかりCore i7搭載MacBookで使用していたCableCreation製のドックをつないで行いました.

MacBook Air M4にCableCreationのドックをつなぎ,RPi4から来たLANケーブルを接続

RPi4側の設定は孤立させるときと同じです.

MacBook側の設定はWi-Fiを切り,有線LANポートにはIPアドレスを手動で与える設定にして,RPi4と同じサブネット内の適当なIPアドレスを与えます3.また,/etc/hostsに,

192.168.0.10  古いサーバーのホスト名 古いサーバーのFQDN

のように書き込む必要があります4.無事つながり,MacBookのFirefoxで旧サーバーの管理画面まで入れました.

そしてTablePressのExportを開くと正常に表示されますので全ての表を選んでExportしました.

Exportしたファイルを新しいサイトのWordPressのTablePressでインポートすることにより,文字コードの問題もなく全て読み込むことができました5

現状ですが,メインサイトの移転作業は終了しました.BLOGのほうは記事数が多い(たぶん数千ページ)ので,同様の作業を重要な作業の前にはバックアップをし,慎重に行っていく予定です.

  1. Slackwareではこれが自分のホスト名の定義ファイルです. ↩︎
  2. したがって管理できない. ↩︎
  3. RPi4が192.168.0.10なら,192.168.0.11など. ↩︎
  4. この行は作業が終わったらコメントアウトします. ↩︎
  5. 例えばこのページ↩︎

WordPress移行は難航中

後からいろいろ出てくるだろうというのは,今日早速ありました.GnuPG(GNU Privacy Guard)です.某所のパスワードを解凍しようと,これまでやってきたように,sshでログインしてから,

gpg2  -v  -d

でリターンしても,そもそもGnuPG2がインストールしてませんでした.そこでapt installでインストールしてから,データも旧サーバーのアカウントのものをrsyncで属性も何もかもコピーしたらそのまま動きました.

ただし,リモートのMacからsshでつなぐと,パスワードの要求が出ずにスタックしてしまいます.

いろいろやっているうちに解りましたが,パスワード要求はGUIでパスワード入力のダイアログが立つのです.ローカルのターミナルでやる分には何の問題もないのですが,リモートではGUIのダイアログが出ませんからそこから先に進まないということです.リモートで使う必要性も当然ありますから,GUIでなくCGIのオプションをあとで調べておくことにします.

さて,表題のWordPressの旧サイトからの移転ですが,これがなかなか難航しています.最大の問題は,新サーバーの準備・切り替え作業でも直面した,WordPressのインストール・起動後のホスト名・ドメイン名の変更に対してWordPressが頑ななところです.

GUIが使えない場合のメンテ用ツールとしてWP-CLIというのをGeminiが教えてくれました.やはり,筆者同様GUIが使えず困る人が多いようです.

しかし,そのWP-CLIを少し使って解ったのは,MySQLデータベースが一部壊れていて,WP-CLIではお手上げ状態(どんなコマンドでもエラーが出てしまう)ということです.

MySQLのデータベースは,少なくとも旧サーバーのWordPressが立ち上がった2013年には動いていました.推測ですが2000年代1の少なくとも中盤頃からアマチュア無線の交信データの保存用として使っていたと思います.

最初はx86のマシンで,後にRaspberry Pi 3 Model BからRPi4へと受け継いできました.その間,データベースをバイナリーのままコピーしてきたのが災いしたようです.

一次的に旧サーバーのホスト名・ドメイン名を古いものというか,公開サーバー用のものに置き換えて作業をするしかなさそうです.

この場合新サーバーと同じFQDNとなるわけですから,ネットワークから切り離さなければなりません.そうすると,旧サーバー上でGUIを立ち上げ,Webブラウザーを使わなければならず,レスポンスが非常に悪RPi4での操作となり,忍耐が必要です.

また,まだいくつか旧サーバーがになっているサービスがあるので,それらも新サーバーに移行した後ということになります.ということで,気長で忍耐の要る作業ということになります.

  1. 2001〜2010年. ↩︎

移転作業雑感

サーバーの移転作業も,webサーバーとCMS(WordPress),メール関係(sendmail, procmailなど)の設定が大体うまくいき,後はファイルサーバー関係をぼちぼち修正していけば,9割がたは完了だと思います.

多分運用していった上で,ここが残っていたみたいなことが後で出てくるかもしれませんが,慌てる必要はないと思います.

そうした作業で感じたのは,サーバー自体でFirefoxが使えるのは非常に楽だと言うことです.Macで追加し整理してきたブックマークがシンクロ機能で全部使えますし,履歴も共有できます.

これまで使っていた旧サーバーは,SlackwareARM 15.0 + KDEで動いていたわけですが1,まともなウェブブラウザがないのです2. しかもRaspberry Pi 4よりも5は圧倒的に速くFirefoxで日本語入力をしても,ストレスはほとんど感じません3

SlackwareARMの次のバージョンはaarch64用でFirefoxのサポートもあるようです.ただ今回経験したような主要パッケージの陳腐化4はいつもSlackwareにつきまとう問題で5,今後Slackwareに戻る事はないと思います.30年くらい使ってきたので,ちょっと残念ではあります.

  1. 新サーバーはRaspberry Pi OS aarch64 13.3 Trixie. ↩︎
  2. KDE付属のKonquerorFalkonしかない. ↩︎
  3. 同じaarch64用のRaspberry Pi OSを使用した場合の比較. ↩︎
  4. 今回はPHP8.xへの対応遅れ. ↩︎
  5. 前の14.2では,Python 3.xへの対応遅れが深刻な問題でした. ↩︎

何とか起動

思ったより,でもなく,思ったほど,でもなく,ということは移転作業はだいたいこんなもんという感じでした.

一番難航したのはWordPressです.あらかじめLAN内でローカルなホスト名前を付けてインストールして,本日ホスト名を変更して外部公開したのですが,そういうやり方はそぐわないようです.古いローカルな名前にリダイレクトされてしまい,使い物になりませんでした.

さんざんクリーンインストールはやり直したので,新しいホスト名を付けた上でクリーンインストールし直しました.

せっかく以前インストールしていたプラグインもobsoleteでないものはインストールしましたが,無駄になりました.

その他は,動かなくて手直ししても動かなくて原因が分からない,というありがちなトラブルは起きませんでした.sendmailやBIND9はろくろく解っていないのですが何とかなりました.特にBINDに関してはもともと理解しないで歴代のSlackwareで動かしていた設定を,Raspberry Piに引っ越しして,Debian流に分割して書いて,動きました😓 動けば良いのです.

Apache2(Apache httpd)にしても,Debian流のおかしな設定を強要されますが,それも何とかなりました.

残る課題はまだまだあります.

  • sendmailのメール受信の確認
  • 〃ログ確認スクリプト作成
  • Mhonarcのインストールと動作確認
  • procmailのインストールと設定
  • dynamic DNSのホストサイトの定期的なアクセス
  • FTPサーバーの設定と防犯カメラの映像の受信設定
  • バックアップディスクの接続とバックアップスクリプトの確認

今のところ思いつくのはこのくらいですが,他にもありそうです.

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

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

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

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

これがまたくせ者でした.これまでやってきたSlackwareでの方法は,ワークディレクトリー1Slackwareでは/usr/src/sendmail-cf/cf/cfホスト名_日付-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はまだ起動していません.動作確認にはけっこう手間がかかりそうに思います.