roundcube環境を再構築

先日の5日、突然、roundcubeにアクセスできなくなりました。
Webサーバーが停止していて、再起動もできなくなりました。
エラーログをみると

PHP Deprecated:  PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line
ld-elf.so.1: /usr/local/lib/php/20200930/mbstring.so: Undefined symbol "php_pcre2_compile"

上記のログが出力されてました。

php-mbstringはPKGでインストールしているので、再インストールを試みましたが、roundcubeも再インストールしなければならないようです。

結局、roundcubeをアンインストールし、関連フォルダも削除、DBもmariaDBからMySQLに変更。

真っ新な状態から環境再構築しました。

インストールしたPKGは以下の通りです。

mysql80-server
mysql80-client
php81
php81-ctype
php81-dom
php81-exif
php81-fileinfo
php81-filter
php81-iconv
php81-intl
php81-mbstring
php81-mysqli
php81-pdo
php81-pdo_mysql
php81-session
php81-xml
php81-zip
roundcube-php81
roundcube-larry-php81
roundcube-contextmenu-php81
roundcube-classic-php81

blogサーバーを引っ越し

自宅ServerのOSのメジャーバージョンがリリースされたようです。
少し様子を見て、アップグレードしなければ・・・
OSをアップグレードするとなると、不具合の出るアプリケーションも少なくないと思います。
PHPやDBエンジンもアップグレードが必要になりそう・・

そこで、一足先にPHPとDBをアップグレードしました。
それに伴い、blogサーバーを引っ越ししました。

なかなか難しい作業でした。

自宅Serverが突然クラッシュ

2013年に中古で購入した『DELL OPTIPLEX 755』で運用していた自宅Serverが、2023年1月13日(金)の19時頃に突然死してしまった。
電源が全くONにならない為修復を諦め、Windows10で利用していた『HP Compaq DC5800 SFF』に『DELL OPTIPLEX 755』のHDDを移し替えて復旧させた。
OSが『FreeBSD』と言う事も有り、何事も無かったかの様に無事に再起動。
設定等の修正は必要なかったが、時刻が9時間も進んだ表示となっていた為、時刻を『DATE』コマンドで修正。
現在は順調に稼働しているので、一安心。
13日の金曜日は怖いですねぇ。(^_^;

『HP Compaq DC5800 SFF』も年代物なので、何時まで持つか心配。

WordPressのDBを変更

WordPressのDBはMySQLを使用していますが、使用しているバージョンが5.6で6月末でサポート終了らしい。
そこで、バージョンを5.7に上げようとしたが移行に失敗。
取り敢えずは、MariaDBで延命しようと思い、MariaDB10.3をインストール。
特に手を加えることなく乗換ができました。
(データ移行作業も不要でした。)

MRTGをUTF-8に対応化

普段使いのブラウザ「Google-Chrome」が「EUC」に対応しなくなったため、トラフィック可視化ツール「MRTG」が文字化けして使いづらい。

そこで、「MRTG」に手を加えて「UTF-8」に対応させた。

修正したしたのは、「/usr/local/bin/mrtg」(MRTG本体)と「mrtg.cfg」の2種類。

「/usr/local/bin/mrtg」は1515行目と1531行目を以下の様に修正。

1515行目
print HTML "<html>\n";
      ↓
print HTML '<html lang="ja">' . "\n";

1531行目
print HTML "\t\t" . '<meta http-equiv="content-type" content="text/html; charset='.&$LOC('iso-8859-1') . "\" />\n";
      ↓
print HTML "\t\t" . '<meta http-equiv="content-type" content="text/html; charset='.&$LOC('utf-8') . "\" />\n";

「mrtg.cfg」は「Language: eucjp」を「Language: utf8」に修正。

他の「*.cfg」も同様にし、日本語を記述したものはファイルをUTF8化に変更して保存。

最後にMRTGを再起動して無事にUTF8化を完了。

UTF対応化後のMRTGページの一部