当サーバーのハードウェアは,Raspberry Pi 4 Model Bに切り替わりました.
Category: Linux
PHP 7
Slackwareは,3年前にリリースされた14.2が最新版で,セキュリティーパッチがときどきリリースされています.しかし,PHPは,outdatedとなってしまった,5.6.xにとどまったまま,7.xに移行する気配はなく,このWordPress他いくつかのサービスを,サポートの切れたPHPで動かし,セキュリティ上の危険にさらすことになってしまいました.
そこで,久しぶりに自力でパッケージのbuildをしてみました.PHPのbuildは,x86やAMD64ではずっとやってきていたのですが,最近はそういうめんどうな^^; ことは避けていました.
最初,AMD64時代PHP 5.6.xのbuildに自分で使っていたconfigure optionsを使いましたが,うまくいきませんでした.mysqlのサポートが変わったのが原因のようですが,いくつかオプションを追加しても解決しませんでした.
そこで,ネット検索しました.ネット検索すると,一番ヒットする情報は,PHP 5時代の役に立たないどころか有害となる情報です.
しかし,CentOS用のoptionを見つけ出し,そこからSlackwareには含まれていないrecordを外したらうまくいきました.
以下が,Slackware ARM 14.2で,PHP 7.3.10-devのbuildがうまくいき,WordPressの動作に成功したconfigure optionsです.
CFLAGS="-O2" ./configure \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-curl \ --with-iconv \ --with-gmp \ --with-pspell \ --with-gd \ --with-jpeg-dir=/usr/lib \ --with-png-dir=/usr/lib \ --with-zlib-dir=/usr \ --with-xpm-dir=/usr \ --with-freetype-dir=/usr \ --enable-gd-jis-conv \ --with-openssl \ --with-ldap \ --with-pdo-mysql=/usr \ --with-gettext=/usr \ --with-zlib=/usr \ --with-bz2=/usr \ --with-mysqli=/usr/bin/mysql_config \ --with-apxs2=/usr/bin/apxs \ --build=arm-slackware-linux
そろそろSlackwareの使用も潮時かなぁと思っていましたが,これで,またしばらく続けて使うことにします.
参考にしたサイト
その後(2019/09/01)
その後もごにょごょいじって,git repositoryのはやめて,PHP 7.3.9を使用しています.PHPを利用しているパッケージは,
- WordPress
- PukiWiki
- phpMyAdmin
- phpLdapAdmin
です.WordPress以外は非公開で,自分専用です.phpMyAdminとphpLdapAdminは,新しいージョンがPHP7と不具合があったので,updateを止めていましたが,今回それらも最新安定版にできました.
3日分のメール消失
このBLOGを読んでくださる方にはたぶん関係なく,ほぼ,自分宛の記録です.
昨日(2019年6月4日)の夜,受信したメールを整理していたら,かなりのディレクトリー内に保存したメールが読めなくなりました.
今朝,imapデーモンの入り口になっているinetdを再起動して,imapのクライアントである,ThunderbirdとApple Mailで再度確認したところ,読めないディレクトリーはむしろ増えているようです.
何らかの原因で,imapのデータが壊れたようです.何年かに1度あります^^;
最新の保存である4日朝9時のものに復元してみました.しかし,状況は改善しなかったので,その前の1日のものに復元しました.なぜ,2日,3日にバックアップをとらなかったか悔やまれますが,職場で,同様にトラブったとき,最新のバックアップが1か月も前だったことがあったので,それよりははるかにましです^^;
今のところ,問題はないようですが,1日6時(JST)以後に,imapのメールボックスに保存(整理)したメールは完全に消失しました.
たぶん,無線クラブのメンバーの方とのやりとりと,2, 3の通販ショップからの受付・出荷メールが消失分に該当すると思います.
ほぼ回復
最近のやりとりはほとんど,GMailなので,上記の復元の後,GMailのゴミ箱からこの3日間分のメール(処理済みなのでGMail上では捨ててました)を探し出して,たぶん,ほとんど回復できたのではないかと思います.
Slackware ARM: ntpパッケージupdate時の注意
自分宛の注意事項です.
Raspberry Piは,バッテリーで駆動される時計を持っていませんから,起動時は1970年1月1日になってしまいます.
Slackware ARMは他のdistroと違って,起動スクリプトにこれをなんとかする仕組みがないので,ntpdが同期して最初に内蔵時計を更新するまで,1970年1月1日のままで,いろいろ不都合が起きます.
そこで,rc.ntpdのstart()内に,ntpdateを使ってとりあえずどこかの時間サーバーから時刻をもらってくるコマンドを書き加えています.
しかし,ntpのパッケージをupdateすると,オリジナルのntpdateコマンドの入ってないスクリプトに上書きされて,この機能が失われてしまいます.
ということで,リブートしたとき1970年1月1日になるようだったら,rc.ntpd-has-ntpdateとして保存しているスクリプトをrc.ntpdに上書きコピーすること(念のため当該スクリプトが更新されていないかも確認する).
Kernel 4.19.36ではext4(SLAB?)関係のバグ改善か(Raspberry Pi)
以前,Raspberry PiのKernelが4.14系列から4.19系列になったときupdateしたら,rsyncを使う自作バックアップスクリプトを実行すると,rsync実行中にシステムが無応答になったので,しばらくKernelを4.14系列の最終の4.14.98-v7+にとどめていました(「Kernel 4.19.xはRasPiにNGか」).
昨日,久しぶりに,4.19へのupgradeを敢行してみました(4.19.36-v7+)ところ,1度目のバックアップスクリプト実行は,トラブルなく終わりました.
まだ,1度だけですが,以前は1度で確実にトラブりましたので,改善された可能性が高いです.しばらくこのまま様子を見ます.
追記
よく理解しているわけではありませんが,rsyncによるバックアップ中slabtopで観察していると,4.19.23, 25のときは,ext4_inode_cacheのcache sizeは増える一方で制御が効いていないようでしたが,4.19.36では,増えたり減ったりしています(「アンダーコントロール」の状況^^; ).
SLAB関係のbugというよりは,ext4関係のbugなのかもしれません.動きゃいいのでこれ以上調べませんが^^;