大体は前回終わらせたので、データの移行をする。
基本はwebとmailのデータです。
“Server環境の再構築(別マシーンへ移行編)その2” の続きを読む
PHP8へのupgrade失敗
serverのportsをupgrade
長いことWordPressのダッシュボードに
PHP とは何ですか ? サイトにどう影響しますか ?
PHP は、WordPress の構築に使用されるプログラミング言語の1つです。PHP の新しいバージョンは、定期的にセキュリティ更新を受け取り、サイトのパフォーマンスを向上する可能性があります。 PHP の推奨バージョンは 8.3 以上です。
と出ていた。
なので最新のphp8.4に入れ替えることにした。
序でにMacPortsのselfupdateとupgrade outdatedをしたら、WordPressが動かなくなった。
理由は簡単MySQL8がコンパイルに失敗し、mysqliが動かなくなってしまったから……
(中身はMariaDBなんだけどな、使っている側は関係ないよな)
コンパイルエラーのメッセージはこうだった。
|
1 2 3 4 5 6 7 8 9 10 |
/opt/local/libexec/llvm-17/bin/../include/c++/v1/ctime:82:1: note: using declaration annotated with 'using_if_exists' here 82 | using ::timespec_get _LIBCPP_USING_IF_EXISTS; | ^ /opt/local/var/macports/build/mysql8-2312cd8d/work/mysql-8.4.6/storage/ndb/src/common/portlib/NdbTimestamp.cpp:171:34: error: use of undeclared identifier 'TIME_UTC' 171 | require(std::timespec_get(&ts, TIME_UTC) == TIME_UTC); | ^ /opt/local/var/macports/build/mysql8-2312cd8d/work/mysql-8.4.6/storage/ndb/src/common/portlib/NdbTimestamp.cpp:171:47: error: use of undeclared identifier 'TIME_UTC' 171 | require(std::timespec_get(&ts, TIME_UTC) == TIME_UTC); | ^ 3 errors generated. |
TIME_UTCが定義されていないと言う。
TIME_UTCってなんだ?と調べたら、C11以降に実装されたらしく(意味解っていない)、一部のプラットフォームで定義されているらしい。
因みにMacOSでは定義されていないそうだ。(どうすんだよコレ)
該当箇所は
/opt/local/var/macports/build/mysql8-2312cd8d/work/mysql-8.4.6/storage/ndb/src/common/portlib/
だったので、其処のCMakeLists.txtに
SET(TIME_UTC 1)
を一行追加したりする。
って言うか、もう/opt/local/var/macports/build/mysql8-2312cd8d/work/build/
まで行って、makeしているんですがね……
できませんねぇ。(まぁ、理解しない儘書き込んだだけですからねぇ)
githubから古いのをインストールする方法が『39 MacPorts で古い port をインストールする』に書いてありました。
やってみましょう。
/opt/local/var/macports/build/内にmysql81ディレクトリを作りその中での作業にしました。(場所はvarなら良いかなと)
ここに書かれていた「git clone –single-branch https://github.com/macports/macports-ports.git」が無茶でかいファイルを落とします。結構な時間が掛かります。
次に出来上がったmacports-portsに入りmysql81を入れることにします。(理由は特にない)
sudo git checkout 2d10ee81d776b71e12c114f7cfb54263667e5765
checkoutの後ろの文字列は
https://github.com/macports/macports-ports/commits/master/databases/mysql8
ここで探した最新(version 8.4.1)以外の一番新しいもの『mysql8, mysql81: migrate to OpenSSL 3』と言うのがたまたま見つかったから。
其処のURLの最終部分です。
それから、database/mysql81へと移動。
sudo port install
したら出来上がり?
ダメでしたあぁ。
|
1 2 3 4 |
---> Computing dependencies for mysql81 The following dependencies will be installed: clang-16 +analyzer llvm-16 |
とllvm-16が必要。でもinstallできない。
port select llvm
すると
|
1 2 3 4 5 6 7 8 9 10 |
Available versions for llvm: mp-llvm-10 mp-llvm-11 mp-llvm-15 mp-llvm-16 mp-llvm-17 (active) mp-llvm-19 mp-llvm-19.mp_1738546778 mp-llvm-9.0 none |
と出てきたので、
sudo port seelect llvm mp-llvm-16
で解決。
次に
port select clang
すると
|
1 2 3 4 5 6 |
Available versions for clang: mp-clang-11 mp-clang-17 mp-clang-19 (active) mp-clang-9.0 none |
clang-16はなかったので、インストールすることに。
そうしたら、またllvm-16をインストールしようとしてコケる。
なんでや?
結局、TimeMachineから/opt/local以下を復元することにした。
取り敢えずmysqliは動くようになった。
しかし、PHPは古くなっちゃってインストールのし直しだ(涙)
php8は無事に動くようになった?
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
port list outdated Warning: The 'list' action only shows the currently available version of each port. To see installed versions, use the 'installed' action. apr @1.7.5 devel/apr clang-17 @17.0.6 lang/llvm-17 libomp @21.1.1 lang/libomp libunistring @1.4 textproc/libunistring llvm-17 @17.0.6 lang/llvm-17 llvm-19 @19.1.7 lang/llvm-19 mesa @25.2.3 x11/mesa meson @1.9.1 devel/meson mysql8 @8.4.6 databases/mysql8 p5.34-authen-sasl @2.190.0 perl/p5-authen-sasl p5.34-dbd-mysql @5.13.0 perl/p5-dbd-mysql p5.34-file-temp @0.231.200 perl/p5-file-temp p5.34-json-xs @4.40.0 perl/p5-json-xs p5.34-libwww-perl @6.800.0 perl/p5-libwww-perl p5.34-mail-spamassassin @4.0.2 perl/p5-mail-spamassassin p5.34-mce @1.902.0 perl/p5-mce p5.34-net-dns @1.530.0 perl/p5-net-dns p5.34-net-http @6.240.0 perl/p5-net-http p5.34-net-patricia @1.230.0 perl/p5-net-patricia p5.34-perl-tidy @20250912 perl/p5-perl-tidy p5.34-pod-simple @3.470.0 perl/p5-pod-simple p5.34-ppix-regexp @0.90.0 perl/p5-ppix-regexp p5.34-scalar-list-utils @1.700.0 perl/p5-scalar-list-utils p5.34-term-table @0.25.0 perl/p5-term-table p5.34-test-simple @1.302.214 perl/p5-test-simple p5.34-uri @5.340.0 perl/p5-uri py312-libxml2 @2.13.9 python/py-libxml2 py312-meson @1.9.1 python/py-meson py312-pygments @2.19.2 python/py-pygments py312-setuptools @80.9.0 python/py-setuptools py313-libxml2 @2.13.9 python/py-libxml2 py313-lxml @6.0.2 python/py-lxml py313-meson @1.9.1 python/py-meson xorg-libX11 @1.8.12 x11/xorg-libX11 xorg-libXfixes @6.0.2 x11/xorg-libXfixes |
上記をport upgrade outdatedするとmysql8のインストールでエラーが出て、5.7に戻せなくなる。(この為、何度となくTimeMachineにお世話になった)
最終的に残ったのは、
|
1 2 3 4 5 6 7 |
port list outdated Warning: The 'list' action only shows the currently available version of each port. To see installed versions, use the 'installed' action. clang-17 @17.0.6 lang/llvm-17 mysql8 @8.4.6 databases/mysql8 p5.34-authen-sasl @2.190.0 perl/p5-authen-sasl p5.34-dbd-mysql @5.13.0 perl/p5-dbd-mysql p5.34-mail-spamassassin @4.0.2 perl/p5-mail-spamassa |
となった。
clang-17はerrorを吐いて終わる。
p5.34-authen-saslは“p5.34-crypt-urandom: Image error”で終わる。
他も似た様なもの……仕方がないので放っておく。
う〜ん、phpのversionが上げられない。(涙)
mail serverの移行(その51)Postfix、Dovecotの再構築
あれから色々ありました。
もうね、何を遣っていたか覚えていません……
取り敢えず、Gmailに送信できたみたいなので、此処迄の設定の覚え書きです。
“mail serverの移行(その51)Postfix、Dovecotの再構築” の続きを読む
SSLサーバー証明書の更新
期限が来たのでFUJISSLってところで更新しました。
で、早速嵌るわけです。
“SSLサーバー証明書の更新” の続きを読む
MacPortsの過去の残骸が
sudo port upgrade installedってやっていたら、細かいバージョンの古いバイナリが残りっ放しになっていた。
おぅ、全く使わないので単なるディスクの肥やしだわ。
って事で調べた。
“MacPortsの過去の残骸が” の続きを読む
サーバー証明書が期限切れしていた
複数年の契約方法が判らなくて、1年で契約していたのだけれど、期限が切れていた。
“サーバー証明書が期限切れしていた” の続きを読む
Portsの整理
MacPortsの整理の仕方を知った。
早速やってみた。
“Portsの整理” の続きを読む
さくらインターネットからのSPAMと海外のSPAM
表題どおり、さくらインターネットからのSPAMが度々やってくる。
対応として、その都度postfixのreject tableに書き込んでいる。
そのうち、さくらインターネット自体を排除したくなるかも知れない。
“さくらインターネットからのSPAMと海外のSPAM” の続きを読む
Kea DHCPを入れてみた(その3)
以前、Kea DHCPを入れてみた(その2)から先、何もしていなかったら、当然の如く、Kea DHCPは動いていなかった。
“Kea DHCPを入れてみた(その3)” の続きを読む
VirtualBoxが動かなくなった
macOS Montereyに上げてみた。
VirtualBoxが動かなくなった。(と言うかVirtual Machineがコケる)
中に作業中のファイルがある。サーバーに戻すのを忘れていたのだ。……どうしよう。
“VirtualBoxが動かなくなった” の続きを読む

