RPi4でのサーバー構築がめんどう

現在,某サーバーはRaspberry Pi 4 Model B (RPi4) 4GB RAMで,Slackware ARM (32bit版)を動かしています.

サービス内容は表向きにはWEB (https)のみで,メール (MTAとIMAPサーバー),AFP, SAMBAなどプライベート用のデーモンがいくつか稼働しています.

RPi4はもう一台持っていて,サーバーのハードウエアが故障した時の予備的な意味もありますが,RPi4がどれだけworkstation (WS)として使い物になるかの評価に使用してきました.

今年のはじめにRaspberry Pi 5 Model B (RPi5)を中国から買って,WSの評価用はこちらを使うようになりました

ということでこれまでWSの評価用に使用していたRPi4が1台浮いて,懸案のサーバーのソフトをRaspberry Pi OS (RPiOS) 64bitに切り替える作業に着手することにしました.ちょうど1TBのSSDも1台浮いています.

それでRPiOSの64bit Lite版(GUIなし)をダウンロードしてマイクロSDカードにコピーして起動し,ひととおり設定してからSDの内容をSSDにコピーしてcmdline.txtと/etc/fstabの内容を書き換えたらブートしました.

早速kde-plasma-desktopのインストールを仕掛けて昼食を摂り戻ってみるとファイルシステム関係のエラーがどっと出てシステムは無応答になっていました.

SSDにUSB経由で供給できる電流が足りずにdisconnectしてしまったと推測されます

これ,5V5Aの電源に繋いでいるRPi5では起こらないです.RPi4にもRPi5用の5V5Aの電源を繋いでいますが,USBへ供給可能な電流は増えないようです.

WorkarroundはUSB-HUBをRPi4とSSDの間に入れることですが,これだけは浮いているのがないんです😅

テストのためにUSB-HUBを買うべきか,いっそもう1台RPi5を買ってしまおうか迷っています.

まだRPi5は技適を取得してなく技適マークがついていませんからWi-FiとBluetoothの使用は控えています😅
これまでも何度かやってます😅

Raspberry Pi OS Bookwormでfcitx5-mozcのかな入力ができない

かな入力って日常的に使っている人はあまり多くないため,日本語入力ソフトにおける検証が十分なされないことが多々あることをこれまでの経験で知っています.

Manjaro AMD64, 同 ARM64, Debian AMD64ではfcitx5-mozcはちゃんとかな入力可能です.

しかし,先日リリースされたRaspberry Pi OS Bookwormにfcitx5-mozcをインストールした状態ではだめです.少なくとも今のところだめです.どうだめかというと,濁点を打とうとすると, “ふ” になってしまいます.「だくてん」と打ったつもりが,「たふくてん」と表示されます.これでは使い物になりません.

実はManjaro ARM64は日本語のかな入力はfcitx5-mozcでちゃんとできるのですが,FirefoxでWordPressの編集などをしているとよく固まります.そんなわけでRaspberry Pi OS Bookwormが使えるんだったら乗り換えようかと考えていただけに,ちょっと残念です.

その後: 濁点は解決したものの長音記号がNG

いろいろ,いじって濁点は解決しましたが,長音記号が出ません.いじっているのは,CUIのシステムのキーマップ,/etc/X11/xorg.conf.d/内の設定,KDEのキー設定など思いついたキーボード設定に関わるところ手当り次第です.

長音記号についてはシフトを押すと出ますが,基本的にタイピングは文章を考えながらやるので,長音記号のときにいちいちシフトを押すことを気にかけていては文章の作成の思考が止まってしまうので,非常に使いづらいとしか言いようがありません.

ちゃんとかな入力ができているManjaro AMD64のKDE Plasma Desktop + fcitx5-mozcの設定を真似ていますが,どうしたものかDebian ARM64 KDE Plasma Desktop + fcitx5-mozcではうまくいきません.

さらに後の注: 解決

/etc/X11/xorg.conf.d/00-keyboardというファイルを以下の中身のテキストファイルとして作ります

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "jp"
    Option "XkbModel" "jp106"
    Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

ただし,Waylandでは/etc/X11/xorg.conf.d/以下を参照しないようなので意味をなしません.

httpsのnssがslabでswapの問題が解決したところでWordPressの対策をしたらメモリー使用量が増えた

そんなわけで,Kernelのupdateをしたらnssがslabでメモリーを大量消費する問題が解決しました.

それとは別に,WordPressのパフォーマンス改善のために,Page cacheRedisを導入したところ,httpdの使用メモリーがかなり増えました.

従前は1スレッドあたり6%弱くらいでしたが,現在は1スレッドあたり8%弱です.1スレッドあたり2ポイントくらい増えてますから,

4096 x 0.02 x 4 ≅ 330MB

ということで,コンベンショナルメモリーを330MB位余計に食うようになりました.

それでも,そのhttpsのnssがslabでメモリーを消費する問題が解決したので,swapを使う事は今のところないです.

「httpsのnssがslabを大量に使う」当サイト内の関連記事

WordPressの問題もう一つ解決

Slackware ARM 15.0 for Raspberry Pi 4 (SARPi4)ですが,Dashboardの “Site Health Status” に表示されていた警告をもう一つ解決できました.

Redisの有効化です.これも材料はSlackBuildsにありますから,sbopkgでインストールできます.インストールしたのは,

  • redis (本体)
  • hiredis (ライブラリー)
  • php-redis (phpのライブラリー)

の3パッケージだったと思います.これらをsbopkg -iなどでインストールして,/etc/rc.d/rc.redisを実行可能になっているか確認したうえで,/etc/rc.d/rc.localの適当な場所に起動のコマンドを書きます.

REDIS=yes
if [ "$REDIS" != "" ]; then
    if [ -x /etc/rc.d/rc.local/rc.redis ]; then
        /etc/rc.d/rc.redis start
    fi
fi
unset REDIS

こんな感じです.システムを再起動するか,

/etc/rc.d/rc.redis start

をしてから,次に進みます.

php-redisをインストールすると,/etc/php.d/redis.iniがインストールされますから,これを編集して,

extension=redis.so

のように,有効化します.

WordPressのプラグインも必要です.いくつかあるようですが,これを使いました.

WordPress 6.1でも使えています.

いろいろ試行錯誤しているので,この2つが必要最小限だったのかどうか,今となっては解りません😓