FreeBSD11: OSを11.3→11.4、phpを7.2系→7.4系に上げる

WordPressを動かすために使っているphpですが、とうとう FreeBSD11のports から消されてしまいました。

php7.2にこだわる理由はないのですが、サーバーを更新した時が7.2系で、特に不具合など感じることもなく運用出来ていて、言語のバージョンアップを行うとトラブルが発生しやすいのでそのまま7.2系を使い続けてきました。

しかし、とうとう ports から消されてしまいましたので、バージョンアップせざるを得ません。
phpの場合はphp-ftp, php-openssl などモジュールに分かれていて、必要とするモジュールだけインストールすることになりますが、7.2系に存在しているモジュールが7.4系に存在しなくなっていたり、自動で7.2系→7.4系に上げてくれるコマンドも準備されていません。

php72-7.2.34                       ?   orphaned: lang/php72
php72-ctype-7.2.34                 ?   orphaned: textproc/php72-ctype
php72-curl-7.2.34                  ?   orphaned: ftp/php72-curl
php72-filter-7.2.34                ?   orphaned: security/php72-filter
php72-ftp-7.2.34                   ?   orphaned: ftp/php72-ftp
php72-gd-7.2.34                    ?   orphaned: graphics/php72-gd
php72-hash-7.2.34                  ?   orphaned: security/php72-hash
php72-json-7.2.34                  ?   orphaned: devel/php72-json
php72-mbstring-7.2.34              ?   orphaned: converters/php72-mbstring
php72-mysqli-7.2.34                ?   orphaned: databases/php72-mysqli
php72-tokenizer-7.2.34             ?   orphaned: devel/php72-tokenizer
php72-xml-7.2.34                   ?   orphaned: textproc/php72-xml
php72-zip-7.2.34                   ?   orphaned: archivers/php72-zip
php72-zlib-7.2.34                  ?   orphaned: archivers/php72-zlib

実は、OSもFreeBSD11.3のまま運用していて、これもいつの間にかサポートサイクル切れになっています。(運用には実害はありません。)
この際ですので、OSもFreeBSD11.3から 11.4 へ更新して、そのあとでphpを7.2→7.4に上げることにしました。
過去、このパターンのOS,PHP更新は更新作業中にいろいろトラブルが発生していたのですが、今回は、特段トラブルもなく、単なる作業メモとなります。

FreeBSD11.3を11.4に上げる

  1. 過去に何度も行っている作業で、しかもマイナーバージョンアップであるため、特にバックアップも行わず直接作業を行いました。
    # freebsd-update -r 11.4-RELEASE upgrade
    この後、質問に、yes yesと答えて、必要に応じて設定ファイルなどを編集すれば良いだけ。
  2. 更新されるファイルが一覧されて、その後、
    # freebsd-update install
    # shutdown -r
  3. 再起動後、もう一度、
    # freebsd-update install
    でOSバージョンアップ完了。

PHPを7.2系から7.4系に上げる

OSが上がったので、次は PHPの更新。

  1. php7.2系を一括で消す
    # pkg delete php72\*
  2. mod_phpを消す
    # pkg delete mod_php72

消すのはこんな感じ。入れるのは、pkgコマンド任せ。

一個一個パッケージ名を比較しながらインストールするのが面倒なので、ports に含まれている wordpress を入れることにしました。

# pkg install wordpress

結果は次の通り。

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 26 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	ImageMagick6-nox11: 6.9.11.6,1
	fribidi: 1.0.10
	graphite2: 1.3.14
	gsfonts: 8.11_8
	harfbuzz: 2.7.2_1
	lcms2: 2.11_1
	liblqr-1: 0.4.2
	libraqm: 0.6.0
	libraw: 0.19.5
	libwmf-nox11: 0.2.8.4_15
	openjpeg: 2.3.1
	pcre2: 10.35
	php74: 7.4.13
	php74-curl: 7.4.13
	php74-exif: 7.4.13
	php74-fileinfo: 7.4.13
	php74-ftp: 7.4.13
	php74-gd: 7.4.13
	php74-json: 7.4.13
	php74-mysqli: 7.4.13
	php74-pecl-imagick: 3.4.4
	php74-tokenizer: 7.4.13
	php74-xml: 7.4.13
	php74-zip: 7.4.13
	php74-zlib: 7.4.13
	wordpress: 5.5.3,1

ただし、mod_php は自動で入らないみたいなので、mod_phpだけは個別にインストール。

# pkg install mod_php74

最後に、不要な wordpress を削除。

# pkg delete wordpress

以上で、wordpress本体に必要なパッケージが入りました。wordpress本体は必要としなくてもプラグインが必要とするパッケージもあるので、7.2系ではインストールされていて、7.4系で自動的に入らなかった、php74-dom、php74-iconv などを比較しながら入れておきました。

最後に自分のサイトにアクセスして、サイドバーやダッシュボードが問題無く動作することを確認。

以上で、今回の更新作業は終了しました。
こんなに順調な更新作業は珍しい。あとで落とし穴が見つかるのかな〜。

コメントを残す