当サーバーのハードウェアは,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です1configure時にunrecognized 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の使用も潮時かなぁと思っていましたが,これで,またしばらく続けて使うことにします.
注意: 上記のconfigureオプションを使用して7.4.33をbuildしても正常に動作しません.2026年1月1日(木)
参考にしたサイト
その後(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系列の最終1Raspberry Pi用としての「最終」.の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なのかもしれません.動きゃいいのでこれ以上調べませんが^^;