RHEL9のwordpress環境でphpのバージョン警告が出た

AlmaLinux 9環境でwordpressを動かしているのだが下記の「PHPの更新を推奨」という警告が表示された。

(Updraftプラグインを入れているので、余計な文面も入っている)

PHPの更新について詳しくと書かれているリンク先「より高速で安全なサイトを手に入れましょう: 今すぐ PHP を更新

RHEL/AlmaLinux/RockyLinux/Oracle Linuxでphp 8.3以降なのはなにかを確認すると、標準状態であればRHEL10からになる。

Red Hat Enterprise Linux 10 動的プログラミング言語のインストールおよび使用第4章 PHP スクリプト言語の使用

RHEL9ではRHEL9.6からmysql 8.4とともにphp 8.3の提供も追加されている。

Red Hat Enterprise Linux 9 9.6 リリースノート3.12. 動的プログラミング言語、Web サーバー、およびデータベースサーバー

RHEL8については、もう新しいリリースはでないので、公式としてphp 8.3がリリースされることはないので3rdパーティーのレポジトリを使う必要がある。

RHEL7時代は、Oracle Linuxの「PHP Packages for Oracle Linux」にてRHELでは配布しない新しめのphpも配布してくれていたのですが、いまのところその様子はない模様


RHEL9系でのphp8.3導入

RHEL9 / AlmaLinux 9環境でphp 8.3を導入できるのは9.6からなので、少なくともそのバージョンへはアップデートを終わらせておく。

そのあと、まずはモジュールとして選択できることを「dnf module list php」を実行して確認する

$ dnf module list php
メタデータの期限切れの最終確認: 0:00:10 前の 2025年07月16日 09時55分14秒 に実施しました。
AlmaLinux 9 - AppStream
Name             Stream             Profiles                              Summary
php              8.1                common [d], devel, minimal            PHP scripting language
php              8.2                common [d], devel, minimal            PHP scripting language
php              8.3                common [d], devel, minimal            PHP scripting language

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
$ php -v
PHP 8.0.30 (cli) (built: May 13 2025 19:33:03) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
$

新規インストールの場合は「dnf install @php:8.3」とバージョンを指定してインストールする

$ sudo dnf install @php:8.3

すでにphpがインストール済みの場合は「dnf module switch-to php:8.3」でバージョンを切り替える(11.5. 後のストリームへの切り替え)

$ sudo dnf module switch-to php:8.3

インストール終了後、バージョンを確認

$ dnf module list php
メタデータの期限切れの最終確認: 0:08:21 前の 2025年07月16日 09時55分14秒 に実施しました。
AlmaLinux 9 - AppStream
Name             Stream             Profiles                              Summary
php              8.1                common [d], devel, minimal            PHP scripting language
php              8.2                common [d], devel, minimal            PHP scripting language
php              8.3 [e]            common [d], devel, minimal            PHP scripting language

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
$

php 8.3の横に[e]というマークがついて、enabledになった、という表示に切り替わっていることが確認できます。

php -vでバージョンを確認すると 8.3.19 であることも確認できました。

$ php -v
PHP 8.3.19 (cli) (built: Mar 12 2025 13:10:27) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.19, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.19, Copyright (c), by Zend Technologies
$


トラブル事例

ちなみに・・・うちの環境ではdnf module switch-to php:8.3は素直に実行されてくれませんでした。

$ sudo dnf module switch-to php:8.3
メタデータの期限切れの最終確認: 2:38:13 前の 2025年07月16日 07時18分53秒 に実施しました。
エラー:
 問題: インストール済パッケージの問題 php-pecl-imagick-3.7.0-1.el9.x86_64
  - package php-pecl-imagick-3.7.0-1.el9.x86_64 from @System requires php(api) = 20200930-64, but none of the providers can be installed
  - package php-pecl-imagick-3.7.0-1.el9.x86_64 from @System requires php(zend-abi) = 20200930-64, but none of the providers can be installed
  - package php-pecl-imagick-3.7.0-1.el9.x86_64 from epel requires php(api) = 20200930-64, but none of the providers can be installed
  - package php-pecl-imagick-3.7.0-1.el9.x86_64 from epel requires php(zend-abi) = 20200930-64, but none of the providers can be installed
  - php-common-8.0.30-3.el9_6.x86_64 from @System  does not belong to a distupgrade repository
  - package php-common-8.0.30-3.el9_6.x86_64 from appstream is filtered out by modular filtering
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
$

理由はepelレポジトリからインストールしたphp-pecl-imagick パッケージ

$ dnf info php-pecl-imagick
メタデータの期限切れの最終確認: 0:02:32 前の 2025年07月16日 09時55分14秒 に実施しました。
インストール済みパッケージ
名前         : php-pecl-imagick
バージョン   : 3.7.0
リリース     : 1.el9
Arch         : x86_64
サイズ       : 554 k
ソース       : php-pecl-imagick-3.7.0-1.el9.src.rpm
リポジトリー : @System
repo から    : epel
概要         : Provides a wrapper to the ImageMagick library
URL          : https://pecl.php.net/package/imagick
ライセンス   : PHP
説明         : Imagick is a native php extension to create and modify images using the
             : ImageMagick API.
$

アンインストールをしてみたところ関係するパッケージが多くてびっくりしました。

$ sudo dnf remove php-pecl-imagick
依存関係が解決しました。
===========================================================================================================
 パッケージ                                Arch     バージョン                          リポジトリー サイズ
===========================================================================================================
削除中:
 php-pecl-imagick                          x86_64   3.7.0-1.el9                         @epel        554 k
未使用の依存関係の削除:
 ImageMagick-libs                          x86_64   6.9.13.25-1.el9                     @epel        8.3 M
 LibRaw                                    x86_64   0.21.1-1.el9                        @appstream   2.4 M
 ModemManager-glib                         x86_64   1.20.2-1.el9                        @baseos      1.5 M
 abattis-cantarell-fonts                   noarch   0.301-4.el9                         @appstream   705 k
 adobe-mappings-cmap                       noarch   20171205-12.el9                     @appstream    13 M
 adobe-mappings-cmap-deprecated            noarch   20171205-12.el9                     @appstream   583 k
 adobe-mappings-pdf                        noarch   20180407-10.el9                     @appstream   4.2 M
 adobe-source-code-pro-fonts               noarch   2.030.1.050-12.el9.1                @baseos      1.8 M
 adwaita-cursor-theme                      noarch   40.1.1-3.el9                        @appstream    12 M
 adwaita-icon-theme                        noarch   40.1.1-3.el9                        @appstream    11 M
 at-spi2-atk                               x86_64   2.38.0-4.el9                        @appstream   272 k
 at-spi2-core                              x86_64   2.40.3-1.el9                        @appstream   516 k
 atk                                       x86_64   2.36.0-5.el9                        @appstream   1.2 M
 avahi-glib                                x86_64   0.8-22.el9_6                        @appstream    19 k
 avahi-libs                                x86_64   0.8-22.el9_6                        @baseos      173 k
 bluez-libs                                x86_64   5.72-4.el9                          @baseos      214 k
 bubblewrap                                x86_64   0.4.1-8.el9_5                       @baseos      101 k
 cairo                                     x86_64   1.17.4-7.el9                        @appstream   1.6 M
 cairo-gobject                             x86_64   1.17.4-7.el9                        @appstream    43 k
 colord-libs                               x86_64   1.4.5-6.el9_6                       @appstream   830 k
 composefs-libs                            x86_64   1.0.8-1.el9                         @appstream   143 k
 cups-libs                                 x86_64   1:2.3.3op2-33.el9                   @baseos      670 k
 dconf                                     x86_64   0.40.0-6.el9                        @appstream   305 k
 dejavu-sans-fonts                         noarch   2.37-18.el9                         @baseos      5.7 M
 exempi                                    x86_64   2.6.0-0.2.20211007gite23c213.el9    @appstream   1.3 M
 exiv2                                     x86_64   0.27.5-2.el9                        @appstream   4.4 M
 exiv2-libs                                x86_64   0.27.5-2.el9                        @appstream   2.7 M
 fdk-aac-free                              x86_64   2.0.0-8.el9                         @appstream   588 k
 flac-libs                                 x86_64   1.3.3-10.el9_2.1                    @appstream   549 k
 flatpak                                   x86_64   1.12.9-4.el9_6                      @appstream   7.7 M
 flatpak-selinux                           noarch   1.12.9-4.el9_6                      @appstream    13 k
 flatpak-session-helper                    x86_64   1.12.9-4.el9_6                      @appstream   210 k
 fontconfig                                x86_64   2.14.0-2.el9_1                      @appstream   818 k
 fonts-filesystem                          noarch   1:2.0.5-7.el9.1                     @baseos        0
 fribidi                                   x86_64   1.0.10-6.el9.2                      @appstream   339 k
 fuse                                      x86_64   2.9.9-17.el9                        @baseos      214 k
 fuse-common                               x86_64   3.10.2-9.el9                        @baseos       38
 gd                                        x86_64   2.3.2-3.el9                         @appstream   412 k
 gdk-pixbuf2                               x86_64   2.42.6-4.el9_4                      @appstream   2.5 M
 gdk-pixbuf2-modules                       x86_64   2.42.6-4.el9_4                      @appstream   265 k
 geoclue2                                  x86_64   2.6.0-8.el9_6.1                     @appstream   359 k
 giflib                                    x86_64   5.2.1-9.el9                         @appstream   106 k
 glib-networking                           x86_64   2.68.3-3.el9                        @baseos      640 k
 google-droid-sans-fonts                   noarch   20200215-11.el9.2                   @appstream   6.3 M
 graphene                                  x86_64   1.10.6-2.el9                        @appstream   167 k
 graphviz                                  x86_64   2.44.0-26.el9                       @appstream    12 M
 gsettings-desktop-schemas                 x86_64   40.0-6.el9                          @baseos      4.5 M
 gsm                                       x86_64   1.0.19-6.el9                        @appstream    64 k
 gstreamer1                                x86_64   1.22.12-3.el9                       @appstream   4.8 M
 gstreamer1-plugins-base                   x86_64   1.22.12-4.el9                       @appstream   7.3 M
 gtk-update-icon-cache                     x86_64   3.24.31-5.el9                       @appstream    66 k
 gtk2                                      x86_64   2.24.33-8.el9                       @appstream    13 M
 gtk3                                      x86_64   3.24.31-5.el9                       @appstream    20 M
 hicolor-icon-theme                        noarch   0.17-13.el9                         @appstream    72 k
 imath                                     x86_64   3.1.2-1.el9                         @appstream   363 k
 iso-codes                                 noarch   4.6.0-3.el9                         @appstream    19 M
 jasper-libs                               x86_64   2.0.28-3.el9                        @appstream   326 k
 jbig2dec-libs                             x86_64   0.19-7.el9                          @appstream   164 k
 jbigkit-libs                              x86_64   2.1-23.el9                          @appstream   114 k
 langpacks-core-font-en                    noarch   3.0-16.el9                          @appstream   351
 lcms2                                     x86_64   2.12-3.el9                          @appstream   399 k
 libICE                                    x86_64   1.0.10-8.el9                        @appstream   171 k
 libSM                                     x86_64   1.2.3-10.el9                        @appstream    93 k
 libX11                                    x86_64   1.7.0-11.el9                        @appstream   1.3 M
 libX11-common                             noarch   1.7.0-11.el9                        @appstream   1.3 M
 libX11-xcb                                x86_64   1.7.0-11.el9                        @appstream    15 k
 libXau                                    x86_64   1.0.9-8.el9                         @appstream    63 k
 libXaw                                    x86_64   1.0.13-19.el9                       @appstream   498 k
 libXcomposite                             x86_64   0.4.5-7.el9                         @appstream    41 k
 libXcursor                                x86_64   1.2.0-7.el9                         @appstream    50 k
 libXdamage                                x86_64   1.1.5-7.el9                         @appstream    36 k
 libXext                                   x86_64   1.3.4-8.el9                         @appstream    93 k
 libXfixes                                 x86_64   5.0.3-16.el9                        @appstream    35 k
 libXft                                    x86_64   2.3.3-8.el9                         @appstream   133 k
 libXi                                     x86_64   1.7.10-8.el9                        @appstream    73 k
 libXinerama                               x86_64   1.1.4-10.el9                        @appstream    19 k
 libXmu                                    x86_64   1.1.3-8.el9                         @appstream   184 k
 libXpm                                    x86_64   3.5.13-10.el9                       @appstream   126 k
 libXrandr                                 x86_64   1.5.2-8.el9                         @appstream    52 k
 libXrender                                x86_64   0.9.10-16.el9                       @appstream    50 k
 libXt                                     x86_64   1.2.0-6.el9                         @appstream   443 k
 libXtst                                   x86_64   1.2.3-16.el9                        @appstream    38 k
 libXv                                     x86_64   1.0.11-16.el9                       @appstream    26 k
 libXxf86vm                                x86_64   1.1.4-18.el9                        @appstream    26 k
 libappstream-glib                         x86_64   0.7.18-5.el9_4                      @appstream   1.4 M
 libasyncns                                x86_64   0.8-22.el9                          @appstream    59 k
 libatomic                                 x86_64   11.5.0-5.el9_5.alma.1               @baseos       29 k
 libcanberra                               x86_64   0.30-27.el9                         @appstream   281 k
 libcanberra-gtk2                          x86_64   0.30-27.el9                         @appstream    54 k
 libcanberra-gtk3                          x86_64   0.30-27.el9                         @appstream    74 k
 libdrm                                    x86_64   2.4.123-2.el9                       @appstream   407 k
 libepoxy                                  x86_64   1.5.5-4.el9                         @appstream   1.2 M
 libexif                                   x86_64   0.6.22-6.el9                        @appstream   2.3 M
 libfontenc                                x86_64   1.1.3-17.el9                        @appstream    63 k
 libgexiv2                                 x86_64   0.12.3-1.el9                        @appstream   225 k
 libglvnd                                  x86_64   1:1.3.4-1.el9                       @appstream   778 k
 libglvnd-egl                              x86_64   1:1.3.4-1.el9                       @appstream    69 k
 libglvnd-glx                              x86_64   1:1.3.4-1.el9                       @appstream   678 k
 libgs                                     x86_64   9.54.0-19.el9_6                     @appstream    19 M
 libgsf                                    x86_64   1.14.47-5.el9                       @appstream   941 k
 libgxps                                   x86_64   0.3.2-3.el9                         @appstream   193 k
 libijs                                    x86_64   0.35-15.el9                         @appstream    66 k
 libiptcdata                               x86_64   1.0.5-10.el9                        @appstream   172 k
 libjpeg-turbo                             x86_64   2.0.90-7.el9                        @appstream   633 k
 libldac                                   x86_64   2.0.2.3-10.el9                      @appstream    79 k
 liblqr-1                                  x86_64   0.4.2-19.el9                        @epel         97 k
 libnotify                                 x86_64   0.7.9-8.el9                         @appstream    99 k
 libogg                                    x86_64   2:1.3.4-6.el9                       @appstream    49 k
 libosinfo                                 x86_64   1.10.0-1.el9                        @appstream   1.2 M
 libpaper                                  x86_64   1.1.28-4.el9                        @appstream    95 k
 libpciaccess                              x86_64   0.16-7.el9                          @baseos       48 k
 libproxy                                  x86_64   0.4.15-35.el9                       @baseos      163 k
 libproxy-webkitgtk4                       x86_64   0.4.15-35.el9                       @appstream    32 k
 libraqm                                   x86_64   0.8.0-1.el9                         @epel         29 k
 librsvg2                                  x86_64   2.50.7-3.el9                        @appstream    10 M
 libsbc                                    x86_64   1.4-9.el9                           @appstream    81 k
 libsndfile                                x86_64   1.0.31-9.el9                        @appstream   521 k
 libsoup                                   x86_64   2.72.0-10.el9_6.2                   @appstream   1.2 M
 libstemmer                                x86_64   0-18.585svn.el9                     @appstream   344 k
 libtheora                                 x86_64   1:1.1.1-31.el9                      @appstream   463 k
 libtiff                                   x86_64   4.4.0-13.el9                        @appstream   573 k
 libtracker-sparql                         x86_64   3.1.2-3.el9_1                       @appstream   1.0 M
 libvorbis                                 x86_64   1:1.3.7-5.el9                       @appstream   903 k
 libwayland-client                         x86_64   1.21.0-1.el9                        @appstream    70 k
 libwayland-cursor                         x86_64   1.21.0-1.el9                        @appstream    37 k
 libwayland-egl                            x86_64   1.21.0-1.el9                        @appstream    16 k
 libwayland-server                         x86_64   1.21.0-1.el9                        @appstream    86 k
 libwebp                                   x86_64   1.2.0-8.el9_3                       @appstream   769 k
 libwmf-lite                               x86_64   0.2.12-10.el9                       @appstream   164 k
 libxcb                                    x86_64   1.13.1-9.el9                        @appstream   1.1 M
 libxkbcommon                              x86_64   1.0.3-4.el9                         @appstream   317 k
 libxshmfence                              x86_64   1.3-10.el9                          @appstream    16 k
 low-memory-monitor                        x86_64   2.1-4.el9                           @appstream    70 k
 mesa-dri-drivers                          x86_64   24.2.8-2.el9_6.alma.1               @appstream    37 M
 mesa-filesystem                           x86_64   24.2.8-2.el9_6.alma.1               @appstream   3.6 k
 mesa-libEGL                               x86_64   24.2.8-2.el9_6.alma.1               @appstream   394 k
 mesa-libGL                                x86_64   24.2.8-2.el9_6.alma.1               @appstream   508 k
 mesa-libgbm                               x86_64   24.2.8-2.el9_6.alma.1               @appstream    64 k
 mesa-libglapi                             x86_64   24.2.8-2.el9_6.alma.1               @appstream   217 k
 mkfontscale                               x86_64   1.2.1-3.el9                         @appstream    54 k
 openexr-libs                              x86_64   3.1.1-3.el9                         @appstream   4.7 M
 openjpeg2                                 x86_64   2.4.0-8.el9                         @appstream   376 k
 opus                                      x86_64   1.3.1-10.el9                        @appstream   355 k
 orc                                       x86_64   0.4.31-8.el9                        @appstream   601 k
 osinfo-db                                 noarch   20250124-2.el9_6.alma.2             @appstream   3.9 M
 osinfo-db-tools                           x86_64   1.10.0-1.el9                        @appstream   177 k
 ostree-libs                               x86_64   2025.1-1.el9                        @appstream   1.1 M
 p11-kit-server                            x86_64   0.25.3-3.el9_5                      @appstream   1.3 M
 pango                                     x86_64   1.48.7-3.el9                        @appstream   878 k
 pipewire                                  x86_64   1.0.1-1.el9                         @appstream   351 k
 pipewire-alsa                             x86_64   1.0.1-1.el9                         @appstream   173 k
 pipewire-jack-audio-connection-kit        x86_64   1.0.1-1.el9                         @appstream    30
 pipewire-jack-audio-connection-kit-libs   x86_64   1.0.1-1.el9                         @appstream   547 k
 pipewire-libs                             x86_64   1.0.1-1.el9                         @appstream   7.6 M
 pipewire-pulseaudio                       x86_64   1.0.1-1.el9                         @appstream   427 k
 pixman                                    x86_64   0.40.0-6.el9_3                      @appstream   694 k
 poppler                                   x86_64   21.01.0-21.el9                      @appstream   3.6 M
 poppler-data                              noarch   0.4.9-9.el9                         @appstream    11 M
 poppler-glib                              x86_64   21.01.0-21.el9                      @appstream   477 k
 pulseaudio-libs                           x86_64   15.0-3.el9                          @appstream   3.2 M
 rtkit                                     x86_64   0.11-29.el9                         @appstream   146 k
 sound-theme-freedesktop                   noarch   0.8-17.el9                          @appstream   460 k
 totem-pl-parser                           x86_64   3.26.6-2.el9                        @appstream   330 k
 tracker                                   x86_64   3.1.2-3.el9_1                       @appstream   2.0 M
 tracker-miners                            x86_64   3.1.2-4.el9_3                       @appstream   4.0 M
 upower                                    x86_64   0.99.13-2.el9                       @appstream   547 k
 urw-base35-bookman-fonts                  noarch   20200910-6.el9                      @appstream   1.4 M
 urw-base35-c059-fonts                     noarch   20200910-6.el9                      @appstream   1.4 M
 urw-base35-d050000l-fonts                 noarch   20200910-6.el9                      @appstream    85 k
 urw-base35-fonts                          noarch   20200910-6.el9                      @appstream   5.3 k
 urw-base35-fonts-common                   noarch   20200910-6.el9                      @appstream    37 k
 urw-base35-gothic-fonts                   noarch   20200910-6.el9                      @appstream   1.2 M
 urw-base35-nimbus-mono-ps-fonts           noarch   20200910-6.el9                      @appstream   1.0 M
 urw-base35-nimbus-roman-fonts             noarch   20200910-6.el9                      @appstream   1.4 M
 urw-base35-nimbus-sans-fonts              noarch   20200910-6.el9                      @appstream   2.4 M
 urw-base35-p052-fonts                     noarch   20200910-6.el9                      @appstream   1.5 M
 urw-base35-standard-symbols-ps-fonts      noarch   20200910-6.el9                      @appstream    44 k
 urw-base35-z003-fonts                     noarch   20200910-6.el9                      @appstream   391 k
 webkit2gtk3-jsc                           x86_64   2.48.3-1.el9_6                      @appstream    28 M
 webrtc-audio-processing                   x86_64   0.3.1-8.el9                         @appstream   734 k
 wireplumber                               x86_64   0.4.14-1.el9                        @appstream   301 k
 wireplumber-libs                          x86_64   0.4.14-1.el9                        @appstream   1.2 M
 xdg-dbus-proxy                            x86_64   0.1.3-1.el9                         @appstream    85 k
 xdg-desktop-portal                        x86_64   1.12.6-1.el9                        @appstream   1.8 M
 xdg-desktop-portal-gtk                    x86_64   1.12.0-3.el9                        @appstream   478 k
 xkeyboard-config                          noarch   2.33-2.el9                          @appstream   5.8 M
 xml-common                                noarch   0.6.3-58.el9                        @appstream    78 k
 xorg-x11-fonts-ISO8859-1-100dpi           noarch   7.5-33.el9                          @appstream   1.0 M

トランザクションの概要
===========================================================================================================
削除  189 パッケージ

解放された容量: 369 M
これでよろしいですか? [y/N]: y
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                   1/1
  削除中           : flatpak-1.12.9-4.el9_6.x86_64                                                   1/189
  削除中           : libappstream-glib-0.7.18-5.el9_4.x86_64                                         2/189
  削除中           : php-pecl-imagick-3.7.0-1.el9.x86_64                                             3/189
  削除中           : ImageMagick-libs-6.9.13.25-1.el9.x86_64                                         4/189
  削除中           : graphviz-2.44.0-26.el9.x86_64                                                   5/189
  削除中           : gtk2-2.24.33-8.el9.x86_64                                                       6/189
  削除中           : libgs-9.54.0-19.el9_6.x86_64                                                    7/189
  削除中           : libcanberra-gtk2-0.30-27.el9.x86_64                                             8/189
  削除中           : urw-base35-fonts-20200910-6.el9.noarch                                          9/189
  scriptletの実行中: xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64                                     10/189
  削除中           : xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64                                     10/189
  削除中           : gtk3-3.24.31-5.el9.x86_64                                                      11/189
  削除中           : libcanberra-gtk3-0.30-27.el9.x86_64                                            12/189
  削除中           : librsvg2-2.50.7-3.el9.x86_64                                                   13/189
  削除中           : cairo-gobject-1.17.4-7.el9.x86_64                                              14/189
  削除中           : gd-2.3.2-3.el9.x86_64                                                          15/189
  scriptletの実行中: libcanberra-0.30-27.el9.x86_64                                                 16/189
  削除中           : libcanberra-0.30-27.el9.x86_64                                                 16/189
  scriptletの実行中: xdg-desktop-portal-1.12.6-1.el9.x86_64                                         17/189
  削除中           : xdg-desktop-portal-1.12.6-1.el9.x86_64                                         17/189
  削除中           : wireplumber-libs-0.4.14-1.el9.x86_64                                           18/189
  scriptletの実行中: wireplumber-0.4.14-1.el9.x86_64                                                19/189
Removed "/etc/systemd/user/pipewire-session-manager.service".
Removed "/etc/systemd/user/pipewire.service.wants/wireplumber.service".

  削除中           : wireplumber-0.4.14-1.el9.x86_64                                                19/189
  削除中           : pipewire-alsa-1.0.1-1.el9.x86_64                                               20/189
  削除中           : pipewire-jack-audio-connection-kit-libs-1.0.1-1.el9.x86_64                     21/189
  削除中           : pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64                          22/189
  削除中           : pipewire-libs-1.0.1-1.el9.x86_64                                               23/189
  削除中           : pipewire-pulseaudio-1.0.1-1.el9.x86_64                                         24/189
  削除中           : pipewire-1.0.1-1.el9.x86_64                                                    25/189
  scriptletの実行中: geoclue2-2.6.0-8.el9_6.1.x86_64                                                26/189
  削除中           : geoclue2-2.6.0-8.el9_6.1.x86_64                                                26/189
  scriptletの実行中: geoclue2-2.6.0-8.el9_6.1.x86_64                                                26/189
  削除中           : libXaw-1.0.13-19.el9.x86_64                                                    27/189
  削除中           : LibRaw-0.21.1-1.el9.x86_64                                                     28/189
  削除中           : urw-base35-bookman-fonts-20200910-6.el9.noarch                                 29/189
  scriptletの実行中: urw-base35-bookman-fonts-20200910-6.el9.noarch                                 29/189
  削除中           : urw-base35-c059-fonts-20200910-6.el9.noarch                                    30/189
  scriptletの実行中: urw-base35-c059-fonts-20200910-6.el9.noarch                                    30/189
  削除中           : urw-base35-d050000l-fonts-20200910-6.el9.noarch                                31/189
  scriptletの実行中: urw-base35-d050000l-fonts-20200910-6.el9.noarch                                31/189
  削除中           : urw-base35-gothic-fonts-20200910-6.el9.noarch                                  32/189
  scriptletの実行中: urw-base35-gothic-fonts-20200910-6.el9.noarch                                  32/189
  削除中           : urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch                          33/189
  scriptletの実行中: urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch                          33/189
  削除中           : urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch                            34/189
  scriptletの実行中: urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch                            34/189
  削除中           : urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch                             35/189
  scriptletの実行中: urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch                             35/189
  削除中           : urw-base35-p052-fonts-20200910-6.el9.noarch                                    36/189
  scriptletの実行中: urw-base35-p052-fonts-20200910-6.el9.noarch                                    36/189
  削除中           : urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch                     37/189
  scriptletの実行中: urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch                     37/189
  削除中           : urw-base35-z003-fonts-20200910-6.el9.noarch                                    38/189
  scriptletの実行中: urw-base35-z003-fonts-20200910-6.el9.noarch                                    38/189
  削除中           : xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch                              39/189
  scriptletの実行中: xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch                              39/189
  削除中           : pulseaudio-libs-15.0-3.el9.x86_64                                              40/189
  削除中           : libsndfile-1.0.31-9.el9.x86_64                                                 41/189
  削除中           : gdk-pixbuf2-modules-2.42.6-4.el9_4.x86_64                                      42/189
  削除中           : libXcursor-1.2.0-7.el9.x86_64                                                  43/189
  削除中           : libXrandr-1.5.2-8.el9.x86_64                                                   44/189
  削除中           : at-spi2-atk-2.38.0-4.el9.x86_64                                                45/189
  削除中           : at-spi2-core-2.40.3-1.el9.x86_64                                               46/189
  削除中           : libXtst-1.2.3-16.el9.x86_64                                                    47/189
  削除中           : libXmu-1.1.3-8.el9.x86_64                                                      48/189
  削除中           : libXt-1.2.0-6.el9.x86_64                                                       49/189
  削除中           : libXinerama-1.1.4-10.el9.x86_64                                                50/189
  scriptletの実行中: tracker-3.1.2-3.el9_1.x86_64                                                   51/189
  削除中           : tracker-3.1.2-3.el9_1.x86_64                                                   51/189
  scriptletの実行中: tracker-3.1.2-3.el9_1.x86_64                                                   51/189
  scriptletの実行中: tracker-miners-3.1.2-4.el9_3.x86_64                                            52/189
  削除中           : tracker-miners-3.1.2-4.el9_3.x86_64                                            52/189
  scriptletの実行中: tracker-miners-3.1.2-4.el9_3.x86_64                                            52/189
  削除中           : libtracker-sparql-3.1.2-3.el9_1.x86_64                                         53/189
  削除中           : gstreamer1-plugins-base-1.22.12-4.el9.x86_64                                   54/189
  削除中           : pango-1.48.7-3.el9.x86_64                                                      55/189
  削除中           : libgxps-0.3.2-3.el9.x86_64                                                     56/189
  削除中           : libglvnd-glx-1:1.3.4-1.el9.x86_64                                              57/189
  削除中           : mesa-libGL-24.2.8-2.el9_6.alma.1.x86_64                                        58/189
  削除中           : libglvnd-egl-1:1.3.4-1.el9.x86_64                                              59/189
  削除中           : mesa-libEGL-24.2.8-2.el9_6.alma.1.x86_64                                       60/189
  削除中           : mesa-libglapi-24.2.8-2.el9_6.alma.1.x86_64                                     61/189
  削除中           : mesa-dri-drivers-24.2.8-2.el9_6.alma.1.x86_64                                  62/189
  削除中           : mesa-libgbm-24.2.8-2.el9_6.alma.1.x86_64                                       63/189
  削除中           : libXft-2.3.3-8.el9.x86_64                                                      64/189
  削除中           : libXxf86vm-1.1.4-18.el9.x86_64                                                 65/189
  削除中           : libXi-1.7.10-8.el9.x86_64                                                      66/189
  削除中           : libXv-1.0.11-16.el9.x86_64                                                     67/189
  削除中           : libosinfo-1.10.0-1.el9.x86_64                                                  68/189
  削除中           : poppler-glib-21.01.0-21.el9.x86_64                                             69/189
  削除中           : cairo-1.17.4-7.el9.x86_64                                                      70/189
  削除中           : poppler-21.01.0-21.el9.x86_64                                                  71/189
  削除中           : fontconfig-2.14.0-2.el9_1.x86_64                                               72/189
  scriptletの実行中: fontconfig-2.14.0-2.el9_1.x86_64                                               72/189
  削除中           : libtiff-4.4.0-13.el9.x86_64                                                    73/189
  削除中           : libXext-1.3.4-8.el9.x86_64                                                     74/189
  削除中           : libXrender-0.9.10-16.el9.x86_64                                                75/189
  削除中           : jasper-libs-2.0.28-3.el9.x86_64                                                76/189
  削除中           : avahi-glib-0.8-22.el9_6.x86_64                                                 77/189
  削除中           : libXdamage-1.1.5-7.el9.x86_64                                                  78/189
  削除中           : libXfixes-5.0.3-16.el9.x86_64                                                  79/189
  削除中           : cups-libs-1:2.3.3op2-33.el9.x86_64                                             80/189
  削除中           : exiv2-0.27.5-2.el9.x86_64                                                      81/189
  削除中           : langpacks-core-font-en-3.0-16.el9.noarch                                       82/189
  削除中           : dejavu-sans-fonts-2.37-18.el9.noarch                                           83/189
  削除中           : iso-codes-4.6.0-3.el9.noarch                                                   84/189
  削除中           : urw-base35-fonts-common-20200910-6.el9.noarch                                  85/189
  削除中           : adwaita-icon-theme-40.1.1-3.el9.noarch                                         86/189
  削除中           : adobe-mappings-cmap-deprecated-20171205-12.el9.noarch                          87/189
  削除中           : google-droid-sans-fonts-20200215-11.el9.2.noarch                               88/189
  削除中           : osinfo-db-tools-1.10.0-1.el9.x86_64                                            89/189
  削除中           : libsoup-2.72.0-10.el9_6.2.x86_64                                               90/189
  削除中           : glib-networking-2.68.3-3.el9.x86_64                                            91/189
  削除中           : libproxy-webkitgtk4-0.4.15-35.el9.x86_64                                       92/189
  削除中           : gsettings-desktop-schemas-40.0-6.el9.x86_64                                    93/189
  削除中           : webkit2gtk3-jsc-2.48.3-1.el9_6.x86_64                                          94/189
  削除中           : adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch                        95/189
  削除中           : abattis-cantarell-fonts-0.301-4.el9.noarch                                     96/189
  削除中           : libdrm-2.4.123-2.el9.x86_64                                                    97/189
  削除中           : libtheora-1:1.1.1-31.el9.x86_64                                                98/189
  削除中           : libvorbis-1:1.3.7-5.el9.x86_64                                                 99/189
  削除中           : libwayland-cursor-1.21.0-1.el9.x86_64                                         100/189
  削除中           : libgexiv2-0.12.3-1.el9.x86_64                                                 101/189
  削除中           : libgsf-1.14.47-5.el9.x86_64                                                   102/189
  削除中           : libSM-1.2.3-10.el9.x86_64                                                     103/189
  削除中           : flac-libs-1.3.3-10.el9_2.1.x86_64                                             104/189
  削除中           : mkfontscale-1.2.1-3.el9.x86_64                                                105/189
  削除中           : libXpm-3.5.13-10.el9.x86_64                                                   106/189
  削除中           : libnotify-0.7.9-8.el9.x86_64                                                  107/189
  削除中           : fuse-2.9.9-17.el9.x86_64                                                      108/189
  削除中           : gtk-update-icon-cache-3.24.31-5.el9.x86_64                                    109/189
  削除中           : gdk-pixbuf2-2.42.6-4.el9_4.x86_64                                             110/189
  削除中           : libXcomposite-0.4.5-7.el9.x86_64                                              111/189
  削除中           : libX11-1.7.0-11.el9.x86_64                                                    112/189
  削除中           : libxcb-1.13.1-9.el9.x86_64                                                    113/189
  削除中           : colord-libs-1.4.5-6.el9_6.x86_64                                              114/189
  削除中           : libxkbcommon-1.0.3-4.el9.x86_64                                               115/189
  削除中           : openexr-libs-3.1.1-3.el9.x86_64                                               116/189
  削除中           : libraqm-0.8.0-1.el9.x86_64                                                    117/189
  削除中           : ostree-libs-2025.1-1.el9.x86_64                                               118/189
  削除中           : xkeyboard-config-2.33-2.el9.noarch                                            119/189
  削除中           : libX11-common-1.7.0-11.el9.noarch                                             120/189
  削除中           : fuse-common-3.10.2-9.el9.x86_64                                               121/189
  削除中           : fonts-filesystem-1:2.0.5-7.el9.1.noarch                                       122/189
  削除中           : adobe-mappings-cmap-20171205-12.el9.noarch                                    123/189
  削除中           : adwaita-cursor-theme-40.1.1-3.el9.noarch                                      124/189
  削除中           : xml-common-0.6.3-58.el9.noarch                                                125/189
警告: /etc/xml/catalog saved as /etc/xml/catalog.rpmsave

  削除中           : poppler-data-0.4.9-9.el9.noarch                                               126/189
  削除中           : osinfo-db-20250124-2.el9_6.alma.2.noarch                                      127/189
  削除中           : mesa-filesystem-24.2.8-2.el9_6.alma.1.x86_64                                  128/189
  削除中           : sound-theme-freedesktop-0.8-17.el9.noarch                                     129/189
  scriptletの実行中: sound-theme-freedesktop-0.8-17.el9.noarch                                     129/189
  削除中           : hicolor-icon-theme-0.17-13.el9.noarch                                         130/189
  削除中           : adobe-mappings-pdf-20180407-10.el9.noarch                                     131/189
  削除中           : flatpak-selinux-1.12.9-4.el9_6.noarch                                         132/189
  scriptletの実行中: flatpak-selinux-1.12.9-4.el9_6.noarch                                         132/189
  削除中           : composefs-libs-1.0.8-1.el9.x86_64                                             133/189
  削除中           : fribidi-1.0.10-6.el9.2.x86_64                                                 134/189
  削除中           : imath-3.1.2-1.el9.x86_64                                                      135/189
  削除中           : lcms2-2.12-3.el9.x86_64                                                       136/189
  削除中           : libXau-1.0.9-8.el9.x86_64                                                     137/189
  削除中           : libjpeg-turbo-2.0.90-7.el9.x86_64                                             138/189
  削除中           : libfontenc-1.1.3-17.el9.x86_64                                                139/189
  削除中           : libogg-2:1.3.4-6.el9.x86_64                                                   140/189
  削除中           : libICE-1.0.10-8.el9.x86_64                                                    141/189
  削除中           : exiv2-libs-0.27.5-2.el9.x86_64                                                142/189
  削除中           : libwayland-client-1.21.0-1.el9.x86_64                                         143/189
  削除中           : libpciaccess-0.16-7.el9.x86_64                                                144/189
  削除中           : libatomic-11.5.0-5.el9_5.alma.1.x86_64                                        145/189
  削除中           : libproxy-0.4.15-35.el9.x86_64                                                 146/189
  削除中           : avahi-libs-0.8-22.el9_6.x86_64                                                147/189
  削除中           : jbigkit-libs-2.1-23.el9.x86_64                                                148/189
  削除中           : libwebp-1.2.0-8.el9_3.x86_64                                                  149/189
  削除中           : openjpeg2-2.4.0-8.el9.x86_64                                                  150/189
  削除中           : pixman-0.40.0-6.el9_3.x86_64                                                  151/189
  削除中           : libwayland-server-1.21.0-1.el9.x86_64                                         152/189
  削除中           : libX11-xcb-1.7.0-11.el9.x86_64                                                153/189
  削除中           : libxshmfence-1.3-10.el9.x86_64                                                154/189
  削除中           : libglvnd-1:1.3.4-1.el9.x86_64                                                 155/189
  削除中           : graphene-1.10.6-2.el9.x86_64                                                  156/189
  削除中           : gstreamer1-1.22.12-3.el9.x86_64                                               157/189
  削除中           : opus-1.3.1-10.el9.x86_64                                                      158/189
  削除中           : orc-0.4.31-8.el9.x86_64                                                       159/189
  削除中           : libwayland-egl-1.21.0-1.el9.x86_64                                            160/189
  削除中           : libstemmer-0-18.585svn.el9.x86_64                                             161/189
  削除中           : exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64                                162/189
  削除中           : libexif-0.6.22-6.el9.x86_64                                                   163/189
  削除中           : giflib-5.2.1-9.el9.x86_64                                                     164/189
  削除中           : libiptcdata-1.0.5-10.el9.x86_64                                               165/189
  削除中           : totem-pl-parser-3.26.6-2.el9.x86_64                                           166/189
  scriptletの実行中: upower-0.99.13-2.el9.x86_64                                                   167/189
Removed "/etc/systemd/system/graphical.target.wants/upower.service".

  削除中           : upower-0.99.13-2.el9.x86_64                                                   167/189
  scriptletの実行中: upower-0.99.13-2.el9.x86_64                                                   167/189
  削除中           : atk-2.36.0-5.el9.x86_64                                                       168/189
  削除中           : gsm-1.0.19-6.el9.x86_64                                                       169/189
  削除中           : libasyncns-0.8-22.el9.x86_64                                                  170/189
  削除中           : ModemManager-glib-1.20.2-1.el9.x86_64                                         171/189
  scriptletの実行中: rtkit-0.11-29.el9.x86_64                                                      172/189
Removed "/etc/systemd/system/graphical.target.wants/rtkit-daemon.service".

  削除中           : rtkit-0.11-29.el9.x86_64                                                      172/189
  scriptletの実行中: rtkit-0.11-29.el9.x86_64                                                      172/189
  削除中           : bluez-libs-5.72-4.el9.x86_64                                                  173/189
  削除中           : fdk-aac-free-2.0.0-8.el9.x86_64                                               174/189
  削除中           : libldac-2.0.2.3-10.el9.x86_64                                                 175/189
  削除中           : libsbc-1.4-9.el9.x86_64                                                       176/189
  削除中           : webrtc-audio-processing-0.3.1-8.el9.x86_64                                    177/189
  scriptletの実行中: low-memory-monitor-2.1-4.el9.x86_64                                           178/189
Removed "/etc/systemd/system/basic.target.wants/low-memory-monitor.service".

  削除中           : low-memory-monitor-2.1-4.el9.x86_64                                           178/189
  scriptletの実行中: low-memory-monitor-2.1-4.el9.x86_64                                           178/189
  削除中           : libepoxy-1.5.5-4.el9.x86_64                                                   179/189
  scriptletの実行中: dconf-0.40.0-6.el9.x86_64                                                     180/189
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled or disabled using systemctl.

Possible reasons for having this kind of units are:
~ A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
~ A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
~ A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
~ In case of template units, the unit is meant to be enabled with some
  instance name specified.

  削除中           : dconf-0.40.0-6.el9.x86_64                                                     180/189
  scriptletの実行中: dconf-0.40.0-6.el9.x86_64                                                     180/189
  削除中           : libijs-0.35-15.el9.x86_64                                                     181/189
  削除中           : jbig2dec-libs-0.19-7.el9.x86_64                                               182/189
  削除中           : libpaper-1.1.28-4.el9.x86_64                                                  183/189
  削除中           : liblqr-1-0.4.2-19.el9.x86_64                                                  184/189
  削除中           : libwmf-lite-0.2.12-10.el9.x86_64                                              185/189
  削除中           : xdg-dbus-proxy-0.1.3-1.el9.x86_64                                             186/189
  削除中           : bubblewrap-0.4.1-8.el9_5.x86_64                                               187/189
  削除中           : flatpak-session-helper-1.12.9-4.el9_6.x86_64                                  188/189
  削除中           : p11-kit-server-0.25.3-3.el9_5.x86_64                                          189/189
  scriptletの実行中: p11-kit-server-0.25.3-3.el9_5.x86_64                                          189/189
  検証中           : ImageMagick-libs-6.9.13.25-1.el9.x86_64                                         1/189
  検証中           : LibRaw-0.21.1-1.el9.x86_64                                                      2/189
  検証中           : ModemManager-glib-1.20.2-1.el9.x86_64                                           3/189
  検証中           : abattis-cantarell-fonts-0.301-4.el9.noarch                                      4/189
  検証中           : adobe-mappings-cmap-20171205-12.el9.noarch                                      5/189
  検証中           : adobe-mappings-cmap-deprecated-20171205-12.el9.noarch                           6/189
  検証中           : adobe-mappings-pdf-20180407-10.el9.noarch                                       7/189
  検証中           : adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch                         8/189
  検証中           : adwaita-cursor-theme-40.1.1-3.el9.noarch                                        9/189
  検証中           : adwaita-icon-theme-40.1.1-3.el9.noarch                                         10/189
  検証中           : at-spi2-atk-2.38.0-4.el9.x86_64                                                11/189
  検証中           : at-spi2-core-2.40.3-1.el9.x86_64                                               12/189
  検証中           : atk-2.36.0-5.el9.x86_64                                                        13/189
  検証中           : avahi-glib-0.8-22.el9_6.x86_64                                                 14/189
  検証中           : avahi-libs-0.8-22.el9_6.x86_64                                                 15/189
  検証中           : bluez-libs-5.72-4.el9.x86_64                                                   16/189
  検証中           : bubblewrap-0.4.1-8.el9_5.x86_64                                                17/189
  検証中           : cairo-1.17.4-7.el9.x86_64                                                      18/189
  検証中           : cairo-gobject-1.17.4-7.el9.x86_64                                              19/189
  検証中           : colord-libs-1.4.5-6.el9_6.x86_64                                               20/189
  検証中           : composefs-libs-1.0.8-1.el9.x86_64                                              21/189
  検証中           : cups-libs-1:2.3.3op2-33.el9.x86_64                                             22/189
  検証中           : dconf-0.40.0-6.el9.x86_64                                                      23/189
  検証中           : dejavu-sans-fonts-2.37-18.el9.noarch                                           24/189
  検証中           : exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64                                 25/189
  検証中           : exiv2-0.27.5-2.el9.x86_64                                                      26/189
  検証中           : exiv2-libs-0.27.5-2.el9.x86_64                                                 27/189
  検証中           : fdk-aac-free-2.0.0-8.el9.x86_64                                                28/189
  検証中           : flac-libs-1.3.3-10.el9_2.1.x86_64                                              29/189
  検証中           : flatpak-1.12.9-4.el9_6.x86_64                                                  30/189
  検証中           : flatpak-selinux-1.12.9-4.el9_6.noarch                                          31/189
  検証中           : flatpak-session-helper-1.12.9-4.el9_6.x86_64                                   32/189
  検証中           : fontconfig-2.14.0-2.el9_1.x86_64                                               33/189
  検証中           : fonts-filesystem-1:2.0.5-7.el9.1.noarch                                        34/189
  検証中           : fribidi-1.0.10-6.el9.2.x86_64                                                  35/189
  検証中           : fuse-2.9.9-17.el9.x86_64                                                       36/189
  検証中           : fuse-common-3.10.2-9.el9.x86_64                                                37/189
  検証中           : gd-2.3.2-3.el9.x86_64                                                          38/189
  検証中           : gdk-pixbuf2-2.42.6-4.el9_4.x86_64                                              39/189
  検証中           : gdk-pixbuf2-modules-2.42.6-4.el9_4.x86_64                                      40/189
  検証中           : geoclue2-2.6.0-8.el9_6.1.x86_64                                                41/189
  検証中           : giflib-5.2.1-9.el9.x86_64                                                      42/189
  検証中           : glib-networking-2.68.3-3.el9.x86_64                                            43/189
  検証中           : google-droid-sans-fonts-20200215-11.el9.2.noarch                               44/189
  検証中           : graphene-1.10.6-2.el9.x86_64                                                   45/189
  検証中           : graphviz-2.44.0-26.el9.x86_64                                                  46/189
  検証中           : gsettings-desktop-schemas-40.0-6.el9.x86_64                                    47/189
  検証中           : gsm-1.0.19-6.el9.x86_64                                                        48/189
  検証中           : gstreamer1-1.22.12-3.el9.x86_64                                                49/189
  検証中           : gstreamer1-plugins-base-1.22.12-4.el9.x86_64                                   50/189
  検証中           : gtk-update-icon-cache-3.24.31-5.el9.x86_64                                     51/189
  検証中           : gtk2-2.24.33-8.el9.x86_64                                                      52/189
  検証中           : gtk3-3.24.31-5.el9.x86_64                                                      53/189
  検証中           : hicolor-icon-theme-0.17-13.el9.noarch                                          54/189
  検証中           : imath-3.1.2-1.el9.x86_64                                                       55/189
  検証中           : iso-codes-4.6.0-3.el9.noarch                                                   56/189
  検証中           : jasper-libs-2.0.28-3.el9.x86_64                                                57/189
  検証中           : jbig2dec-libs-0.19-7.el9.x86_64                                                58/189
  検証中           : jbigkit-libs-2.1-23.el9.x86_64                                                 59/189
  検証中           : langpacks-core-font-en-3.0-16.el9.noarch                                       60/189
  検証中           : lcms2-2.12-3.el9.x86_64                                                        61/189
  検証中           : libICE-1.0.10-8.el9.x86_64                                                     62/189
  検証中           : libSM-1.2.3-10.el9.x86_64                                                      63/189
  検証中           : libX11-1.7.0-11.el9.x86_64                                                     64/189
  検証中           : libX11-common-1.7.0-11.el9.noarch                                              65/189
  検証中           : libX11-xcb-1.7.0-11.el9.x86_64                                                 66/189
  検証中           : libXau-1.0.9-8.el9.x86_64                                                      67/189
  検証中           : libXaw-1.0.13-19.el9.x86_64                                                    68/189
  検証中           : libXcomposite-0.4.5-7.el9.x86_64                                               69/189
  検証中           : libXcursor-1.2.0-7.el9.x86_64                                                  70/189
  検証中           : libXdamage-1.1.5-7.el9.x86_64                                                  71/189
  検証中           : libXext-1.3.4-8.el9.x86_64                                                     72/189
  検証中           : libXfixes-5.0.3-16.el9.x86_64                                                  73/189
  検証中           : libXft-2.3.3-8.el9.x86_64                                                      74/189
  検証中           : libXi-1.7.10-8.el9.x86_64                                                      75/189
  検証中           : libXinerama-1.1.4-10.el9.x86_64                                                76/189
  検証中           : libXmu-1.1.3-8.el9.x86_64                                                      77/189
  検証中           : libXpm-3.5.13-10.el9.x86_64                                                    78/189
  検証中           : libXrandr-1.5.2-8.el9.x86_64                                                   79/189
  検証中           : libXrender-0.9.10-16.el9.x86_64                                                80/189
  検証中           : libXt-1.2.0-6.el9.x86_64                                                       81/189
  検証中           : libXtst-1.2.3-16.el9.x86_64                                                    82/189
  検証中           : libXv-1.0.11-16.el9.x86_64                                                     83/189
  検証中           : libXxf86vm-1.1.4-18.el9.x86_64                                                 84/189
  検証中           : libappstream-glib-0.7.18-5.el9_4.x86_64                                        85/189
  検証中           : libasyncns-0.8-22.el9.x86_64                                                   86/189
  検証中           : libatomic-11.5.0-5.el9_5.alma.1.x86_64                                         87/189
  検証中           : libcanberra-0.30-27.el9.x86_64                                                 88/189
  検証中           : libcanberra-gtk2-0.30-27.el9.x86_64                                            89/189
  検証中           : libcanberra-gtk3-0.30-27.el9.x86_64                                            90/189
  検証中           : libdrm-2.4.123-2.el9.x86_64                                                    91/189
  検証中           : libepoxy-1.5.5-4.el9.x86_64                                                    92/189
  検証中           : libexif-0.6.22-6.el9.x86_64                                                    93/189
  検証中           : libfontenc-1.1.3-17.el9.x86_64                                                 94/189
  検証中           : libgexiv2-0.12.3-1.el9.x86_64                                                  95/189
  検証中           : libglvnd-1:1.3.4-1.el9.x86_64                                                  96/189
  検証中           : libglvnd-egl-1:1.3.4-1.el9.x86_64                                              97/189
  検証中           : libglvnd-glx-1:1.3.4-1.el9.x86_64                                              98/189
  検証中           : libgs-9.54.0-19.el9_6.x86_64                                                   99/189
  検証中           : libgsf-1.14.47-5.el9.x86_64                                                   100/189
  検証中           : libgxps-0.3.2-3.el9.x86_64                                                    101/189
  検証中           : libijs-0.35-15.el9.x86_64                                                     102/189
  検証中           : libiptcdata-1.0.5-10.el9.x86_64                                               103/189
  検証中           : libjpeg-turbo-2.0.90-7.el9.x86_64                                             104/189
  検証中           : libldac-2.0.2.3-10.el9.x86_64                                                 105/189
  検証中           : liblqr-1-0.4.2-19.el9.x86_64                                                  106/189
  検証中           : libnotify-0.7.9-8.el9.x86_64                                                  107/189
  検証中           : libogg-2:1.3.4-6.el9.x86_64                                                   108/189
  検証中           : libosinfo-1.10.0-1.el9.x86_64                                                 109/189
  検証中           : libpaper-1.1.28-4.el9.x86_64                                                  110/189
  検証中           : libpciaccess-0.16-7.el9.x86_64                                                111/189
  検証中           : libproxy-0.4.15-35.el9.x86_64                                                 112/189
  検証中           : libproxy-webkitgtk4-0.4.15-35.el9.x86_64                                      113/189
  検証中           : libraqm-0.8.0-1.el9.x86_64                                                    114/189
  検証中           : librsvg2-2.50.7-3.el9.x86_64                                                  115/189
  検証中           : libsbc-1.4-9.el9.x86_64                                                       116/189
  検証中           : libsndfile-1.0.31-9.el9.x86_64                                                117/189
  検証中           : libsoup-2.72.0-10.el9_6.2.x86_64                                              118/189
  検証中           : libstemmer-0-18.585svn.el9.x86_64                                             119/189
  検証中           : libtheora-1:1.1.1-31.el9.x86_64                                               120/189
  検証中           : libtiff-4.4.0-13.el9.x86_64                                                   121/189
  検証中           : libtracker-sparql-3.1.2-3.el9_1.x86_64                                        122/189
  検証中           : libvorbis-1:1.3.7-5.el9.x86_64                                                123/189
  検証中           : libwayland-client-1.21.0-1.el9.x86_64                                         124/189
  検証中           : libwayland-cursor-1.21.0-1.el9.x86_64                                         125/189
  検証中           : libwayland-egl-1.21.0-1.el9.x86_64                                            126/189
  検証中           : libwayland-server-1.21.0-1.el9.x86_64                                         127/189
  検証中           : libwebp-1.2.0-8.el9_3.x86_64                                                  128/189
  検証中           : libwmf-lite-0.2.12-10.el9.x86_64                                              129/189
  検証中           : libxcb-1.13.1-9.el9.x86_64                                                    130/189
  検証中           : libxkbcommon-1.0.3-4.el9.x86_64                                               131/189
  検証中           : libxshmfence-1.3-10.el9.x86_64                                                132/189
  検証中           : low-memory-monitor-2.1-4.el9.x86_64                                           133/189
  検証中           : mesa-dri-drivers-24.2.8-2.el9_6.alma.1.x86_64                                 134/189
  検証中           : mesa-filesystem-24.2.8-2.el9_6.alma.1.x86_64                                  135/189
  検証中           : mesa-libEGL-24.2.8-2.el9_6.alma.1.x86_64                                      136/189
  検証中           : mesa-libGL-24.2.8-2.el9_6.alma.1.x86_64                                       137/189
  検証中           : mesa-libgbm-24.2.8-2.el9_6.alma.1.x86_64                                      138/189
  検証中           : mesa-libglapi-24.2.8-2.el9_6.alma.1.x86_64                                    139/189
  検証中           : mkfontscale-1.2.1-3.el9.x86_64                                                140/189
  検証中           : openexr-libs-3.1.1-3.el9.x86_64                                               141/189
  検証中           : openjpeg2-2.4.0-8.el9.x86_64                                                  142/189
  検証中           : opus-1.3.1-10.el9.x86_64                                                      143/189
  検証中           : orc-0.4.31-8.el9.x86_64                                                       144/189
  検証中           : osinfo-db-20250124-2.el9_6.alma.2.noarch                                      145/189
  検証中           : osinfo-db-tools-1.10.0-1.el9.x86_64                                           146/189
  検証中           : ostree-libs-2025.1-1.el9.x86_64                                               147/189
  検証中           : p11-kit-server-0.25.3-3.el9_5.x86_64                                          148/189
  検証中           : pango-1.48.7-3.el9.x86_64                                                     149/189
  検証中           : php-pecl-imagick-3.7.0-1.el9.x86_64                                           150/189
  検証中           : pipewire-1.0.1-1.el9.x86_64                                                   151/189
  検証中           : pipewire-alsa-1.0.1-1.el9.x86_64                                              152/189
  検証中           : pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64                         153/189
  検証中           : pipewire-jack-audio-connection-kit-libs-1.0.1-1.el9.x86_64                    154/189
  検証中           : pipewire-libs-1.0.1-1.el9.x86_64                                              155/189
  検証中           : pipewire-pulseaudio-1.0.1-1.el9.x86_64                                        156/189
  検証中           : pixman-0.40.0-6.el9_3.x86_64                                                  157/189
  検証中           : poppler-21.01.0-21.el9.x86_64                                                 158/189
  検証中           : poppler-data-0.4.9-9.el9.noarch                                               159/189
  検証中           : poppler-glib-21.01.0-21.el9.x86_64                                            160/189
  検証中           : pulseaudio-libs-15.0-3.el9.x86_64                                             161/189
  検証中           : rtkit-0.11-29.el9.x86_64                                                      162/189
  検証中           : sound-theme-freedesktop-0.8-17.el9.noarch                                     163/189
  検証中           : totem-pl-parser-3.26.6-2.el9.x86_64                                           164/189
  検証中           : tracker-3.1.2-3.el9_1.x86_64                                                  165/189
  検証中           : tracker-miners-3.1.2-4.el9_3.x86_64                                           166/189
  検証中           : upower-0.99.13-2.el9.x86_64                                                   167/189
  検証中           : urw-base35-bookman-fonts-20200910-6.el9.noarch                                168/189
  検証中           : urw-base35-c059-fonts-20200910-6.el9.noarch                                   169/189
  検証中           : urw-base35-d050000l-fonts-20200910-6.el9.noarch                               170/189
  検証中           : urw-base35-fonts-20200910-6.el9.noarch                                        171/189
  検証中           : urw-base35-fonts-common-20200910-6.el9.noarch                                 172/189
  検証中           : urw-base35-gothic-fonts-20200910-6.el9.noarch                                 173/189
  検証中           : urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch                         174/189
  検証中           : urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch                           175/189
  検証中           : urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch                            176/189
  検証中           : urw-base35-p052-fonts-20200910-6.el9.noarch                                   177/189
  検証中           : urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch                    178/189
  検証中           : urw-base35-z003-fonts-20200910-6.el9.noarch                                   179/189
  検証中           : webkit2gtk3-jsc-2.48.3-1.el9_6.x86_64                                         180/189
  検証中           : webrtc-audio-processing-0.3.1-8.el9.x86_64                                    181/189
  検証中           : wireplumber-0.4.14-1.el9.x86_64                                               182/189
  検証中           : wireplumber-libs-0.4.14-1.el9.x86_64                                          183/189
  検証中           : xdg-dbus-proxy-0.1.3-1.el9.x86_64                                             184/189
  検証中           : xdg-desktop-portal-1.12.6-1.el9.x86_64                                        185/189
  検証中           : xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64                                    186/189
  検証中           : xkeyboard-config-2.33-2.el9.noarch                                            187/189
  検証中           : xml-common-0.6.3-58.el9.noarch                                                188/189
  検証中           : xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch                             189/189

削除しました:
  ImageMagick-libs-6.9.13.25-1.el9.x86_64
  LibRaw-0.21.1-1.el9.x86_64
  ModemManager-glib-1.20.2-1.el9.x86_64
  abattis-cantarell-fonts-0.301-4.el9.noarch
  adobe-mappings-cmap-20171205-12.el9.noarch
  adobe-mappings-cmap-deprecated-20171205-12.el9.noarch
  adobe-mappings-pdf-20180407-10.el9.noarch
  adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch
  adwaita-cursor-theme-40.1.1-3.el9.noarch
  adwaita-icon-theme-40.1.1-3.el9.noarch
  at-spi2-atk-2.38.0-4.el9.x86_64
  at-spi2-core-2.40.3-1.el9.x86_64
  atk-2.36.0-5.el9.x86_64
  avahi-glib-0.8-22.el9_6.x86_64
  avahi-libs-0.8-22.el9_6.x86_64
  bluez-libs-5.72-4.el9.x86_64
  bubblewrap-0.4.1-8.el9_5.x86_64
  cairo-1.17.4-7.el9.x86_64
  cairo-gobject-1.17.4-7.el9.x86_64
  colord-libs-1.4.5-6.el9_6.x86_64
  composefs-libs-1.0.8-1.el9.x86_64
  cups-libs-1:2.3.3op2-33.el9.x86_64
  dconf-0.40.0-6.el9.x86_64
  dejavu-sans-fonts-2.37-18.el9.noarch
  exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64
  exiv2-0.27.5-2.el9.x86_64
  exiv2-libs-0.27.5-2.el9.x86_64
  fdk-aac-free-2.0.0-8.el9.x86_64
  flac-libs-1.3.3-10.el9_2.1.x86_64
  flatpak-1.12.9-4.el9_6.x86_64
  flatpak-selinux-1.12.9-4.el9_6.noarch
  flatpak-session-helper-1.12.9-4.el9_6.x86_64
  fontconfig-2.14.0-2.el9_1.x86_64
  fonts-filesystem-1:2.0.5-7.el9.1.noarch
  fribidi-1.0.10-6.el9.2.x86_64
  fuse-2.9.9-17.el9.x86_64
  fuse-common-3.10.2-9.el9.x86_64
  gd-2.3.2-3.el9.x86_64
  gdk-pixbuf2-2.42.6-4.el9_4.x86_64
  gdk-pixbuf2-modules-2.42.6-4.el9_4.x86_64
  geoclue2-2.6.0-8.el9_6.1.x86_64
  giflib-5.2.1-9.el9.x86_64
  glib-networking-2.68.3-3.el9.x86_64
  google-droid-sans-fonts-20200215-11.el9.2.noarch
  graphene-1.10.6-2.el9.x86_64
  graphviz-2.44.0-26.el9.x86_64
  gsettings-desktop-schemas-40.0-6.el9.x86_64
  gsm-1.0.19-6.el9.x86_64
  gstreamer1-1.22.12-3.el9.x86_64
  gstreamer1-plugins-base-1.22.12-4.el9.x86_64
  gtk-update-icon-cache-3.24.31-5.el9.x86_64
  gtk2-2.24.33-8.el9.x86_64
  gtk3-3.24.31-5.el9.x86_64
  hicolor-icon-theme-0.17-13.el9.noarch
  imath-3.1.2-1.el9.x86_64
  iso-codes-4.6.0-3.el9.noarch
  jasper-libs-2.0.28-3.el9.x86_64
  jbig2dec-libs-0.19-7.el9.x86_64
  jbigkit-libs-2.1-23.el9.x86_64
  langpacks-core-font-en-3.0-16.el9.noarch
  lcms2-2.12-3.el9.x86_64
  libICE-1.0.10-8.el9.x86_64
  libSM-1.2.3-10.el9.x86_64
  libX11-1.7.0-11.el9.x86_64
  libX11-common-1.7.0-11.el9.noarch
  libX11-xcb-1.7.0-11.el9.x86_64
  libXau-1.0.9-8.el9.x86_64
  libXaw-1.0.13-19.el9.x86_64
  libXcomposite-0.4.5-7.el9.x86_64
  libXcursor-1.2.0-7.el9.x86_64
  libXdamage-1.1.5-7.el9.x86_64
  libXext-1.3.4-8.el9.x86_64
  libXfixes-5.0.3-16.el9.x86_64
  libXft-2.3.3-8.el9.x86_64
  libXi-1.7.10-8.el9.x86_64
  libXinerama-1.1.4-10.el9.x86_64
  libXmu-1.1.3-8.el9.x86_64
  libXpm-3.5.13-10.el9.x86_64
  libXrandr-1.5.2-8.el9.x86_64
  libXrender-0.9.10-16.el9.x86_64
  libXt-1.2.0-6.el9.x86_64
  libXtst-1.2.3-16.el9.x86_64
  libXv-1.0.11-16.el9.x86_64
  libXxf86vm-1.1.4-18.el9.x86_64
  libappstream-glib-0.7.18-5.el9_4.x86_64
  libasyncns-0.8-22.el9.x86_64
  libatomic-11.5.0-5.el9_5.alma.1.x86_64
  libcanberra-0.30-27.el9.x86_64
  libcanberra-gtk2-0.30-27.el9.x86_64
  libcanberra-gtk3-0.30-27.el9.x86_64
  libdrm-2.4.123-2.el9.x86_64
  libepoxy-1.5.5-4.el9.x86_64
  libexif-0.6.22-6.el9.x86_64
  libfontenc-1.1.3-17.el9.x86_64
  libgexiv2-0.12.3-1.el9.x86_64
  libglvnd-1:1.3.4-1.el9.x86_64
  libglvnd-egl-1:1.3.4-1.el9.x86_64
  libglvnd-glx-1:1.3.4-1.el9.x86_64
  libgs-9.54.0-19.el9_6.x86_64
  libgsf-1.14.47-5.el9.x86_64
  libgxps-0.3.2-3.el9.x86_64
  libijs-0.35-15.el9.x86_64
  libiptcdata-1.0.5-10.el9.x86_64
  libjpeg-turbo-2.0.90-7.el9.x86_64
  libldac-2.0.2.3-10.el9.x86_64
  liblqr-1-0.4.2-19.el9.x86_64
  libnotify-0.7.9-8.el9.x86_64
  libogg-2:1.3.4-6.el9.x86_64
  libosinfo-1.10.0-1.el9.x86_64
  libpaper-1.1.28-4.el9.x86_64
  libpciaccess-0.16-7.el9.x86_64
  libproxy-0.4.15-35.el9.x86_64
  libproxy-webkitgtk4-0.4.15-35.el9.x86_64
  libraqm-0.8.0-1.el9.x86_64
  librsvg2-2.50.7-3.el9.x86_64
  libsbc-1.4-9.el9.x86_64
  libsndfile-1.0.31-9.el9.x86_64
  libsoup-2.72.0-10.el9_6.2.x86_64
  libstemmer-0-18.585svn.el9.x86_64
  libtheora-1:1.1.1-31.el9.x86_64
  libtiff-4.4.0-13.el9.x86_64
  libtracker-sparql-3.1.2-3.el9_1.x86_64
  libvorbis-1:1.3.7-5.el9.x86_64
  libwayland-client-1.21.0-1.el9.x86_64
  libwayland-cursor-1.21.0-1.el9.x86_64
  libwayland-egl-1.21.0-1.el9.x86_64
  libwayland-server-1.21.0-1.el9.x86_64
  libwebp-1.2.0-8.el9_3.x86_64
  libwmf-lite-0.2.12-10.el9.x86_64
  libxcb-1.13.1-9.el9.x86_64
  libxkbcommon-1.0.3-4.el9.x86_64
  libxshmfence-1.3-10.el9.x86_64
  low-memory-monitor-2.1-4.el9.x86_64
  mesa-dri-drivers-24.2.8-2.el9_6.alma.1.x86_64
  mesa-filesystem-24.2.8-2.el9_6.alma.1.x86_64
  mesa-libEGL-24.2.8-2.el9_6.alma.1.x86_64
  mesa-libGL-24.2.8-2.el9_6.alma.1.x86_64
  mesa-libgbm-24.2.8-2.el9_6.alma.1.x86_64
  mesa-libglapi-24.2.8-2.el9_6.alma.1.x86_64
  mkfontscale-1.2.1-3.el9.x86_64
  openexr-libs-3.1.1-3.el9.x86_64
  openjpeg2-2.4.0-8.el9.x86_64
  opus-1.3.1-10.el9.x86_64
  orc-0.4.31-8.el9.x86_64
  osinfo-db-20250124-2.el9_6.alma.2.noarch
  osinfo-db-tools-1.10.0-1.el9.x86_64
  ostree-libs-2025.1-1.el9.x86_64
  p11-kit-server-0.25.3-3.el9_5.x86_64
  pango-1.48.7-3.el9.x86_64
  php-pecl-imagick-3.7.0-1.el9.x86_64
  pipewire-1.0.1-1.el9.x86_64
  pipewire-alsa-1.0.1-1.el9.x86_64
  pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64
  pipewire-jack-audio-connection-kit-libs-1.0.1-1.el9.x86_64
  pipewire-libs-1.0.1-1.el9.x86_64
  pipewire-pulseaudio-1.0.1-1.el9.x86_64
  pixman-0.40.0-6.el9_3.x86_64
  poppler-21.01.0-21.el9.x86_64
  poppler-data-0.4.9-9.el9.noarch
  poppler-glib-21.01.0-21.el9.x86_64
  pulseaudio-libs-15.0-3.el9.x86_64
  rtkit-0.11-29.el9.x86_64
  sound-theme-freedesktop-0.8-17.el9.noarch
  totem-pl-parser-3.26.6-2.el9.x86_64
  tracker-3.1.2-3.el9_1.x86_64
  tracker-miners-3.1.2-4.el9_3.x86_64
  upower-0.99.13-2.el9.x86_64
  urw-base35-bookman-fonts-20200910-6.el9.noarch
  urw-base35-c059-fonts-20200910-6.el9.noarch
  urw-base35-d050000l-fonts-20200910-6.el9.noarch
  urw-base35-fonts-20200910-6.el9.noarch
  urw-base35-fonts-common-20200910-6.el9.noarch
  urw-base35-gothic-fonts-20200910-6.el9.noarch
  urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch
  urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch
  urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch
  urw-base35-p052-fonts-20200910-6.el9.noarch
  urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch
  urw-base35-z003-fonts-20200910-6.el9.noarch
  webkit2gtk3-jsc-2.48.3-1.el9_6.x86_64
  webrtc-audio-processing-0.3.1-8.el9.x86_64
  wireplumber-0.4.14-1.el9.x86_64
  wireplumber-libs-0.4.14-1.el9.x86_64
  xdg-dbus-proxy-0.1.3-1.el9.x86_64
  xdg-desktop-portal-1.12.6-1.el9.x86_64
  xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64
  xkeyboard-config-2.33-2.el9.noarch
  xml-common-0.6.3-58.el9.noarch
  xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch

完了しました!
$

この後再度、dnf module switch-to php:8.3 を実行して切り替えに成功しました

$ sudo dnf module switch-to php:8.3
メタデータの期限切れの最終確認: 2:41:59 前の 2025年07月16日 07時18分53秒 に実施しました。
依存関係が解決しました。
===========================================================================================================
 パッケージ           Arch           バージョン                                    リポジトリー      サイズ
===========================================================================================================
アップグレード:
 php                  x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         7.8 k
 php-cli              x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         3.7 M
 php-common           x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         706 k
 php-fpm              x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         1.9 M
 php-intl             x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         167 k
 php-mbstring         x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         524 k
 php-mysqlnd          x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         144 k
 php-opcache          x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         353 k
 php-pdo              x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream          86 k
 php-pecl-zip         x86_64         1.22.3-1.module_el9.6.0+151+5f31e576          appstream          57 k
 php-xml              x86_64         8.3.19-1.module_el9.6.0+166+f262c21c          appstream         150 k
依存関係のインストール:
 capstone             x86_64         4.0.2-10.el9                                  appstream         766 k
モジュールストリームの有効化中:
 php                                 8.3

トランザクションの概要
===========================================================================================================
インストール     1 パッケージ
アップグレード  11 パッケージ

ダウンロードサイズの合計: 8.5 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/12): php-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm                 86 kB/s | 7.8 kB     00:00
(2/12): capstone-4.0.2-10.el9.x86_64.rpm                                   3.1 MB/s | 766 kB     00:00
(3/12): php-common-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm         2.8 MB/s | 706 kB     00:00
(4/12): php-intl-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm           2.0 MB/s | 167 kB     00:00
(5/12): php-mbstring-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm       2.5 MB/s | 524 kB     00:00
(6/12): php-mysqlnd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm        2.2 MB/s | 144 kB     00:00
(7/12): php-fpm-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm            3.8 MB/s | 1.9 MB     00:00
(8/12): php-opcache-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm        2.7 MB/s | 353 kB     00:00
(9/12): php-pdo-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm            1.1 MB/s |  86 kB     00:00
(10/12): php-pecl-zip-1.22.3-1.module_el9.6.0+151+5f31e576.x86_64.rpm      1.5 MB/s |  57 kB     00:00
(11/12): php-xml-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm           1.5 MB/s | 150 kB     00:00
(12/12): php-cli-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm           4.0 MB/s | 3.7 MB     00:00
-----------------------------------------------------------------------------------------------------------
合計                                                                       5.7 MB/s | 8.5 MB     00:01
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                   1/1
  アップグレード中 : php-common-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                           1/23
  アップグレード中 : php-pdo-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                              2/23
  アップグレード中 : php-cli-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                              3/23
  アップグレード中 : php-fpm-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                              4/23
  scriptletの実行中: php-fpm-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                              4/23
  アップグレード中 : php-mbstring-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                         5/23
  アップグレード中 : php-xml-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                              6/23
  インストール中   : capstone-4.0.2-10.el9.x86_64                                                     7/23
  アップグレード中 : php-opcache-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                          8/23
  アップグレード中 : php-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                                  9/23
  アップグレード中 : php-mysqlnd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                         10/23
  アップグレード中 : php-intl-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                            11/23
  アップグレード中 : php-pecl-zip-1.22.3-1.module_el9.6.0+151+5f31e576.x86_64                        12/23
  整理             : php-8.0.30-3.el9_6.x86_64                                                       13/23
  整理             : php-pecl-zip-1.19.2-6.el9.x86_64                                                14/23
  整理             : php-cli-8.0.30-3.el9_6.x86_64                                                   15/23
  scriptletの実行中: php-fpm-8.0.30-3.el9_6.x86_64                                                   16/23
  整理             : php-fpm-8.0.30-3.el9_6.x86_64                                                   16/23
  整理             : php-mbstring-8.0.30-3.el9_6.x86_64                                              17/23
  整理             : php-opcache-8.0.30-3.el9_6.x86_64                                               18/23
  整理             : php-xml-8.0.30-3.el9_6.x86_64                                                   19/23
  整理             : php-mysqlnd-8.0.30-3.el9_6.x86_64                                               20/23
  整理             : php-pdo-8.0.30-3.el9_6.x86_64                                                   21/23
  整理             : php-intl-8.0.30-3.el9_6.x86_64                                                  22/23
  整理             : php-common-8.0.30-3.el9_6.x86_64                                                23/23
  scriptletの実行中: php-common-8.0.30-3.el9_6.x86_64                                                23/23
  検証中           : capstone-4.0.2-10.el9.x86_64                                                     1/23
  検証中           : php-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                                  2/23
  検証中           : php-8.0.30-3.el9_6.x86_64                                                        3/23
  検証中           : php-cli-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                              4/23
  検証中           : php-cli-8.0.30-3.el9_6.x86_64                                                    5/23
  検証中           : php-common-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                           6/23
  検証中           : php-common-8.0.30-3.el9_6.x86_64                                                 7/23
  検証中           : php-fpm-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                              8/23
  検証中           : php-fpm-8.0.30-3.el9_6.x86_64                                                    9/23
  検証中           : php-intl-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                            10/23
  検証中           : php-intl-8.0.30-3.el9_6.x86_64                                                  11/23
  検証中           : php-mbstring-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                        12/23
  検証中           : php-mbstring-8.0.30-3.el9_6.x86_64                                              13/23
  検証中           : php-mysqlnd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                         14/23
  検証中           : php-mysqlnd-8.0.30-3.el9_6.x86_64                                               15/23
  検証中           : php-opcache-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                         16/23
  検証中           : php-opcache-8.0.30-3.el9_6.x86_64                                               17/23
  検証中           : php-pdo-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                             18/23
  検証中           : php-pdo-8.0.30-3.el9_6.x86_64                                                   19/23
  検証中           : php-pecl-zip-1.22.3-1.module_el9.6.0+151+5f31e576.x86_64                        20/23
  検証中           : php-pecl-zip-1.19.2-6.el9.x86_64                                                21/23
  検証中           : php-xml-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                             22/23
  検証中           : php-xml-8.0.30-3.el9_6.x86_64                                                   23/23

アップグレード済み:
  php-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-cli-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-common-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-fpm-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-intl-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-mbstring-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-mysqlnd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-opcache-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-pdo-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
  php-pecl-zip-1.22.3-1.module_el9.6.0+151+5f31e576.x86_64
  php-xml-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64
インストール済み:
  capstone-4.0.2-10.el9.x86_64

完了しました!
$

で・・・削除した php-pecl-imagick はインストールできるかな?と試してみましたが、やっぱりだめでした

$ sudo dnf install php-pecl-imagick
メタデータの期限切れの最終確認: 2:43:35 前の 2025年07月16日 07時18分53秒 に実施しました。
エラー:
 問題: package php-pecl-imagick-3.7.0-1.el9.x86_64 from epel requires php(api) = 20200930-64, but none of the providers can be installed
  - package php-pecl-imagick-3.7.0-1.el9.x86_64 from epel requires php(zend-abi) = 20200930-64, but none of the providers can be installed
  - 競合するリクエスト
  - package php-common-8.0.30-3.el9_6.x86_64 from appstream is filtered out by modular filtering
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
$

2025/07/18追記

あれ??エディッタで直接画像を貼り付けようとすると「Webサーバーはこの画像に対してレスポンシブな画像サイズを生成できません。アップロードする前にJPEGまたはPNGに変換してください。」と表示されるようになった

今回の対応中にgdに関するパッケージが消されていたためだた。

必要なのは php-gdでした。

最初 gdだけかと思ってdnf install gdでインストールしたら状況が変わらなかったので「dnf install gd php-gd」が正解でした。

# dnf install gd
メタデータの期限切れの最終確認: 0:27:57 前の 2025年07月19日 18時14分35秒 に実施しました。
依存関係が解決しました。
==========================================================================================================================================
 パッケージ                               アーキテクチャー         バージョン                           リポジトリー                サイズ
==========================================================================================================================================
インストール:
 gd                                       x86_64                   2.3.2-3.el9                          appstream                   131 k
依存関係のインストール:
 dejavu-sans-fonts                        noarch                   2.37-18.el9                          baseos                      1.3 M
 fontconfig                               x86_64                   2.14.0-2.el9_1                       appstream                   274 k
 fonts-filesystem                         noarch                   1:2.0.5-7.el9.1                      baseos                      9.0 k
 jbigkit-libs                             x86_64                   2.1-23.el9                           appstream                    52 k
 langpacks-core-font-en                   noarch                   3.0-16.el9                           appstream                   9.4 k
 libX11                                   x86_64                   1.7.0-11.el9                         appstream                   646 k
 libX11-common                            noarch                   1.7.0-11.el9                         appstream                   151 k
 libXau                                   x86_64                   1.0.9-8.el9                          appstream                    30 k
 libXpm                                   x86_64                   3.5.13-10.el9                        appstream                    57 k
 libjpeg-turbo                            x86_64                   2.0.90-7.el9                         appstream                   174 k
 libtiff                                  x86_64                   4.4.0-13.el9                         appstream                   197 k
 libwebp                                  x86_64                   1.2.0-8.el9_3                        appstream                   276 k
 libxcb                                   x86_64                   1.13.1-9.el9                         appstream                   225 k
 xml-common                               noarch                   0.6.3-58.el9                         appstream                    31 k

トランザクションの概要
==========================================================================================================================================
インストール  15 パッケージ

ダウンロードサイズの合計: 3.5 M
インストール後のサイズ: 13 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/15): jbigkit-libs-2.1-23.el9.x86_64.rpm                                                                123 kB/s |  52 kB     00:00
(2/15): gd-2.3.2-3.el9.x86_64.rpm                                                                         309 kB/s | 131 kB     00:00
(3/15): langpacks-core-font-en-3.0-16.el9.noarch.rpm                                                      257 kB/s | 9.4 kB     00:00
(4/15): fontconfig-2.14.0-2.el9_1.x86_64.rpm                                                              555 kB/s | 274 kB     00:00
(5/15): libXau-1.0.9-8.el9.x86_64.rpm                                                                     389 kB/s |  30 kB     00:00
(6/15): libX11-common-1.7.0-11.el9.noarch.rpm                                                             1.2 MB/s | 151 kB     00:00
(7/15): libX11-1.7.0-11.el9.x86_64.rpm                                                                    3.7 MB/s | 646 kB     00:00
(8/15): libXpm-3.5.13-10.el9.x86_64.rpm                                                                   1.3 MB/s |  57 kB     00:00
(9/15): libjpeg-turbo-2.0.90-7.el9.x86_64.rpm                                                             1.9 MB/s | 174 kB     00:00
(10/15): libtiff-4.4.0-13.el9.x86_64.rpm                                                                  2.0 MB/s | 197 kB     00:00
(11/15): libwebp-1.2.0-8.el9_3.x86_64.rpm                                                                 2.8 MB/s | 276 kB     00:00
(12/15): xml-common-0.6.3-58.el9.noarch.rpm                                                               715 kB/s |  31 kB     00:00
(13/15): libxcb-1.13.1-9.el9.x86_64.rpm                                                                   2.4 MB/s | 225 kB     00:00
(14/15): fonts-filesystem-2.0.5-7.el9.1.noarch.rpm                                                        136 kB/s | 9.0 kB     00:00
(15/15): dejavu-sans-fonts-2.37-18.el9.noarch.rpm                                                         4.4 MB/s | 1.3 MB     00:00
------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                      1.5 MB/s | 3.5 MB     00:02
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                                                  1/1
  インストール中   : fonts-filesystem-1:2.0.5-7.el9.1.noarch                                                                         1/15
  インストール中   : dejavu-sans-fonts-2.37-18.el9.noarch                                                                            2/15
  インストール中   : libwebp-1.2.0-8.el9_3.x86_64                                                                                    3/15
  インストール中   : libjpeg-turbo-2.0.90-7.el9.x86_64                                                                               4/15
  インストール中   : langpacks-core-font-en-3.0-16.el9.noarch                                                                        5/15
  scriptletの実行中: xml-common-0.6.3-58.el9.noarch                                                                                  6/15
  インストール中   : xml-common-0.6.3-58.el9.noarch                                                                                  6/15
  インストール中   : fontconfig-2.14.0-2.el9_1.x86_64                                                                                7/15
  scriptletの実行中: fontconfig-2.14.0-2.el9_1.x86_64                                                                                7/15
  インストール中   : libXau-1.0.9-8.el9.x86_64                                                                                       8/15
  インストール中   : libxcb-1.13.1-9.el9.x86_64                                                                                      9/15
  インストール中   : libX11-common-1.7.0-11.el9.noarch                                                                              10/15
  インストール中   : libX11-1.7.0-11.el9.x86_64                                                                                     11/15
  インストール中   : libXpm-3.5.13-10.el9.x86_64                                                                                    12/15
  インストール中   : jbigkit-libs-2.1-23.el9.x86_64                                                                                 13/15
  インストール中   : libtiff-4.4.0-13.el9.x86_64                                                                                    14/15
  インストール中   : gd-2.3.2-3.el9.x86_64                                                                                          15/15
  scriptletの実行中: fontconfig-2.14.0-2.el9_1.x86_64                                                                               15/15
  scriptletの実行中: gd-2.3.2-3.el9.x86_64                                                                                          15/15
  検証中           : fontconfig-2.14.0-2.el9_1.x86_64                                                                                1/15
  検証中           : gd-2.3.2-3.el9.x86_64                                                                                           2/15
  検証中           : jbigkit-libs-2.1-23.el9.x86_64                                                                                  3/15
  検証中           : langpacks-core-font-en-3.0-16.el9.noarch                                                                        4/15
  検証中           : libX11-1.7.0-11.el9.x86_64                                                                                      5/15
  検証中           : libX11-common-1.7.0-11.el9.noarch                                                                               6/15
  検証中           : libXau-1.0.9-8.el9.x86_64                                                                                       7/15
  検証中           : libXpm-3.5.13-10.el9.x86_64                                                                                     8/15
  検証中           : libjpeg-turbo-2.0.90-7.el9.x86_64                                                                               9/15
  検証中           : libtiff-4.4.0-13.el9.x86_64                                                                                    10/15
  検証中           : libwebp-1.2.0-8.el9_3.x86_64                                                                                   11/15
  検証中           : libxcb-1.13.1-9.el9.x86_64                                                                                     12/15
  検証中           : xml-common-0.6.3-58.el9.noarch                                                                                 13/15
  検証中           : dejavu-sans-fonts-2.37-18.el9.noarch                                                                           14/15
  検証中           : fonts-filesystem-1:2.0.5-7.el9.1.noarch                                                                        15/15

インストール済み:
  dejavu-sans-fonts-2.37-18.el9.noarch         fontconfig-2.14.0-2.el9_1.x86_64          fonts-filesystem-1:2.0.5-7.el9.1.noarch
  gd-2.3.2-3.el9.x86_64                        jbigkit-libs-2.1-23.el9.x86_64            langpacks-core-font-en-3.0-16.el9.noarch
  libX11-1.7.0-11.el9.x86_64                   libX11-common-1.7.0-11.el9.noarch         libXau-1.0.9-8.el9.x86_64
  libXpm-3.5.13-10.el9.x86_64                  libjpeg-turbo-2.0.90-7.el9.x86_64         libtiff-4.4.0-13.el9.x86_64
  libwebp-1.2.0-8.el9_3.x86_64                 libxcb-1.13.1-9.el9.x86_64                xml-common-0.6.3-58.el9.noarch

完了しました!
# dnf install php-gd
メタデータの期限切れの最終確認: 0:29:07 前の 2025年07月19日 18時14分35秒 に実施しました。
依存関係が解決しました。
==========================================================================================================================================
 パッケージ              アーキテクチャー        バージョン                                              リポジトリー               サイズ
==========================================================================================================================================
インストール:
 php-gd                  x86_64                  8.3.19-1.module_el9.6.0+166+f262c21c                    appstream                   40 k

トランザクションの概要
==========================================================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 40 k
インストール後のサイズ: 113 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
php-gd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64.rpm                                                    361 kB/s |  40 kB     00:00
------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                       55 kB/s |  40 kB     00:00
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                                                  1/1
  インストール中   : php-gd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                                                               1/1
  scriptletの実行中: php-gd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                                                               1/1
  検証中           : php-gd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64                                                               1/1

インストール済み:
  php-gd-8.3.19-1.module_el9.6.0+166+f262c21c.x86_64

完了しました!
#

Oracle Linux 9でWordPressサーバを立てる

Oracle Linux 9でwordpressサーバをたてる、という記事を2022年9月に書き始めたのですが、Oracle Linux 9用のEPELレポジトリにfail2banが含まれていなかっため、sshへの簡単な対策が行えないため書くのを中断していました。

2023年7月25日の更新でfail2banが収録されたようなので、改めて手順を作成してみます

記事修正履歴

2024/05/07: 4月下旬から常時稼働させてみての修正を追加開始
 手順2-4 kdump無効化 を追加
 手順14-1 php-fpm起動数制限 を追加
 手順14-2 swapfile追加

準備1: Oracle Cloud用手順

準備1-1: IPv6アドレス割り当て:Oracle Cloudコンソール側

Oracle Cloudのコンソールを開いて、インスタンスにIPv6アドレスを割り当てます。

また、割り当てられたIPv6アドレスを確認します。

準備1-2: インスタンス側操作

Oracle Linux 9のイメージではIPv6が有効化されていたので、特に設定する必要はありませんでした。

準備2: 一般的な前準備

準備2-1: 日本時間にする

日本に住んでいる場合、日本時間表記の方が使いやすいので、OSも日本時間表示に設定する。

$ sudo timedatectl set-timezone Japan
$ 

準備2-2: パッケージを最新にアップデートする

現時点でインストール済みパッケージを最新にします。

Oracle Linux 9ではyum updateではなくdnf updateとなります。アップデート後は再起動します。(yumコマンドでも動きます)

$ sudo dnf update -y
<略>
$ sudo reboot

手順2-3:日本語Locale対応

ja_JP.UTF-8など日本語Localeで設定した際、「Failed to set locale, defaulting to C.UTF-8」というメッセージが出力される場合があります。

その場合は日本語Localeを追加インストールします。

$ sudo dnf install langpacks-ja glibc-langpack-ja
<略>
$

手順2-4:kdump無効化

(2024/05/07追加:OOK Killerが発動される率が高いので、少しでも影響を減らすために設定)

メモリが1GBしかないので、kdump.serviceの実行に失敗したりしている。

$ systemctl status kdump |cat
× kdump.service - Crash recovery kernel arming
     Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Tue 2024-05-07 09:22:57 JST; 5min ago
    Process: 2435 ExecStart=/usr/bin/kdumpctl start (code=exited, status=1/FAILURE)
   Main PID: 2435 (code=exited, status=1/FAILURE)
        CPU: 114ms
$

ダンプとっても使わないし、エラーとならないようkdumpを無効化してしまいます。

$ sudo systemctl disable kdump.service
Removed "/etc/systemd/system/multi-user.target.wants/kdump.service".
$

手順3: EPELレポジトリの追加

EPELレポジトリを使うので、使用できるようにします。

Oracle Linux 8と異なり、Oracle-Linux-9.2-2023.08.31-0 ではOracle CloudのOS管理下にレポジトリ管理が委託されていませんでした。

手順3-1:レポジトリの状態を確認

現状のレポジトリ設定状況を「sudo dnf repolist –all」を実行して確認します。

出力内に「This system is receiving updates from OSMS server.」という文字がなければこの手順で実行できます。

$ sudo dnf repolist --all
repo id                      repo name                                  status
ol9_MODRHCK                  Latest RHCK with fixes from Oracle for Ora disabled
ol9_RDMA                     Oracle Linux 9 (x86_64) RDMA               disabled
ol9_UEKR7                    Oracle Linux 9 UEK Release 7 (x86_64)      enabled
ol9_addons                   Oracle Linux 9 Addons (x86_64)             enabled
ol9_appstream                Oracle Linux 9 Application Stream Packages enabled
ol9_baseos_latest            Oracle Linux 9 BaseOS Latest (x86_64)      enabled
ol9_codeready_builder        Oracle Linux 9 CodeReady Builder (x86_64)  disabled
ol9_developer                Oracle Linux 9 Development Packages (x86_6 disabled
ol9_developer_EPEL           Oracle Linux 9 EPEL Packages for Developme disabled
ol9_developer_UEKR7          Developer Preview of UEK Release 7 (x86_64 disabled
ol9_developer_kvm_utils      Oracle Linux 9 KVM Utilities for Developme disabled
ol9_distro_builder           Oracle Linux 9 Distro Builder (x86_64) - ( disabled
ol9_ksplice                  Ksplice for Oracle Linux 9 (x86_64)        enabled
ol9_kvm_utils                Oracle Linux 9 KVM Utilities (x86_64)      disabled
ol9_oci_included             Oracle Linux 9 OCI Included Packages (x86_ enabled
ol9_u0_baseos_base           Oracle Linux 9 BaseOS GA (x86_64)          disabled
ol9_u1_baseos_base           Oracle Linux 9.1 BaseOS (x86_64)           disabled
ol9_u2_baseos_base           Oracle Linux 9.2 BaseOS (x86_64)           disabled
ol9_x86_64_userspace_ksplice Ksplice aware userspace packages for Oracl disabled
$

有効化するために「sudo dnf config-manager –set-enabled ol9_developer_EPEL」を実行します。

$ sudo dnf config-manager --set-enabled ol9_developer_EPEL
$ sudo dnf repolist --all
repo id                      repo name                                  status
ol9_MODRHCK                  Latest RHCK with fixes from Oracle for Ora disabled
ol9_RDMA                     Oracle Linux 9 (x86_64) RDMA               disabled
ol9_UEKR7                    Oracle Linux 9 UEK Release 7 (x86_64)      enabled
ol9_addons                   Oracle Linux 9 Addons (x86_64)             enabled
ol9_appstream                Oracle Linux 9 Application Stream Packages enabled
ol9_baseos_latest            Oracle Linux 9 BaseOS Latest (x86_64)      enabled
ol9_codeready_builder        Oracle Linux 9 CodeReady Builder (x86_64)  disabled
ol9_developer                Oracle Linux 9 Development Packages (x86_6 disabled
ol9_developer_EPEL           Oracle Linux 9 EPEL Packages for Developme enabled
ol9_developer_UEKR7          Developer Preview of UEK Release 7 (x86_64 disabled
ol9_developer_kvm_utils      Oracle Linux 9 KVM Utilities for Developme disabled
ol9_distro_builder           Oracle Linux 9 Distro Builder (x86_64) - ( disabled
ol9_ksplice                  Ksplice for Oracle Linux 9 (x86_64)        enabled
ol9_kvm_utils                Oracle Linux 9 KVM Utilities (x86_64)      disabled
ol9_oci_included             Oracle Linux 9 OCI Included Packages (x86_ enabled
ol9_u0_baseos_base           Oracle Linux 9 BaseOS GA (x86_64)          disabled
ol9_u1_baseos_base           Oracle Linux 9.1 BaseOS (x86_64)           disabled
ol9_u2_baseos_base           Oracle Linux 9.2 BaseOS (x86_64)           disabled
ol9_x86_64_userspace_ksplice Ksplice aware userspace packages for Oracl disabled
$

手順4: インターネット公開用設定

手順4-1: fail2ban導入

公開サーバは各種のアタックにさらされます。管理用sshポートにもやってきます。

多少なりとも軽減するためにEPELレポジトリ収録のfail2banを使用します。

$ sudo dnf install fail2ban -y
<略>
$

カスタム設定は/etc/fail2ban/jail.local に対して行います。

$ sudo vi /etc/fail2ban/jail.local
$ cat /etc/fail2ban/jail.local
[DEFAULT]
# 86400秒=24時間以内に5回不審なアクセスがあったら24時間BAN
bantime  = 86400
findtime  = 86400
maxretry = 5
# 259200秒=3日以内に5回不審なアクセスがあったら3日間BAN
#bantime  = 259200
#findtime  = 259200
#maxretry = 5
# 除外IP
ignoreip = 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
[sshd]
enabled = true
banaction = firewallcmd-ipset
$

上記設定では24時間BANにしていますが、まぁ、3日BANでもかまわないとは思います。(本当に間違えた場合に困るのでほどほどにしておくとよい)

fail2banをOS起動時に実行する設定と、今すぐfail2banを起動するコマンドを実行します。

$ sudo systemctl enable fail2ban
$ sudo systemctl start fail2ban
$

以降、アタックがあると /var/log/fail2ban.log にログが出ます。

手順4-2: Webサーバ用ポート公開設定

この段階では、dhcpv6-clientとsshのみが許可されています。

Webサーバ公開用にhttp(ポート80)とhttps(ポート443)を追加します。

$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$
$ sudo firewall-cmd --permanent --add-service=http
success
$ sudo firewall-cmd --permanent --add-service=https
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client http https ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$

手順5: php 追加

Oracle Linux 9環境では、moduleという形で複数バージョンのソフトウェアが提供されている場合があります。

phpに関してどのようなものがあるのかを「dnf module list | grep php」を実行して確認します。

$ dnf module list | grep php
php        8.1    common [d], devel, minimal            PHP scripting language  
$

Oracle Linux 9.2では php 8.1だけが提供されているようなので、phpとだけ指定してインストールします。

$ sudo dnf install php -y
Last metadata expiration check: 0:18:54 ago on Tue 12 Sep 2023 11:13:37 AM JST.
Dependencies resolved.
================================================================================
 Package             Arch    Version                   Repository          Size
================================================================================
Installing:
 php                 x86_64  8.0.27-1.el9_1            ol9_appstream       10 k
Installing dependencies:
 apr                 x86_64  1.7.0-11.el9              ol9_appstream      132 k
 apr-util            x86_64  1.6.1-20.el9_2.1          ol9_appstream       98 k
 apr-util-bdb        x86_64  1.6.1-20.el9_2.1          ol9_appstream       12 k
 httpd-core          x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream      1.8 M
 httpd-filesystem    noarch  2.4.53-11.0.1.el9_2.5     ol9_appstream       14 k
 httpd-tools         x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream       96 k
 nginx-filesystem    noarch  1:1.20.1-14.0.1.el9       ol9_appstream       11 k
 oracle-logos-httpd  noarch  90.2-1.0.2.el9            ol9_baseos_latest   37 k
 php-common          x86_64  8.0.27-1.el9_1            ol9_appstream      716 k
Installing weak dependencies:
 apr-util-openssl    x86_64  1.6.1-20.el9_2.1          ol9_appstream       14 k
 httpd               x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream       67 k
 mod_http2           x86_64  1.15.19-4.el9_2.4         ol9_appstream      157 k
 mod_lua             x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream       61 k
 php-cli             x86_64  8.0.27-1.el9_1            ol9_appstream      3.1 M
 php-fpm             x86_64  8.0.27-1.el9_1            ol9_appstream      1.6 M
 php-mbstring        x86_64  8.0.27-1.el9_1            ol9_appstream      470 k
 php-opcache         x86_64  8.0.27-1.el9_1            ol9_appstream      512 k
 php-pdo             x86_64  8.0.27-1.el9_1            ol9_appstream       90 k
 php-xml             x86_64  8.0.27-1.el9_1            ol9_appstream      144 k
Transaction Summary
================================================================================
Install  20 Packages
<略>
  php-pdo-8.0.27-1.el9_1.x86_64
  php-xml-8.0.27-1.el9_1.x86_64
Complete!
$

手順6: MySQL設定編

Oralce Linux 9.2ではMySQL 8.0.32 か mariadb 10.5.16が提供されています。

とりあえず、Oracle直営なのでMySQLを使っておきます。

$ sudo dnf install mysql-server -y
Last metadata expiration check: 0:23:36 ago on Tue 12 Sep 2023 11:13:37 AM JST.
Dependencies resolved.
================================================================================
 Package                      Arch     Version            Repository       Size
================================================================================
Installing:
 mysql-server                 x86_64   8.0.32-1.el9_2     ol9_appstream    17 M
Installing dependencies:
 mariadb-connector-c-config   noarch   3.2.6-1.el9_0      ol9_appstream   9.7 k
 mecab                        x86_64   0.996-3.el9.3      ol9_appstream   384 k
 mysql                        x86_64   8.0.32-1.el9_2     ol9_appstream   2.8 M
 mysql-common                 x86_64   8.0.32-1.el9_2     ol9_appstream   103 k
 mysql-errmsg                 x86_64   8.0.32-1.el9_2     ol9_appstream   513 k
 mysql-selinux                noarch   1.0.5-1.el9_0      ol9_appstream    35 k
 protobuf-lite                x86_64   3.14.0-13.el9      ol9_appstream   233 k
Transaction Summary
================================================================================
Install  8 Packages
<略>
Installed:
  mariadb-connector-c-config-3.2.6-1.el9_0.noarch
  mecab-0.996-3.el9.3.x86_64
  mysql-8.0.32-1.el9_2.x86_64
  mysql-common-8.0.32-1.el9_2.x86_64
  mysql-errmsg-8.0.32-1.el9_2.x86_64
  mysql-selinux-1.0.5-1.el9_0.noarch
  mysql-server-8.0.32-1.el9_2.x86_64
  protobuf-lite-3.14.0-13.el9.x86_64
Complete!
$

mysqldを自動起動する設定とします。

$ sudo systemctl enable mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
$

mysqldを起動します。

$ sudo systemctl start mysqld
$

WordPress用データベースを作成します。

MySQL 8におけるデータベースユーザ作成と権限の割り当てが従来の「grant all on DB名.* to wordpress@localhost identified by ‘パスワード’;」という一文から、「create user ~」と「grant ~」の2つに分かれている点に注意が必要です。

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.32 Source distribution
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database DB名 character set utf8;
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> create user wordpress@localhost  identified by 'パスワード';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on DB名.* to wordpress@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
$

手順7: Webサーバ設定

手順7-1: httpdインストール

httpdをインストールします。

Oracle Linux 9.2ではWebサーバとして Apache(httpd) 2.4.53 、nginx 1.20.1、nginx 1.22.1が使えるが、apacheを使う。

$ sudo dnf install httpd -y
Last metadata expiration check: 0:05:50 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Package httpd-2.4.53-11.0.1.el9_2.5.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
$

って・・・よくみたらphpインストール時にインストール済みでした。

次で設定変更をするので、この段階ではhttpdを起動しません。

OS起動時に自動起動する設定だけを行います。

$ sudo systemctl enable httpd
$

手順7-2: dehydratedによるLet’s Encrypt導入

Let’s EncryptによるSSL証明書導入はcertbotを使うのが一般的ではあるのだが、python環境とあわせてパッケージサイズが大きいので、コンパクトでEPELにも収録されているdehydratedを使用する。

$ sudo dnf install dehydrated -y
Last metadata expiration check: 0:07:19 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package         Arch        Version              Repository               Size
================================================================================
Installing:
 dehydrated      noarch      0.7.1-1.el9          ol9_developer_EPEL      154 k
Installing dependencies:
 s-nail          x86_64      14.9.22-6.el9        ol9_appstream           626 k
Transaction Summary
================================================================================
Install  2 Packages
<略>
Installed:
  dehydrated-0.7.1-1.el9.noarch           s-nail-14.9.22-6.el9.x86_64
Complete!
$

dehydratedによるSSL証明書取得処理には /var/www/dehydrated が使用されるためディレクトリを作成します。

$ sudo mkdir  /var/www/dehydrated
$

http://~/.well-known/acme-challenge でアクセスした時に上記ディレクトリが開くようApacheの設定を /etc/httpd/conf.d/dehydrated.conf として作成します。(sudo vi /etc/httpd/conf.d/dehydrated.conf )

$ sudo vi /etc/httpd/conf.d/dehydrated.conf
$ cat /etc/httpd/conf.d/dehydrated.conf
Alias /.well-known/acme-challenge /var/www/dehydrated
<Directory /var/www/dehydrated/>
</Directory>
$

httpdを起動します

$ sudo systemctl start httpd
$

SSL証明書を発行するホスト名を /etc/dehydrated/domains.txt に記載する。(sudo vi /etc/dehydrated/domains.txt)

1行に複数のホスト名を記載するとaliasになります。

$ sudo vi /etc/dehydrated/domains.txt
$ sudo cat /etc/dehydrated/domains.txt
ホスト1名.ドメイン名 ホスト2名.ドメイン名
$

登録操作を開始します。

$ sudo dehydrated --register
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
To use dehydrated with this certificate authority you have to agree to their terms of service which you can find here: https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf
To accept these terms of service run "/bin/dehydrated --register --accept-terms".
$ sudo /bin/dehydrated --register --accept-terms
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account URL...
+ Done!
$

初回のSSL証明書発行処理を実行します。

$ sudo dehydrated --cron
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
 + Creating chain cache directory /etc/dehydrated/chains
Processing ホスト1名.ドメイン名 with alternative names: ホスト2名.ドメイン名
 + Creating new directory /etc/dehydrated/certs/ホスト1名.ドメイン名 ...
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 2 authorizations URLs from the CA
 + Handling authorization for ホスト1名.ドメイン名
 + Handling authorization for ホスト2名.ドメイン名
 + 2 pending challenge(s)
 + Deploying challenge tokens...
 + Responding to challenge for ホスト1名.ドメイン名 authorization...
 + Challenge is valid!
 + Responding to challenge for ホスト2名.ドメイン名 authorization...
 + Challenge is valid!
 + Cleaning challenge tokens...
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!
 + Running automatic cleanup
$

手順7-3: WebサーバへのSSL証明書設定

まず、httpdにmod_sslを追加します。

$ sudo dnf install mod_ssl -y
Last metadata expiration check: 0:13:55 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package      Arch        Version                      Repository          Size
================================================================================
Installing:
 mod_ssl      x86_64      1:2.4.53-11.0.1.el9_2.5      ol9_appstream      119 k
Transaction Summary
================================================================================
Install  1 Package
<略>
$

標準の /etc/httpd/conf.d/ssl.conf は使わず、Mozilla SSL Configuration Generatorベースの設定を /etc/httpd/conf.d/ssl-mozilla.conf として作成します。(なお、ssl.conf には”Listen 443 https”設定もあるので、そのままにしています)

$ sudo vi /etc/httpd/conf.d/ssl-mozilla.conf
$ cat /etc/httpd/conf.d/ssl-mozilla.conf
# generated 2023-09-12, Mozilla Guideline v5.7, Apache 2.4.53, OpenSSL 3.0.7, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.53&config=intermediate&openssl=3.0.7&guideline=5.7
# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
    SSLEngine on
    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /etc/dehydrated/certs/<ホスト名>/cert.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/<ホスト名>/privkey.pem
    # enable HTTP/2, if available
    Protocols h2 http/1.1
    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
# intermediate configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder     off
SSLSessionTickets       off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
$

httpdを再起動します。

$ sudo systemctl restart httpd
$

手順8: WordPress導入

手順8-1: WordPressの基本インストール

WordPressのWebから最新版をダウンロードして、/var/www/html以下に展開します。
(日本語環境向けのlatest-ja.tar.gzファイルを使っていないのはWordpressプラグインが正常にインストールできるかを確認するためにWP Multibyte Patchを手動インストールする手順を入れているためです)

$ cd /var/www/html
$ ls
$ sudo curl -O https://wordpress.org/latest.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.3M  100 22.3M    0     0  17.6M      0  0:00:01  0:00:01 --:--:-- 17.6M
$ ls
latest.tar.gz
$ sudo tar xfz latest.tar.gz
$ ls -l
total 22904
-rw-r--r--. 1 root   root   23447259 Sep 12 11:57 latest.tar.gz
drwxr-xr-x. 5 nobody nobody     4096 Aug 29 23:14 wordpress
$ sudo rm latest.tar.gz
$

WordPressディレクトリの所有者をWebサービスのユーザである「apache」に変更します。

$ ps -ef|grep http
root       44914       1  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44915   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44916   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44917   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44918   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
opc        45353    7003  0 11:59 pts/0    00:00:00 grep --color=auto http
$ sudo chown -R apache:apache wordpress/
$ ls -l
total 4
drwxr-xr-x. 5 apache apache 4096 Aug 29 23:14 wordpress
$

/var/www/html/wordpress をDocumentRootとするように ssl-mozilla.conf に追加して、httpdを再起動します。

$ sudo vi /etc/httpd/conf.d/ssl-mozilla.conf
$ cat /etc/httpd/conf.d/ssl-mozilla.conf
# generated 2023-09-12, Mozilla Guideline v5.7, Apache 2.4.53, OpenSSL 3.0.7, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.53&config=intermediate&openssl=3.0.7&guideline=5.7
# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
    DocumentRoot /var/www/html/wordpress
    SSLEngine on
    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /etc/dehydrated/certs/<ホスト名>/cert.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/<ホスト名>/privkey.pem
    # enable HTTP/2, if available
    Protocols h2 http/1.1
    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
# intermediate configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder     off
SSLSessionTickets       off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
$
$ sudo systemctl restart httpd
$

手順8-2: 「missing the MySQL extension」がでる場合の手順

いまの状態でブラウザからアクセスすると、下記の表示になります。

これはphpからMySQLにアクセスするためのパッケージがインストールされていないためなので、php-mysqlndを追加して、httpdを再起動します。

$ sudo dnf install php-mysqlnd -y
Last metadata expiration check: 0:25:26 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package           Architecture Version               Repository           Size
================================================================================
Installing:
 php-mysqlnd       x86_64       8.0.27-1.el9_1        ol9_appstream       157 k
Transaction Summary
================================================================================
Install  1 Package
<略>
$ sudo systemctl restart httpd
$

WordPressの設定手順を進めると wp-config.php に書き込めない、と出ますので、「sudo vi /var/www/html/wordpress/wp-config.php」を実行し、指定された内容を記載します。

手順9: SELinux設定

手順9-1: httpdのネットワーク接続問題

一見するとここまででうまく動いているように見えます。

しかし、プラグインをインストールしようとするとエラーになります。

/var/log/audit/audit.logを確認すると下記のようなログが出ています。

type=AVC msg=audit(1622095859.957:2064): avc:  denied  { name_connect } for  pid=8908 comm="php-fpm" dest=443 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1622095868.397:2065): avc:  denied  { name_connect } for  pid=8313 comm="php-fpm" dest=443 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1622095868.401:2066): avc:  denied  { name_connect } for  pid=8313 comm="php-fpm" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0

これはhttpd_can_network_connect という値で制御されている

現在の設定値を「sudo getsebool -a |grep httpd_can_network」で確認し、「sudo setsebool -P httpd_can_network_connect on」で有効にする

$ sudo getsebool -a |grep httpd_can_network
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
$ sudo setsebool -P httpd_can_network_connect on
$ sudo getsebool -a |grep httpd_can_network
httpd_can_network_connect --> on
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
$

この変更ではhttpdの再起動は不要。

手順9-2: php-fpmの書き込み権限問題

プラグインやテーマのインストールについては問題なくても、WordPressのアップデートが出来ない。

このときの/var/log/audit/audit.logは下記

type=AVC msg=audit(1694506911.363:1538): avc:  denied  { write } for  pid=51364 comm="php-fpm" name="wordpress" dev="dm-0" ino=34891933 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=dir permissive=0

こちらは/var/www/html/wordpress に対して httpdから書き込みが行えるような SELinuxのコンテキストをつけることで解決する。

「sudo chcon -R -t httpd_sys_script_rw_t /var/www/html/wordpress」

$ ls -lZ /var/www/html/
total 4
drwxr-xr-x. 5 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 4096 Sep 12 13:14 wordpress
$ sudo chcon -R -t httpd_sys_script_rw_t /var/www/html/wordpress
$ ls -lZ /var/www/html/
total 4
drwxr-xr-x. 5 apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 4096 Sep 12 13:14 wordpress
$

手順9-3:Wordpressプラグイン追加の動作確認

WordPressプラグインがインストールできる状態になっているかを確認するために「WP Multibyte Patch」をインストールします。

これをインストールするとWordpressの設定画面([Settings]-[General])に「Site language(サイトの言語)」が追加され、「日本語」表示に切り替えることができるようになります。

手順10: WordPressで取り扱えるファイルサイズの拡大

WordPressで取り扱えるファイルは標準状態だと2MBになっている。

WordPressのドキュメントのFile Upload Sizes を見ると、これはphpの設定ファイル /etc/php.ini による制限となっている。

Oracle Linux 9の標準設定では下記の値となっている。

<略>
post_max_size = 8M
<略>
upload_max_filesize = 2M
<略>

で・・・よくある手順だと軽率に /etc/php.ini を書き換えていますが、 /etc/php.d/ 以下にファイルを追加することで、そちらの設定項目を優先させることができる機能があるため、 /etc/php.d/90-wordpress.ini に変更したい2行だけを記載したファイルを作成します。

$ sudo vi /etc/php.d/90-wordpress.ini
$ cat /etc/php.d/90-wordpress.ini
post_max_size = 100M
upload_max_filesize = 100M
$

phpの設定変更を反映させるために「sudo systemctl restart php-fpm」を実行します。

$ sudo systemctl restart php-fpm
$

手順11: WordPressのSite Health Status対応

WordPressのサイトステータスを見てみると、いくつかパッケージを要求されている。

上から順に調査

Oracle Linux 8ではimagemagickのphpモジュールはなかったが、Oracle Linux 9だとあったので「sudo dnf install php-pecl-imagick」でインストール

$ sudo dnf install php-pecl-imagick
Last metadata expiration check: 1:22:23 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package                        Arch   Version         Repository          Size
================================================================================
Installing:
 php-pecl-imagick               x86_64 3.7.0-1.el9     ol9_developer_EPEL 149 k
Installing dependencies:
 ImageMagick-libs               x86_64 6.9.12.93-1.el9 ol9_developer_EPEL 2.6 M
 LibRaw                         x86_64 0.20.2-5.el9    ol9_appstream      382 k
 ModemManager-glib              x86_64 1.20.2-1.el9    ol9_baseos_latest  334 k
 adobe-mappings-cmap            noarch 20171205-12.el9 ol9_appstream      2.0 M
 adobe-mappings-cmap-deprecated noarch 20171205-12.el9 ol9_appstream      129 k
 adobe-mappings-pdf             noarch 20180407-10.el9 ol9_appstream      686 k
 adwaita-cursor-theme           noarch 40.1.1-3.el9    ol9_appstream      686 k
 adwaita-icon-theme             noarch 40.1.1-3.el9    ol9_appstream       16 M
 alsa-lib                       x86_64 1.2.8-3.el9     ol9_appstream      586 k
 at-spi2-atk                    x86_64 2.38.0-4.el9    ol9_appstream       92 k
 at-spi2-core                   x86_64 2.40.3-1.el9    ol9_appstream      262 k
 atk                            x86_64 2.36.0-5.el9    ol9_appstream      378 k
 avahi-glib                     x86_64 0.8-12.el9_2.1  ol9_appstream       13 k
 bluez-libs                     x86_64 5.64-2.el9      ol9_baseos_latest   83 k
 bubblewrap                     x86_64 0.4.1-6.el9     ol9_baseos_latest   50 k
 colord-libs                    x86_64 1.4.5-4.el9     ol9_appstream      235 k
 cups-libs                      x86_64 1:2.3.3op2-16.el9_2.1
                                                       ol9_baseos_latest  264 k
 exempi                         x86_64 2.6.0-0.2.20211007gite23c213.el9
                                                       ol9_appstream      531 k
 exiv2-libs                     x86_64 0.27.5-2.el9    ol9_appstream      780 k
 fdk-aac-free                   x86_64 2.0.0-8.el9     ol9_appstream      325 k
 flac-libs                      x86_64 1.3.3-10.el9    ol9_appstream      226 k
 flatpak-selinux                noarch 1.12.7-2.el9    ol9_appstream       22 k
 flatpak-session-helper         x86_64 1.12.7-2.el9    ol9_appstream       80 k
 fuse                           x86_64 2.9.9-15.el9    ol9_baseos_latest   91 k
 gd                             x86_64 2.3.2-3.el9     ol9_appstream      132 k
 gdk-pixbuf2-modules            x86_64 2.42.6-3.el9    ol9_appstream       96 k
 geoclue2                       x86_64 2.6.0-7.el9     ol9_appstream      136 k
 giflib                         x86_64 5.2.1-9.el9     ol9_appstream       53 k
 google-droid-sans-fonts        noarch 20200215-11.el9.2
                                                       ol9_appstream      2.7 M
 graphene                       x86_64 1.10.6-2.el9    ol9_appstream       64 k
 graphviz                       x86_64 2.44.0-25.el9   ol9_appstream      3.4 M
 gsm                            x86_64 1.0.19-6.el9    ol9_appstream       39 k
 gstreamer1                     x86_64 1.18.4-4.el9    ol9_appstream      1.5 M
 gstreamer1-plugins-base        x86_64 1.18.4-5.el9    ol9_appstream      2.1 M
 gtk-update-icon-cache          x86_64 3.24.31-2.el9   ol9_appstream       34 k
 gtk2                           x86_64 2.24.33-8.el9   ol9_appstream      3.6 M
 gtk3                           x86_64 3.24.31-2.el9   ol9_appstream      5.0 M
 hicolor-icon-theme             noarch 0.17-13.el9     ol9_appstream       70 k
 imath                          x86_64 3.1.2-1.el9     ol9_appstream      102 k
 iso-codes                      noarch 4.6.0-3.el9     ol9_appstream      4.0 M
 jasper-libs                    x86_64 2.0.28-3.el9    ol9_appstream      151 k
 jbig2dec-libs                  x86_64 0.19-7.el9      ol9_appstream       77 k
 jbigkit-libs                   x86_64 2.1-23.el9      ol9_appstream       58 k
 lcms2                          x86_64 2.12-3.el9      ol9_appstream      167 k
 libICE                         x86_64 1.0.10-8.el9    ol9_appstream       71 k
 libSM                          x86_64 1.2.3-10.el9    ol9_appstream       42 k
 libX11-xcb                     x86_64 1.7.0-7.el9     ol9_appstream       12 k
 libXaw                         x86_64 1.0.13-19.el9   ol9_appstream      198 k
 libXcomposite                  x86_64 0.4.5-7.el9     ol9_appstream       29 k
 libXcursor                     x86_64 1.2.0-7.el9     ol9_appstream       35 k
 libXdamage                     x86_64 1.1.5-7.el9     ol9_appstream       27 k
 libXfixes                      x86_64 5.0.3-16.el9    ol9_appstream       20 k
 libXi                          x86_64 1.7.10-8.el9    ol9_appstream       40 k
 libXinerama                    x86_64 1.1.4-10.el9    ol9_appstream       15 k
 libXmu                         x86_64 1.1.3-8.el9     ol9_appstream       79 k
 libXpm                         x86_64 3.5.13-8.el9_1  ol9_appstream       62 k
 libXrandr                      x86_64 1.5.2-8.el9     ol9_appstream       28 k
 libXt                          x86_64 1.2.0-6.el9     ol9_appstream      180 k
 libXtst                        x86_64 1.2.3-16.el9    ol9_appstream       21 k
 libXv                          x86_64 1.0.11-16.el9   ol9_appstream       19 k
 libXxf86vm                     x86_64 1.1.4-18.el9    ol9_appstream       19 k
 libasyncns                     x86_64 0.8-22.el9      ol9_appstream       30 k
 libcanberra                    x86_64 0.30-26.el9     ol9_appstream      100 k
 libcanberra-gtk3               x86_64 0.30-26.el9     ol9_appstream       39 k
 libdrm                         x86_64 2.4.114-1.el9   ol9_appstream      165 k
 libepoxy                       x86_64 1.5.5-4.el9     ol9_appstream      246 k
 libexif                        x86_64 0.6.22-6.el9    ol9_appstream      462 k
 libfontenc                     x86_64 1.1.3-17.el9    ol9_appstream       31 k
 libgexiv2                      x86_64 0.12.3-1.el9    ol9_appstream       88 k
 libglvnd                       x86_64 1:1.3.4-1.el9   ol9_appstream      134 k
 libglvnd-egl                   x86_64 1:1.3.4-1.el9   ol9_appstream       35 k
 libglvnd-glx                   x86_64 1:1.3.4-1.el9   ol9_appstream      141 k
 libgs                          x86_64 9.54.0-9.el9    ol9_appstream      3.4 M
 libgsf                         x86_64 1.14.47-5.el9   ol9_appstream      302 k
 libgxps                        x86_64 0.3.2-3.el9     ol9_appstream       86 k
 libijs                         x86_64 0.35-15.el9     ol9_appstream       30 k
 libiptcdata                    x86_64 1.0.5-9.el9     ol9_appstream       73 k
 libldac                        x86_64 2.0.2.3-10.el9  ol9_appstream       41 k
 liblqr-1                       x86_64 0.4.2-19.el9    ol9_developer_EPEL  53 k
 libnotify                      x86_64 0.7.9-8.el9     ol9_appstream       50 k
 libogg                         x86_64 2:1.3.4-6.el9   ol9_appstream       38 k
 libosinfo                      x86_64 1.10.0-1.el9    ol9_appstream      345 k
 libpaper                       x86_64 1.1.28-4.el9    ol9_appstream       67 k
 libpciaccess                   x86_64 0.16-6.el9      ol9_baseos_latest   28 k
 libraqm                        x86_64 0.8.0-1.el9     ol9_developer_EPEL  19 k
 libsbc                         x86_64 1.4-9.el9       ol9_appstream       45 k
 libsndfile                     x86_64 1.0.31-7.el9    ol9_appstream      212 k
 libtheora                      x86_64 1:1.1.1-31.el9  ol9_appstream      168 k
 libtiff                        x86_64 4.4.0-8.el9_2   ol9_appstream      202 k
 libtool-ltdl                   x86_64 2.4.6-45.el9    ol9_appstream       36 k
 libtracker-sparql              x86_64 3.1.2-3.el9_1   ol9_appstream      354 k
 libvisual                      x86_64 1:0.4.0-34.el9  ol9_appstream      152 k
 libvorbis                      x86_64 1:1.3.7-5.el9   ol9_appstream      198 k
 libwayland-client              x86_64 1.21.0-1.el9    ol9_appstream       32 k
 libwayland-cursor              x86_64 1.21.0-1.el9    ol9_appstream       18 k
 libwayland-egl                 x86_64 1.21.0-1.el9    ol9_appstream       12 k
 libwayland-server              x86_64 1.21.0-1.el9    ol9_appstream       41 k
 libwebp                        x86_64 1.2.0-6.el9_1   ol9_appstream      284 k
 libwmf-lite                    x86_64 0.2.12-10.el9   ol9_appstream       77 k
 libxkbcommon                   x86_64 1.0.3-4.el9     ol9_appstream      133 k
 libxshmfence                   x86_64 1.3-10.el9      ol9_appstream       13 k
 low-memory-monitor             x86_64 2.1-4.el9       ol9_appstream       42 k
 mesa-libEGL                    x86_64 22.3.0-2.el9    ol9_appstream      123 k
 mesa-libGL                     x86_64 22.3.0-2.el9    ol9_appstream      168 k
 mesa-libgbm                    x86_64 22.3.0-2.el9    ol9_appstream       37 k
 mesa-libglapi                  x86_64 22.3.0-2.el9    ol9_appstream       49 k
 mesa-vulkan-drivers            x86_64 22.3.0-2.el9    ol9_appstream      7.4 M
 mkfontscale                    x86_64 1.2.1-3.el9     ol9_appstream       37 k
 openexr-libs                   x86_64 3.1.1-2.el9     ol9_appstream      1.1 M
 openjpeg2                      x86_64 2.4.0-7.el9     ol9_appstream      170 k
 opus                           x86_64 1.3.1-10.el9    ol9_appstream      200 k
 orc                            x86_64 0.4.31-6.el9    ol9_appstream      188 k
 osinfo-db                      noarch 20221130-1.0.2.el9
                                                       ol9_appstream      1.2 M
 osinfo-db-tools                x86_64 1.10.0-1.el9    ol9_appstream       96 k
 ostree-libs                    x86_64 2023.1-6.el9_2  ol9_appstream      441 k
 pipewire-libs                  x86_64 0.3.47-3.el9_2  ol9_appstream      1.7 M
 poppler                        x86_64 21.01.0-14.el9  ol9_appstream      1.1 M
 poppler-data                   noarch 0.4.9-9.el9     ol9_appstream      2.1 M
 poppler-glib                   x86_64 21.01.0-14.el9  ol9_appstream      152 k
 pulseaudio-libs                x86_64 15.0-2.el9      ol9_appstream      726 k
 pulseaudio-utils               x86_64 15.0-2.el9      ol9_appstream       82 k
 rtkit                          x86_64 0.11-28.el9     ol9_appstream       69 k
 sound-theme-freedesktop        noarch 0.8-17.el9      ol9_appstream      407 k
 totem-pl-parser                x86_64 3.26.6-2.el9    ol9_appstream      238 k
 tracker                        x86_64 3.1.2-3.el9_1   ol9_appstream      616 k
 upower                         x86_64 0.99.13-2.el9   ol9_appstream      188 k
 urw-base35-bookman-fonts       noarch 20200910-6.el9  ol9_appstream      861 k
 urw-base35-c059-fonts          noarch 20200910-6.el9  ol9_appstream      888 k
 urw-base35-d050000l-fonts      noarch 20200910-6.el9  ol9_appstream       81 k
 urw-base35-fonts               noarch 20200910-6.el9  ol9_appstream       11 k
 urw-base35-fonts-common        noarch 20200910-6.el9  ol9_appstream       22 k
 urw-base35-gothic-fonts        noarch 20200910-6.el9  ol9_appstream      657 k
 urw-base35-nimbus-mono-ps-fonts
                                noarch 20200910-6.el9  ol9_appstream      810 k
 urw-base35-nimbus-roman-fonts  noarch 20200910-6.el9  ol9_appstream      870 k
 urw-base35-nimbus-sans-fonts   noarch 20200910-6.el9  ol9_appstream      1.3 M
 urw-base35-p052-fonts          noarch 20200910-6.el9  ol9_appstream      987 k
 urw-base35-standard-symbols-ps-fonts
                                noarch 20200910-6.el9  ol9_appstream       42 k
 urw-base35-z003-fonts          noarch 20200910-6.el9  ol9_appstream      281 k
 vulkan-loader                  x86_64 1.3.239.0-1.el9 ol9_appstream      143 k
 webrtc-audio-processing        x86_64 0.3.1-8.el9     ol9_appstream      310 k
 wireplumber                    x86_64 0.4.8-1.0.1.el9 ol9_appstream      123 k
 wireplumber-libs               x86_64 0.4.8-1.0.1.el9 ol9_appstream      335 k
 xdg-dbus-proxy                 x86_64 0.1.3-1.el9     ol9_appstream       41 k
 xdg-desktop-portal             x86_64 1.12.4-1.el9    ol9_appstream      453 k
 xkeyboard-config               noarch 2.33-2.el9      ol9_appstream      1.1 M
 xorg-x11-fonts-ISO8859-1-100dpi
                                noarch 7.5-33.el9      ol9_appstream      1.2 M
Installing weak dependencies:
 dconf                          x86_64 0.40.0-6.el9    ol9_appstream      121 k
 exiv2                          x86_64 0.27.5-2.el9    ol9_appstream      1.0 M
 flatpak                        x86_64 1.12.7-2.el9    ol9_appstream      1.8 M
 libcanberra-gtk2               x86_64 0.30-26.el9     ol9_appstream       26 k
 p11-kit-server                 x86_64 0.24.1-2.el9    ol9_appstream      202 k
 pipewire                       x86_64 0.3.47-3.el9_2  ol9_appstream       49 k
 pipewire-alsa                  x86_64 0.3.47-3.el9_2  ol9_appstream       59 k
 pipewire-jack-audio-connection-kit
                                x86_64 0.3.47-3.el9_2  ol9_appstream      133 k
 pipewire-pulseaudio            x86_64 0.3.47-3.el9_2  ol9_appstream       24 k
 tracker-miners                 x86_64 3.1.2-3.el9     ol9_appstream      1.0 M
 xdg-desktop-portal-gtk         x86_64 1.12.0-3.el9    ol9_appstream      162 k
Transaction Summary
================================================================================
Install  158 Packages
<略>
$

インストール後にサイトヘルスステータスを確認するとgdも消えている

続いて「sudo dnf install php-pecl-zip php-intl」をインストール

$ sudo dnf install php-pecl-zip php-intl
Last metadata expiration check: 1:28:15 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package            Architecture Version              Repository           Size
================================================================================
Installing:
 php-intl           x86_64       8.0.27-1.el9_1       ol9_appstream       150 k
 php-pecl-zip       x86_64       1.19.2-6.el9         ol9_appstream        78 k
Installing dependencies:
 libzip             x86_64       1.7.3-7.el9          ol9_appstream        63 k
Transaction Summary
================================================================================
Install  3 Packages
<略>
$

これで、サイトヘルスステータスのパッケージ関連のメッセージは消えた。

手順12: WordPressの.htaccess有効化

/var/www/html/wordpress/.htaccess が作成されているが、Oracle Linux 8のhttpd標準設定ではこれを読み込むようにはなっていない。

これが有効になっていないと、パーマリンク設定を「基本」から変えた場合に個別記事にアクセスできなくなる。

/etc/httpd/conf.d/wordpress.conf にファイルを作って設定する。

$ sudo vi /etc/httpd/conf.d/wordpress.conf
$ cat /etc/httpd/conf.d/wordpress.conf
<Directory /var/www/html/wordpress/>
 Allowoverride All
</Directory>
$ sudo systemctl restart httpd
$

手順13: OS自動更新の設定

メンテナンスがめんどくさくなって忘れる可能性があるので、Oracle Linux 8の自動更新設定を実施。

以前はyum-cronでしたが、現在は dnf-automatic に変わったので、パッケージをインストールします。

$ sudo dnf install dnf-automatic -y
Last metadata expiration check: 1:30:59 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package          Arch      Version                  Repository            Size
================================================================================
Installing:
 dnf-automatic    noarch    4.14.0-5.0.1.el9_2       ol9_baseos_latest     53 k
Transaction Summary
================================================================================
Install  1 Package
<略>
$

/etc/dnf/automatic.conf 内の「apply_updates = no」を「apply_updates = yes」に変更

$ sudo vi /etc/dnf/automatic.conf
$ cat /etc/dnf/automatic.conf
[commands]
#  What kind of upgrade to perform:
# default                            = all available upgrades
# security                           = only the security upgrades
upgrade_type = default
random_sleep = 0
# Maximum time in seconds to wait until the system is on-line and able to
# connect to remote repositories.
network_online_timeout = 60
# To just receive updates use dnf-automatic-notifyonly.timer
# Whether updates should be downloaded when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
download_updates = yes
# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
apply_updates = yes
[emitters]
# Name to use for this system in messages that are emitted.  Default is the
# hostname.
# system_name = my-host
# How to send messages.  Valid options are stdio, email and motd.  If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages.  If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages. if
# emit_via includes command_email, then messages will be send via a shell
# command compatible with sendmail.
# Default is email,stdio.
# If emit_via is None or left blank, no messages will be sent.
emit_via = stdio
[email]
# The address to send email messages from.
email_from = root@example.com
# List of addresses to send messages to.
email_to = root
# Name of the host to connect to to send email messages.
email_host = localhost
[command]
# The shell command to execute. This is a Python format string, as used in
# str.format(). The format function will pass a shell-quoted argument called
# `body`.
# command_format = "cat"
# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"
[command_email]
# The shell command to use to send email. This is a Python format string,
# as used in str.format(). The format function will pass shell-quoted arguments
# called body, subject, email_from, email_to.
# command_format = "mail -Ssendwait -s {subject} -r {email_from} {email_to}"
# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"
# The address to send email messages from.
email_from = root@example.com
# List of addresses to send messages to.
email_to = root
[base]
# This section overrides dnf.conf
# Use this to filter DNF core messages
debuglevel = 1
$

そしてdnf-automatic.timerを有効化し、開始します。

$ sudo systemctl enable dnf-automatic.timer
Created symlink /etc/systemd/system/timers.target.wants/dnf-automatic.timer → /usr/lib/systemd/system/dnf-automatic.timer.
$ sudo systemctl status dnf-automatic
○ dnf-automatic.service - dnf automatic
     Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.service; static)
     Active: inactive (dead)
TriggeredBy: ○ dnf-automatic.timer
$ sudo systemctl start dnf-automatic.timer
$ sudo systemctl status dnf-automatic.timer
● dnf-automatic.timer - dnf-automatic timer
     Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.timer; enabled; pres>
     Active: active (waiting) since Tue 2023-09-12 13:11:00 JST; 5s ago
      Until: Tue 2023-09-12 13:11:00 JST; 5s ago
    Trigger: Wed 2023-09-13 06:44:33 JST; 17h left
   Triggers: ● dnf-automatic.service
Sep 12 13:11:00 ホスト名 systemd[1]: Started dnf-automatic timer.
$

手順14 メモリが足らない対策

Oracle CloudのFree Tierで初期値のまま稼働させてみたのですが、頻繁に応答がなくなりました。(Oracle Linux 8だと問題なかったんだけど、Oracle Linux 9だと1日複数回発生)

oom-killerが発動したり、dnf search実行したら応答が返ってこない、とか・・・(dnf searchの件はどうやらdnfレポジトリの環境問題のもよう・・・)

手順14-1 php-fpm起動数制限

メモリ消費が増えやすいものとしてphp-fpmがある

zabbix向けでの記事ではあるが「php-fpmのメモリ使用量が増加する問題について」なんてのがあるぐらいにはよくあることになっている。

/etc/php-fpm.d/www.conf にある設定ファイルで設定されているので、まずは現在値を確認

動的に子プロセスを生成 (pm = dynamic)
プロセス最大数が50 (pm.max_children = 50)
開始プロセス数は5 (pm.start_servers = 5)
スペアサーバの最低は5(pm.min_spare_servers = 5)
スペアサーバの最大は35(pm.max_spare_servers = 35)
プロセスの自動再起動は設定なし(”;pm.max_requests = 500″なのでコメントになっている)

これを下記に変更し、「systemctl restart php-fpm」で再起動した。

動的に子プロセスを生成 (pm = dynamic)
プロセス最大数が8 (pm.max_children = 8)
開始プロセス数は5 (pm.start_servers = 5)
スペアサーバの最低は5(pm.min_spare_servers = 5)
スペアサーバの最大は8(pm.max_spare_servers = 8)
プロセスの自動再起動は500(pm.max_requests = 500)

これでしばらく様子をみてみることにした(2024/05/07設定)

手順14-2 swapfile追加

yum/dnfレポジトリのファイルサイズが80MB程度を越えるとdnfコマンドの処理中にswapが1GBちょっと必要になるようだ。

標準だと1GBなく、ほかのプロセスで400MB程度は使用されているので、足らないため、swapを増量する必要がある模様。

現在の設定確認するため「swapon –show」を実行して、容量と、swapfileの権限等を確認

# swapon --show
NAME       TYPE SIZE   USED PRIO
/.swapfile file 948M 488.4M   -2
# ls -l /.swapfile
-rw-------. 1 root root 994050048  4月 25 10:59 /.swapfile
#

「/パーテーション」か「/var/oledパーテーション」のどちらかに追加のswapfileを作成

# fallocate -l 2G /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-r--r--. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# chmod 600 /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-------. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# mkswap /var/oled/swapfile2
スワップ空間バージョン 1 を設定します。サイズ = 2 GiB (2147479552 バイト)
ラベルはありません, UUID=66caa2dd-b28d-43da-b1a6-8b710f8a8398
# 

作成したファイルをswapとして登録

# swapon /var/oled/swapfile2
# swapon --show
NAME                TYPE SIZE   USED PRIO
/.swapfile          file 948M 487.4M   -2
/var/oled/swapfile2 file   2G     0B   -3
# 

free -mを実行してswapが増えていることを確認

# free -m
               total        used        free      shared  buff/cache   available
Mem:             948         512          65          26         545         436
Swap:           2995         487        2508
#

また、上記は再起動すると消えるので/etc/fstabに「/var/oled/swapfile2 none swap sw 0 0」を追加


トラブルメモ

ここからは一般的ではないトラブルの対処メモ

dnfコマンド実行したあとに応答がなくなる

OCI Free Tier(メモリ1GB)のインスタンスでOracle Linux 9をインストールしたあと、dnf check-updateを実行すると、systemのloadが非常に上がったあと、応答がなくなるということとが多発した。

EPEL追加したあとから動きがおかしくなってる?という感じがあったので、いったん全部のレポジトリを無効化してからOS系を有効にしたところ、dnfが止まらずに実行完了した。

# dnf repolist
repo id                       repo の名前
ol9_addons                    Oracle Linux 9 Addons (x86_64)
ol9_appstream                 Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest             Oracle Linux 9 BaseOS Latest (x86_64)
# 

この状態で「dnf update」を実行したところ、EPELで追加したパッケージと関連する部分があって一括アップデートができなかった。

アップデートにdnf周りとセキュリティ周りをアップデートすればいいか、と以下のパッケージについて個別アップデートを実施した

dnf update yum selinux-policy policycoreutils rpm dnf-plugins-core

UEKを戻して以下の状態でもdnf check-updateは成功

# dnf repolist
repo id                       repo の名前
ol9_UEKR7                     Oracle Linux 9 UEK Release 7 (x86_64)
ol9_addons                    Oracle Linux 9 Addons (x86_64)
ol9_appstream                 Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest             Oracle Linux 9 BaseOS Latest (x86_64)
#

しかし、”Oracle Linux 9 OCI Included Packages (x86_64)”(oci-included-ol9.repo)を戻したところ応答がなくなる現象発生

# dnf repolist
repo id                       repo の名前
ol9_UEKR7                     Oracle Linux 9 UEK Release 7 (x86_64)
ol9_addons                    Oracle Linux 9 Addons (x86_64)
ol9_appstream                 Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest             Oracle Linux 9 BaseOS Latest (x86_64)
ol9_oci_included              Oracle Linux 9 OCI Included Packages (x86_64)
# dnf check-update
Oracle Linux 9 OCI Included Packages (x86_64)                  27 MB/s |  84 MB     00:03
<ここから出力が続かない>

強制再起動したあと、Oracle Linux 9 OCI Included Packages (x86_64)を除外して、EPELを含めてそれ以外の状態を戻してみるとdnf check-updateに成功

# dnf repolist
repo id                                repo の名前
ol9_UEKR7                              Oracle Linux 9 UEK Release 7 (x86_64)
ol9_addons                             Oracle Linux 9 Addons (x86_64)
ol9_appstream                          Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest                      Oracle Linux 9 BaseOS Latest (x86_64)
ol9_developer_EPEL                     Oracle Linux 9 EPEL Packages for Development (x86_64)
ol9_ksplice                            Ksplice for Oracle Linux 9 (x86_64)
#

が・・・dnf updateでエラーが・・・

# dnf update -y
メタデータの期限切れの最終確認: 0:01:49 前の 2024年05月07日 11時32分27秒 に実施しました。
エラー:
 問題 1: package ImageMagick-libs-6.9.12.93-1.el9.x86_64 from @System requires libraw_r.so.20()(64bit), but none of the providers can be installed
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from @System
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-5.el9.x86_64 from ol9_appstream
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from ol9_appstream
  - パッケージの最良アップデート候補をインストールできません LibRaw-0.20.2-6.el9.x86_64
  - パッケージの最良アップデート候補をインストールできません ImageMagick-libs-6.9.12.93-1.el9.x86_64
 問題 2: package tuned-profiles-oci-2.21.0-1.0.1.el9_3.noarch from @System requires tuned = 2.21.0-1.0.1.el9_3, but none of the providers can be installed
  - cannot install both tuned-2.22.1-1.0.1.el9.noarch from ol9_baseos_latest and tuned-2.21.0-1.0.1.el9_3.noarch from @System
  - cannot install both tuned-2.22.1-1.0.1.el9.noarch from ol9_baseos_latest and tuned-2.21.0-1.0.1.el9_3.noarch from ol9_baseos_latest
  - パッケージの最良アップデート候補をインストールできません tuned-2.21.0-1.0.1.el9_3.noarch
  - インストール済パッケージの問題 tuned-profiles-oci-2.21.0-1.0.1.el9_3.noarch
(競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
#

現在無効にしているociレポジトリにあるtuned-profiles-ociを引っ張ってきてるから駄目な模様

$ cat /etc/yum.repos.d/oci-included-ol9.repo
[ol9_oci_included]
name=Oracle Linux $releasever OCI Included Packages ($basearch)
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/oci/included/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
$

ここの環境変数 $ociregionと$ocidomainはどこで定義されているかといえば、/etc/yum/vars/ociregion と /etc/yum/vars/ocidomain

$ ls -l  /etc/yum/vars/
合計 12
-rw-r--r--. 1 root root 20  4月 25 10:59 ocidomain
-rw-r--r--. 1 root root 14  4月 25 10:59 ociregion
-rw-r--r--. 1 root root 13  4月 25 10:59 region
$ cat /etc/yum/vars/ocidomain
oci.oraclecloud.com
$ cat /etc/yum/vars/ociregion
.us-phoenix-1
$ cat /etc/yum/vars/region
us-phoenix-1
$

とりあえずはoracle linuxのreleaseが新しくなっていたので個別アップデート

# dnf update oraclelinux-release oraclelinux-release-el9 redhat-release
メタデータの期限切れの最終確認: 0:17:52 前の 2024年05月07日 11時32分27秒 に実施しました。
依存関係が解決しました。
=================================================================================================================
 パッケージ                       Arch            バージョン                    リポジトリー               サイズ
=================================================================================================================
アップグレード:
 oraclelinux-release              x86_64          9:9.4-1.0.6.el9               ol9_baseos_latest          8.3 M
 oraclelinux-release-el9          x86_64          1.0-15.el9                    ol9_baseos_latest           23 k
 redhat-release                   x86_64          3:9.4-0.4.0.1.el9             ol9_baseos_latest           19 k

トランザクションの概要
=================================================================================================================
アップグレード  3 パッケージ

ダウンロードサイズの合計: 8.3 M
これでよろしいですか? [y/N]: y
<略>
#

OCIに関するレポジトリ設定は変更されなかったので、パッケージ除外設定でdnf updateを実施した( 「dnf update -y –exclude=tuned*,ImageMagick-libs,LibRaw」で実行した)

# dnf update -y --exclude=tuned*
メタデータの期限切れの最終確認: 0:21:39 前の 2024年05月07日 11時32分27秒 に実施しました。
エラー:
 問題: package ImageMagick-libs-6.9.12.93-1.el9.x86_64 from @System requires libraw_r.so.20()(64bit), but none of the providers can be installed
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from @System
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-5.el9.x86_64 from ol9_appstream
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from ol9_appstream
  - パッケージの最良アップデート候補をインストールできません LibRaw-0.20.2-6.el9.x86_64
  - パッケージの最良アップデート候補をインストールできません ImageMagick-libs-6.9.12.93-1.el9.x86_64
(競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
# dnf update -y --exclude=tuned*,ImageMagick-libs,LibRaw
メタデータの期限切れの最終確認: 0:22:54 前の 2024年05月07日 11時32分27秒 に実施しました。
依存関係が解決しました。
<略>

アップデート完了後、Oracle Linux 9 OCI Included Packages (x86_64)を戻してdnf check-updateを実行すると、これまでと同じで止まる

該当レポジトリからインストールされているものを確認する

# dnf list --installed|grep ol9_oci_included
ksplice-release-el9.x86_64                     1.0-2.el9                           @ol9_oci_included
oci-linux-config.noarch                        2.0-1.0.8.el9                       @ol9_oci_included
oci-utils.noarch                               0.14.0-4.el9                        @ol9_oci_included
python3-cryptography.x86_64                    36.0.1-4.0.1.el9                    @ol9_oci_included
python3-docutils.noarch                        0.16-6.el9                          @ol9_oci_included
python3-sdnotify.noarch                        0.3.2-4.el9                         @ol9_oci_included
python39-oci-sdk.x86_64                        2.125.3-1.el9                       @ol9_oci_included
tuned-profiles-oci.noarch                      2.21.0-1.0.1.el9_3                  @ol9_oci_included
tuned-profiles-oci-recommend.noarch            2.21.0-1.0.1.el9_3                  @ol9_oci_included
#

twitterで検索したら、同じような事例で止まったという話をしてる人を発見

どう対処したのか聞いてみたところswap増量したとのこと。

# swapon --show
NAME       TYPE SIZE   USED PRIO
/.swapfile file 948M 488.4M   -2
# ls -l /.swapfile
-rw-------. 1 root root 994050048  4月 25 10:59 /.swapfile
#

/etc/fstabには「/.swapfile none swap sw,comment=cloudconfig 0 0」という行あり

# fallocate -l 2G /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-r--r--. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# chmod 600 /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-------. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# mkswap /var/oled/swapfile2
スワップ空間バージョン 1 を設定します。サイズ = 2 GiB (2147479552 バイト)
ラベルはありません, UUID=66caa2dd-b28d-43da-b1a6-8b710f8a8398
# swapon /var/oled/swapfile2
# swapon --show
NAME                TYPE SIZE   USED PRIO
/.swapfile          file 948M 487.4M   -2
/var/oled/swapfile2 file   2G     0B   -3
# free -m
               total        used        free      shared  buff/cache   available
Mem:             948         512          65          26         545         436
Swap:           2995         487        2508
#

そして dnf check-updateを実行

# dnf check-update
メタデータの期限切れの最終確認: 1:08:36 前の 2024年05月07日 13時04分17秒 に実施しました。

LibRaw.x86_64                                             0.21.1-1.el9                            ol9_appstream
python39-oci-sdk.x86_64                                   2.126.1-1.el9                           ol9_oci_included
tuned.noarch                                              2.22.1-1.0.1.el9                        ol9_baseos_latest
tuned-profiles-oci.noarch                                 2.22.1-1.0.1.el9                        ol9_oci_included
tuned-profiles-oci-recommend.noarch                       2.22.1-1.0.1.el9                        ol9_oci_included
#
# dnf check-update
Ksplice for Oracle Linux 9 (x86_64)                                                413 kB/s | 380 kB     00:00
Oracle Linux 9 OCI Included Packages (x86_64)                                       29 MB/s |  84 MB     00:02
Oracle Linux 9 EPEL Packages for Development (x86_64)                               17 MB/s |  59 MB     00:03
Oracle Linux 9 BaseOS Latest (x86_64)                                               14 MB/s |  24 MB     00:01
Oracle Linux 9 Application Stream Packages (x86_64)                                 18 MB/s |  33 MB     00:01
Oracle Linux 9 Addons (x86_64)                                                     516 kB/s | 396 kB     00:00
Oracle Linux 9 UEK Release 7 (x86_64)                                               15 MB/s |  31 MB     00:02
メタデータの期限切れの最終確認: 0:00:01 前の 2024年05月07日 14時32分44秒 に実施しました。

LibRaw.x86_64                                      0.21.1-1.el9                                       ol9_appstream
#

問題なく通りました。

実行中 topコマンドでメモリ消費を見てみたところ、swapを最大で1600MBぐらいまで使用していた。dnfコマンドの実行が終わると640MB程度の使用になったので、約1GBぐらいが必要である模様

ふとOracle Linux 8 ARMインスタンスでswapを確認してみると4GBで設定されていた。それが1GBに減ってるのでは確かに足らないですね・・・

$ swapon --show
NAME       TYPE SIZE   USED PRIO
/.swapfile file   4G 556.1M   -2
$ ls -l /.swapfile
-rw-------. 1 root root 4294967296 Apr  6  2022 /.swapfile
$ free -m
              total        used        free      shared  buff/cache   available
Mem:           5759        2216        2708          23         833        2696
Swap:          4095         556        3539
$

Oracle Linux 8 x86_64 インスタンスだと1.9GBで、以前は問題なかったんだけど、いま試すとdnfがOOM killerで殺されるようになっていた・・・(合計3.9GBに増やしたあとで確認すると最大で2376MBまで使用されていた)

$ swapon --show
NAME       TYPE SIZE  USED PRIO
/.swapfile file 1.9G 84.1M   -2
$ ls -l /.swapfile
-rw-------. 1 root root 1989148672 Mar  8  2023 /.swapfile
$ free -m
              total        used        free      shared  buff/cache   available
Mem:            936         541          63           1         331         246
Swap:          1896         467        1429
$ 

ただ作成時期によってはOracle linux 8 x86_64インスタンスでも8GBで設定されているようだ

$ swapon --show
NAME       TYPE SIZE  USED PRIO
/.swapfile file   8G 66.3M   -2
$ ls -l /.swapfile
-rw-------. 1 root root 8589934592 Nov 16  2021 /.swapfile
$ free -m
              total        used        free      shared  buff/cache   available
Mem:          23236        5527        3452         740       14257       13471
Swap:          8191          66        8125
$

Oracle Linux 7 x86_64インスタンスだとswap 8GB

$ swapon --show
NAME      TYPE      SIZE   USED PRIO
/dev/sda2 partition   8G 489.5M   -2
$

OCI関連コマンドドキュメント

OCIユーティリティ

OCIリージョン内のyumサーバに関する記載 リージョナルYumサーバーへの接続

Oracle Cloud Agentドキュメント


Oracle Linux 8でphp 7.4.19-1にアップデート後からphp-fpmが起動しなくなった

Oracle Cloud上にARMインスタンスをたててOracle Linux 8をインストールしてwordpressサーバの運用を開始した。

ところが今日の朝実行された dnf automaticによる自動更新後、wordpressが「Service Unavailable」となり表示出来ない。

sshログインして確認するとphp-fpmが起動していない。

[root@retoge ~]# systemctl status php-fpm|cat
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2021-11-18 09:25:41 JST; 16s ago
  Process: 482320 ExecStart=/usr/sbin/php-fpm --nodaemonize (code=exited, status=127)
 Main PID: 482320 (code=exited, status=127)

Nov 18 09:25:41 retoge systemd[1]: Starting The PHP FastCGI Process Manager...
Nov 18 09:25:41 retoge php-fpm[482320]: /usr/sbin/php-fpm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied
Nov 18 09:25:41 retoge systemd[1]: php-fpm.service: Main process exited, code=exited, status=127/n/a
Nov 18 09:25:41 retoge systemd[1]: php-fpm.service: Failed with result 'exit-code'.
Nov 18 09:25:41 retoge systemd[1]: Failed to start The PHP FastCGI Process Manager.
[root@retoge ~]#

SELinuxの問題で起動していなさそうなので/var/log/audit/audit.log を確認してみると下記の出力があった。

type=AVC msg=audit(1637195141.234:5827): avc:  denied  { execmod } for  pid=482320 comm="php-fpm" path="/usr/sbin/php-fpm" dev="dm-0" ino=369761 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_exec_t:s0 tclass=file permissive=0

type=SERVICE_START msg=audit(1637195141.238:5828): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=php-fpm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'^]UID="root" AUID="unset"

関連していそうなファイルのセキュリティコンテキストを確認

[root@retoge ~]# ls -lZ /usr/sbin/php-fpm
-rwxr-xr-x. 1 root root system_u:object_r:httpd_exec_t:s0 4656056 Oct 12 18:47 /usr/sbin/php-fpm
[root@retoge ~]# restorecon -R -v /usr/sbin
[root@retoge ~]# ls -lZ /usr/sbin/php-fpm
-rwxr-xr-x. 1 root root system_u:object_r:httpd_exec_t:s0 4656056 Oct 12 18:47 /usr/sbin/php-fpm
[root@retoge ~]# ls -lZ /usr/lib/systemd/systemd
-rwxr-xr-x. 1 root root system_u:object_r:init_exec_t:s0 1528680 Nov 11 09:41 /usr/lib/systemd/systemd
[root@retoge ~]# restorecon -R -v /usr/lib
[root@retoge ~]# ls -lZ /usr/lib/systemd/systemd
-rwxr-xr-x. 1 root root system_u:object_r:init_exec_t:s0 1528680 Nov 11 09:41 /usr/lib/systemd/systemd
[root@retoge ~]#

特に問題はなさそう?

ぐぐった時に出てきた「Bug 1670386 – AVC denied httpd_execmem for php-fpm when php-opcache is installed」が近いかな?と httpdのhttpd_execmemをonに変えてみたけど、これだけではダメな模様(後述のaudit2allowの結果を見ると、これ自体は必要そうでした)

[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> off
[root@retoge ~]# setsebool -P httpd_execmem on
[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> on
[root@retoge ~]# 
[root@retoge ~]# systemctl start php-fpm
Job for php-fpm.service failed because the control process exited with error code.
See "systemctl status php-fpm.service" and "journalctl -xe" for details.
[root@retoge ~]# systemctl restart httpd
[root@retoge ~]# systemctl start php-fpm
Job for php-fpm.service failed because the control process exited with error code.
See "systemctl status php-fpm.service" and "journalctl -xe" for details.
[root@retoge ~]#

今回はとりあえずphp-fpmが動けばいいか、ということで、問題となっているものを無視して起動できるようにしてしまうことにした。

まず、ausearchコマンドで関係するものをピックアップして、audit2allowで作成される予定のルールを確認する。

[root@retoge ~]# ausearch -m AVC |grep php| audit2allow


#============= httpd_t ==============

#!!!! This avc is allowed in the current policy
allow httpd_t http_port_t:tcp_socket name_connect;
allow httpd_t httpd_exec_t:file execmod;

#!!!! This avc can be allowed using the boolean 'httpd_unified'
allow httpd_t httpd_sys_content_t:dir write;

#!!!! This avc can be allowed using the boolean 'httpd_unified'
allow httpd_t httpd_sys_content_t:file write;
[root@retoge ~]#

これをモジュール化して組み込みます。

[root@retoge ~]# ausearch -m AVC |grep php| audit2allow -M php-fpm
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i php-fpm.pp

[root@retoge ~]# ls -l php-fpm*
-rw-r--r--. 1 root root 1594 Nov 18 09:51 php-fpm.pp
-rw-r--r--. 1 root root  597 Nov 18 09:51 php-fpm.te
[root@retoge ~]#

[root@retoge ~]# semodule -l |grep php
[root@retoge ~]# semodule -i php-fpm.pp
[root@retoge ~]# semodule -l |grep php
php-fpm
[root@retoge ~]#

php-fpmを起動してみます。

[root@retoge ~]# systemctl start php-fpm
[root@retoge ~]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-11-18 09:53:45 JST; 5s ago
 Main PID: 489019 (php-fpm)
   Status: "Ready to handle connections"
    Tasks: 6 (limit: 36876)
   Memory: 24.1M
   CGroup: /system.slice/php-fpm.service
           tq489019 php-fpm: master process (/etc/php-fpm.conf)
           tq489020 php-fpm: pool www
           tq489021 php-fpm: pool www
           tq489022 php-fpm: pool www
           tq489023 php-fpm: pool www
           mq489024 php-fpm: pool www

Nov 18 09:53:45 retoge systemd[1]: Starting The PHP FastCGI Process Manager...
Nov 18 09:53:45 retoge systemd[1]: Started The PHP FastCGI Process Manager.
[root@retoge ~]#

正常に起動が成功し、wordpressの動作も正常となりました。


2022/01/20追記

放置していたサーバでも発生していたので対処したところ、httpd_execmem有効化とselinuxモジュール追加で動き出しました

[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> off
[root@retoge ~]# setsebool -P httpd_execmem on
[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> on
[root@retoge ~]# ausearch -m AVC |grep php |audit2allow


#============= httpd_t ==============
allow httpd_t httpd_exec_t:file execmod;
[root@retoge ~]# ausearch -m AVC |grep php |audit2allow -M php-fpm
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i php-fpm.pp
[root@retoge ~]# semodule -i php-fpm.pp
[root@retoge ~]# systemctl start php-fpm
[root@retoge ~]#

Firewall内のCentOSからhttps://mirror.centos.org/にアクセスできなかった件

FortigateによるFirewall内にあるCentOS9サーバから「dnf check-update」を実行してみたところ、失敗した。

[root@centos9 ~]# dnf update
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

CentOS Stream 9 - BaseOS                        0.0  B/s |   0  B     00:03
Errors during downloading metadata for repository 'baseos':
  - Curl error (60): SSL peer certificate or SSH remote key was not OK for https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http [SSL certificate problem: self-signed certificate in certificate chain]
エラー: repo 'baseos' のメタデータのダウンロードに失敗しました : Cannot prepare internal mirrorlist: Curl error (60): SSL peer certificate or SSH remote key was not OK for https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http [SSL certificate problem: self-signed certificate in certificate chain]
[root@centos9 ~]#

内容的には https://mirrors.centos.org/ へのアクセスでエラーになっていたので、curlコマンドで状況を確認してみることにした。

[root@centos9 ~]# curl -vvv https://mirrors.centos.org/publiclist/
*   Trying 13.125.120.8:443...
* Connected to mirrors.centos.org (13.125.120.8) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/pki/tls/certs/ca-bundle.crt
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Unknown (23):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.2 (IN), TLS header, Unknown (23):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS header, Unknown (21):
* TLSv1.3 (OUT), TLS alert, unknown CA (560):
* SSL certificate problem: self-signed certificate in certificate chain
* Closing connection 0
curl: (60) SSL certificate problem: self-signed certificate in certificate chain
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
[root@centos9 ~]#

同じ環境にあるCentOS7サーバやOracle Linux8サーバでも同じ結果になった。

他の環境にあるCentOS7サーバで実行してみると下記のような感じになった。

-bash-4.2$ curl -vvv https://mirrors.centos.org/publiclist/
* About to connect() to mirrors.centos.org port 443 (#0)
*   Trying 2620:52:3:1:dead:beef:cafe:fed6...
* Connected to mirrors.centos.org (2620:52:3:1:dead:beef:cafe:fed6) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate:
*       subject: CN=mirrors.centos.org
*       start date: 10月 19 06:06:54 2021 GMT
*       expire date:  1月 17 06:06:53 2022 GMT
*       common name: mirrors.centos.org
*       issuer: CN=R3,O=Let's Encrypt,C=US
> GET /publiclist/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: mirrors.centos.org
> Accept: */*
>
< HTTP/1.1 302 Found
< Date: Fri, 12 Nov 2021 08:44:59 GMT
< Server: Apache
< X-Frame-Options: SAMEORIGIN
< X-Xss-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Referrer-Policy: same-origin
< Location: https://admin.fedoraproject.org/mirrormanager/
< Content-Length: 299
< Content-Type: text/html; charset=iso-8859-1
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://admin.fedoraproject.org/mirrormanager/">here</a>.</p>
<hr>
<address>Apache Server at mirrors.centos.org Port 443</address>
</body></html>
* Connection #0 to host mirrors.centos.org left intact
-bash-4.2$

Let’s Encryptの証明書使ってるな、ということで、同じ環境にあるブラウザからアクセスしてみると、Fortigateによるhttps周りの動作の問題であることが判明

解決方法は「FortiGate環境で”This Connection is Invalid. SSL certificate expired.”を食らった」にあるやつと同じでした。

Oracle Linux 8でWordPressサーバを立てる

(Oracle Linux 9向けのWordpress設定手順はこちら)

Oracle CloudのAlways Freeで作れるインスタンスにARMベースのインスタンスが追加された。

従来のCPU1個/メモリ1GBに対して、CPU1~4個/メモリ6GB~24GBと破格のスペックなので、Wordpressサーバでも移行してみるかな、と思って、「CentOS 7 / Oracle Linux 7でWordPressサーバを建てる」の手順でつくろうとしてみたところ、Oracle Linux 7 ARMではPHP Packages for Oracle Linuxが提供されていなかった。

Oracle Linux 8であれば標準状態でphp 7.4が利用できるようなので、Oracle Linux 8で作成する手順を策定した。

変更履歴

・Wordpress本体を更新しようとしたらできなかったので「手順8-2: php-fpmの書き込み権限問題」追加
・既存blogのデータをインポートしようとしたらファイルサイズオーバーだったので「手順9: WordPressで取り扱えるファイルサイズの拡大」追加
・存在を思い出したので「手順10: WordPressのSite Health Status対応」追加
・パーマリンク設定を変更したら動かなかったので「手順11: WordPressの.htaccess有効化」追加
・「手順12: OS自動更新の設定」追加
・日本語Localeに設定した場合の対応として「手順2-3:日本語Locale対応」追加
・2022/04/06にOracle-Linux-8.5-aarch64-2022.03.17-1を使って構築した時の状況を追加
・手順8が2つあったので番号を振り直した
・wordpressにWP Multibyte Patchをインストールする手順を書き忘れていたので追加

また、手順8以降でWordpressにアクセスすると「Service Unavailable」と表示される場合があります。その場合は、php-fpmのSELinuxポリシー設定問題であるため「Oracle Linux 8でphp 7.4.19-1にアップデート後からphp-fpmが起動しなくなった」の対処を行ってみてください。

準備1: Oracle Cloud用手順

準備1-1: IPv6アドレス割り当て:Oracle Cloudコンソール側

Oracle Cloudのコンソールを開いて、インスタンスにIPv6アドレスを割り当てます。

また、割り当てられたIPv6アドレスを確認します。

準備1-2: インスタンス側操作

2021年5月27日の段階ではOracle Cloud環境で提供されるOracle Linux 8でIPv6アドレスの自動割り当てが動作していませんでした。

Oracle-Linux-8.5-aarch64-2022.03.17-1(2022/04/06時点)やOracle-Linux-8.6-aarch64-2022.05.30-0(2022/07/01時点)でも同様でした。

このため、firewalldの設定でdhcpv6-clientが許可されていないために発生していましたので、許可します。

まず初期状態を確認

$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$

dhcpv6-clientの許可設定と設定読み込みと確認

$ sudo firewall-cmd --permanent --add-service=dhcpv6-client
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$

準備2: 一般的な前準備

準備2-1: 日本時間にする

日本に住んでいる場合、日本時間表記の方が使いやすいので、OSも日本時間表示に設定する。

$ sudo timedatectl set-timezone Japan
$ 

準備2-2: パッケージを最新にアップデートする

現時点でインストール済みパッケージを最新にします。

Oracle Linux 8ではyum updateではなくdnf updateとなります。アップデート後は再起動します。(yumコマンドでも動きます)

$ sudo dnf update -y
<略>
$ sudo reboot

手順2-3:日本語Locale対応

ja_JP.UTF-8など日本語Localeで設定した際、「Failed to set locale, defaulting to C.UTF-8」というメッセージが出力される場合があります。

その場合は日本語Localeを追加インストールします。

$ sudo dnf install langpacks-ja glibc-langpack-ja
<略>
$

手順3: EPELレポジトリの追加

EPELレポジトリを使うので、使用できるようにします。

Oracle Cloud上のOracle Linux 8環境ではレポジトリパッケージのインストールはされているので、有効化を行います。(なお、/etc/yum.repo.d/のファイルを編集するのは時代遅れな操作です)

また、2021年11月以降のOracle Cloudでの新規インスタンスではOS管理が有効になっている関係で手順が変わっています。新規で作る場合は手順3-1bの方を参照してください。

手順3-1a:通常の手順

Oracle Cloud外の環境でOracle Linux 8をインストールしている場合や古めのOracle Cloudインスタンスの場合、こちらのOS側のコマンドで設定する手順を行います。

現状のレポジトリ設定状況を「sudo dnf repolist –all」を実行して確認します。

$ sudo dnf repolist --all
repo id                          repo name                              status
ol8_MySQL80                      MySQL 8.0 for Oracle Linux 8 (aarch64) enabled
ol8_MySQL80_connectors_community MySQL 8.0 Connectors Community for Ora enabled
ol8_MySQL80_tools_community      MySQL 8.0 Tools Community for Oracle L enabled
ol8_aarch64_userspace_ksplice    Ksplice aware userspace packages for O disabled
ol8_appstream                    Oracle Linux 8 Application Stream (aar enabled
ol8_baseos_latest                Oracle Linux 8 BaseOS Latest (aarch64) enabled
ol8_codeready_builder            Oracle Linux 8 CodeReady Builder (aarc disabled
ol8_developer                    Oracle Linux 8 Development Packages (a disabled
ol8_developer_EPEL               Oracle Linux 8 EPEL Packages for Devel disabled
ol8_developer_UEKR6              Developer Preview of UEK Release 6 (aa disabled
ol8_distro_builder               Oracle Linux 8 Distro Builder (aarch64 disabled
ol8_ksplice                      Ksplice for Oracle Linux 8 (aarch64)   enabled
ol8_oci_included                 Oracle Software for OCI users on Oracl enabled
ol8_u2_baseos_base               Oracle Linux 8.2 BaseOS (aarch64)      disabled
ol8_u3_baseos_base               Oracle Linux 8.3 BaseOS (aarch64)      disabled
ol8_u4_baseos_base               Oracle Linux 8.4 BaseOS (aarch64)      disabled
$ 

上記の場合、ol8_developer_EPELが登録されているもののdisabledになっています。

この場合は「sudo dnf config-manager –set-enabled ol8_developer_EPEL」を実行し、enabledに変更されたことを確認します。

$ sudo dnf config-manager --set-enabled ol8_developer_EPEL
$ sudo dnf repolist --all
repo id                          repo name                              status
ol8_MySQL80                      MySQL 8.0 for Oracle Linux 8 (aarch64) enabled
ol8_MySQL80_connectors_community MySQL 8.0 Connectors Community for Ora enabled
ol8_MySQL80_tools_community      MySQL 8.0 Tools Community for Oracle L enabled
ol8_aarch64_userspace_ksplice    Ksplice aware userspace packages for O disabled
ol8_appstream                    Oracle Linux 8 Application Stream (aar enabled
ol8_baseos_latest                Oracle Linux 8 BaseOS Latest (aarch64) enabled
ol8_codeready_builder            Oracle Linux 8 CodeReady Builder (aarc disabled
ol8_developer                    Oracle Linux 8 Development Packages (a disabled
ol8_developer_EPEL               Oracle Linux 8 EPEL Packages for Devel enabled
ol8_developer_UEKR6              Developer Preview of UEK Release 6 (aa disabled
ol8_distro_builder               Oracle Linux 8 Distro Builder (aarch64 disabled
ol8_ksplice                      Ksplice for Oracle Linux 8 (aarch64)   enabled
ol8_oci_included                 Oracle Software for OCI users on Oracl enabled
ol8_u2_baseos_base               Oracle Linux 8.2 BaseOS (aarch64)      disabled
ol8_u3_baseos_base               Oracle Linux 8.3 BaseOS (aarch64)      disabled
ol8_u4_baseos_base               Oracle Linux 8.4 BaseOS (aarch64)      disabled
$

手順3-1b:Oracle CloudのOS管理下にある場合の手順

2022年4月6日時点でOracle Cloud上で提供されているOracle-Linux-8.5-aarch64-2022.03.17-1では「sudo dnf repolist –all」の実行結果に変化があり、「This system is receiving updates from OSMS server.」と書かれた上で、だいぶ整理されたレポジトリのみが表示されます。

$ sudo dnf repolist --all
This system is receiving updates from OSMS server.
repo id                                  repo name                       status
ol8_addons-aarch64                       Oracle Linux 8 Add ons (aarch64 enabled
ol8_appstream-aarch64                    Oracle Linux 8 Application Stre enabled
ol8_baseos_latest-aarch64                Oracle Linux 8 BaseOS Latest (a enabled
ol8_ksplice-aarch64                      Ksplice for Oracle Linux 8 (aar enabled
ol8_mysql80-aarch64                      MySQL 8.0 for Oracle Linux 8 (a enabled
ol8_mysql80_connectors_community-aarch64 MySQL 8.0 Connectors for Oracle enabled
ol8_mysql80_tools_community-aarch64      MySQL 8.0 Tools Community for O enabled
ol8_oci_included-aarch64                 Oracle Software for OCI users o enabled
$

これはOracle Cloudの「OS管理(OS Managemnt System)」という機能との連携が始まり、Oracle CloudのWebコンソール からパッチ状態を見れるように変更になったためです。

レポジトリの設定変更は上記画面の「…」をクリックし「OS管理詳細の表示」を選択

[リソース]-[ソフトウェア・ソース]から「追加」を選択

「Oralce Linux 8 EPEL Packages for Development」を選択し「追加」

Web上で追加されたことを確認

次にコマンドに戻り「sudo dnf repolist –all」を実行するとEPELレポジトリがenabledとして増えていることが確認できます。

$ sudo dnf repolist --all
This system is receiving updates from OSMS server.
repo id                                  repo name                       status
ol8_addons-aarch64                       Oracle Linux 8 Add ons (aarch64 enabled
ol8_appstream-aarch64                    Oracle Linux 8 Application Stre enabled
ol8_baseos_latest-aarch64                Oracle Linux 8 BaseOS Latest (a enabled
ol8_developer_epel-aarch64               Oracle Linux 8 EPEL Packages fo enabled
ol8_ksplice-aarch64                      Ksplice for Oracle Linux 8 (aar enabled
ol8_mysql80-aarch64                      MySQL 8.0 for Oracle Linux 8 (a enabled
ol8_mysql80_connectors_community-aarch64 MySQL 8.0 Connectors for Oracle enabled
ol8_mysql80_tools_community-aarch64      MySQL 8.0 Tools Community for O enabled
ol8_oci_included-aarch64                 Oracle Software for OCI users o enabled

手順4: インターネット公開用設定

手順4-1: fail2ban導入

公開サーバは各種のアタックにさらされます。管理用sshポートにもやってきます。

多少なりとも軽減するためにEPELレポジトリ収録のfail2banを使用します。

$ sudo dnf install fail2ban -y
$ 

カスタム設定は/etc/fail2ban/jail.localに行います。

$ sudo vi /etc/fail2ban/jail.local
$ cat /etc/fail2ban/jail.local
[DEFAULT]
# 86400秒=24時間以内に5回不審なアクセスがあったら24時間BAN
bantime  = 86400
findtime  = 86400
maxretry = 5
# 259200秒=3日以内に5回不審なアクセスがあったら3日間BAN
#bantime  = 259200
#findtime  = 259200
#maxretry = 5

# 除外IP
ignoreip = 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

[sshd]
enabled = true
banaction = firewallcmd-ipset
$ 

上記設定では24時間BANにしていますが、まぁ、3日BANでもかまわないとは思います。(本当に間違えた場合に困るのでほどほどにしておくとよい)

fail2banをOS起動時に実行する設定と、今すぐfail2banを起動するコマンドを実行します。

$ sudo systemctl enable fail2ban
$ sudo systemctl start fail2ban
$

以降、アタックがあると /var/log/fail2ban.log にログが出ます。

手順4-2: Webサーバ用ポート公開設定

この段階では、dhcpv6-clientとsshのみが許可されています。

Webサーバ公開用にhttp(ポート80)とhttps(ポート443)を追加します。

$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$
$ sudo firewall-cmd --permanent --add-service=http
success
$ sudo firewall-cmd --permanent --add-service=https
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: dhcpv6-client http https ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$

手順5: php 7.4追加

Oracle Linux 8環境では、moduleという形で複数バージョンのソフトウェアが提供されています。

phpに関してどのようなものがあるのかを「dnf module list | grep php」を実行して確認します。

$ sudo dnf module list | grep php
php                  7.2 [d]         common [d], devel, minimal               PHP scripting language                                                                                                                                                                                
php                  7.3             common [d], devel, minimal               PHP scripting language                                                                                                                                                                                
php                  7.4             common [d], devel, minimal               PHP scripting language                                                                                                                                                                                
$

php 7.2が標準選択で、他にphp 7.3とphp 7.4が選べることがわかります。
2022/07/01時点で提供されているOracle Linux 8.6では php 8.0も選択できるようになっています。

php7.4を指定してパッケージを追加します。

$ sudo dnf install @php:7.4 -y
Last metadata expiration check: 0:07:11 ago on Thu 27 May 2021 01:04:16 PM JST.
Dependencies resolved.
==========================================================================================================================================
 Package                     Architecture       Version                                                Repository                    Size
==========================================================================================================================================
Installing group/module packages:
 php-cli                     aarch64            7.4.6-4.module+el8.3.0+7685+72d70b58                   ol8_appstream                2.8 M
 php-common                  aarch64            7.4.6-4.module+el8.3.0+7685+72d70b58                   ol8_appstream                675 k
 php-fpm                     aarch64            7.4.6-4.module+el8.3.0+7685+72d70b58                   ol8_appstream                1.5 M
 php-json                    aarch64            7.4.6-4.module+el8.3.0+7685+72d70b58                   ol8_appstream                 73 k
 php-mbstring                aarch64            7.4.6-4.module+el8.3.0+7685+72d70b58                   ol8_appstream                474 k
 php-xml                     aarch64            7.4.6-4.module+el8.3.0+7685+72d70b58                   ol8_appstream                166 k
Installing dependencies:
 httpd-filesystem            noarch             2.4.37-39.0.1.module+el8.4.0+20024+b87b2deb            ol8_appstream                 39 k
 libxslt                     aarch64            1.1.32-6.0.1.el8                                       ol8_baseos_latest            239 k
 nginx-filesystem            noarch             1:1.14.1-9.0.1.module+el8.0.0+5347+9282027e            ol8_appstream                 25 k
Installing module profiles:
 php/common
Enabling module streams:
 httpd                                          2.4
 nginx                                          1.14
 php                                            7.4

Transaction Summary
==========================================================================================================================================
Install  9 Packages

Total download size: 5.9 M
Installed size: 23 M
Downloading Packages:
<略>
$

手順6: MySQL設定編

Oralce Linux 8ではわざわざ「MySQL 8.0 for Oracle Linux 8 (aarch64)」を用意していますが、よく見るとそこにmysql-serverはなく、メインのol8_appstream に含まれているという理由はよくわかりませんが、せっかくなのでそのまま使用します。

(ちなみにol8_appstreamではmariadb 10.3と10.5も提供されていますので変更することもできます)

$ sudo dnf install mysql-server -y
Last metadata expiration check: 0:56:46 ago on Thu 27 May 2021 01:04:16 PM JST.
Dependencies resolved.
================================================================================
 Package      Arch    Version                               Repository     Size
================================================================================
Installing:
 mysql-server aarch64 8.0.21-1.module+el8.2.0+7793+cfe2b687 ol8_appstream  28 M
Installing dependencies:
 mariadb-connector-c-config
              noarch  3.1.11-2.el8_3                        ol8_appstream  15 k
 mecab        aarch64 0.996-1.module+el8.0.0+5253+1dce7bb2.9
                                                            ol8_appstream 367 k
 mysql        aarch64 8.0.21-1.module+el8.2.0+7793+cfe2b687 ol8_appstream  13 M
 mysql-common aarch64 8.0.21-1.module+el8.2.0+7793+cfe2b687 ol8_appstream 147 k
 mysql-errmsg aarch64 8.0.21-1.module+el8.2.0+7793+cfe2b687 ol8_appstream 581 k
 protobuf-lite
              aarch64 3.5.0-13.el8                          ol8_appstream 129 k
Enabling module streams:
 mysql                8.0

Transaction Summary
================================================================================
Install  7 Packages

Total download size: 42 M
Installed size: 228 M
Downloading Packages:
<略>
$

mysqldを自動起動する設定とします。

$ sudo systemctl enable mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
$

mysqldを起動します。

$ sudo systemctl start mysqld
$

WordPress用データベースを作成します。

MySQL 8におけるデータベースユーザ作成と権限の割り当てが従来の「grant all on DB名.* to wordpress@localhost identified by ‘パスワード’;」という一文から、「create user ~」と「grant ~」の2つに分かれている点に注意が必要です。

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.21 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database DB名 character set utf8;
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> create user wordpress@localhost  identified by 'パスワード';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on DB名.* to wordpress@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
$

手順7: Webサーバ設定

手順7-1: httpdインストール

httpdをインストールします。

Oracle Linux 8では httpd(Apache) 2.4と nginx 1.14 / 1.16 / 1.18 が使用できますが、httpdを使用します。nginxを使用したい場合は「Oracle Autonomous Linuxでwordpressサーバを建ててみた」を参照してください。

$ sudo dnf install httpd -y
Last metadata expiration check: 0:08:49 ago on Thu 27 May 2021 01:04:16 PM JST.
Dependencies resolved.
==========================================================================================================================================
 Package                      Architecture      Version                                                 Repository                   Size
==========================================================================================================================================
Installing:
 httpd                        aarch64           2.4.37-39.0.1.module+el8.4.0+20024+b87b2deb             ol8_appstream               1.4 M
Installing dependencies:
 apr                          aarch64           1.6.3-11.el8                                            ol8_appstream               119 k
 apr-util                     aarch64           1.6.1-6.el8                                             ol8_appstream               104 k
 httpd-tools                  aarch64           2.4.37-39.0.1.module+el8.4.0+20024+b87b2deb             ol8_appstream               104 k
 mod_http2                    aarch64           1.15.7-3.module+el8.4.0+20024+b87b2deb                  ol8_appstream               146 k
 oracle-logos-httpd           noarch            84.3-1.0.1.el8                                          ol8_baseos_latest            29 k

Transaction Summary
==========================================================================================================================================
Install  6 Packages

Total download size: 1.8 M
Installed size: 10 M
Downloading Packages:
<略>
$

次で設定変更をするので、この段階ではhttpdを起動しません。

OS起動時に自動起動する設定だけを行います。

$ sudo systemctl enable httpd
$

手順7-2: dehydratedによるLet’s Encrypt導入

Let’s EncryptによるSSL証明書導入はcertbotを使うのが一般的ではあるのだが、python環境とあわせてパッケージサイズが大きいので、コンパクトでEPELにも収録されているdehydratedを使用する。

$ sudo dnf install dehydrated -y
Last metadata expiration check: 1:07:45 ago on Thu 27 May 2021 01:04:16 PM JST.
Dependencies resolved.
================================================================================
 Package          Architecture Version           Repository                Size
================================================================================
Installing:
 dehydrated       noarch       0.6.5-1.el8       ol8_developer_EPEL        90 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 90 k
Installed size: 164 k
Downloading Packages:
<略>
$

dehydratedによるSSL証明書取得処理には /var/www/dehydrated が使用されるためディレクトリを作成します。

$ sudo mkdir  /var/www/dehydrated
$

http://~/.well-known/acme-challenge でアクセスした時に上記ディレクトリが開くようApacheの設定を /etc/httpd/conf.d/dehydrated.conf として作成します。(sudo vi /etc/httpd/conf.d/dehydrated.conf )

$ sudo vi /etc/httpd/conf.d/dehydrated.conf
$ cat /etc/httpd/conf.d/dehydrated.conf
Alias /.well-known/acme-challenge /var/www/dehydrated
<Directory /var/www/dehydrated/>
</Directory>
$

httpdを起動します

$ sudo systemctl start httpd
$

SSL証明書を発行するホスト名を /etc/dehydrated/domains.txt に記載する。(sudo vi /etc/dehydrated/domains.txt)

1行に複数のホスト名を記載するとaliasになります。

$ sudo vi /etc/dehydrated/domains.txt
$ sudo cat /etc/dehydrated/domains.txt
ホスト1名.ドメイン名 ホスト2名.ドメイン名
$

登録操作を開始します。

$ sudo dehydrated --register
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh

To use dehydrated with this certificate authority you have to agree to their terms of service which you can find here: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf

To accept these terms of service run `/bin/dehydrated --register --accept-terms`.
$ sudo /bin/dehydrated --register --accept-terms
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account ID...
+ Done!
$

初回のSSL証明書発行処理を実行します。

$ sudo dehydrated --cron
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
Processing ホスト1名.ドメイン名 with alternative names: ホスト2名.ドメイン名
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 2 authorizations URLs from the CA
 + Handling authorization for ホスト1名.ドメイン名
 + Handling authorization for ホスト2名.ドメイン名
 + 2 pending challenge(s)
 + Deploying challenge tokens...
 + Responding to challenge for ホスト1名.ドメイン名 authorization...
 + Challenge is valid!
 + Responding to challenge for ホスト2名.ドメイン名 authorization...
 + Challenge is valid!
 + Cleaning challenge tokens...
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!
$

手順7-3: WebサーバへのSSL証明書設定

まず、httpdにmod_sslを追加します。

$ sudo dnf install mod_ssl -y
Last metadata expiration check: 1:36:21 ago on Thu 27 May 2021 01:04:16 PM JST.
Dependencies resolved.
================================================================================
 Package
      Arch    Version                                       Repository     Size
================================================================================
Installing:
 mod_ssl
      aarch64 1:2.4.37-39.0.1.module+el8.4.0+20024+b87b2deb ol8_appstream 126 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 126 k
Installed size: 274 k
Downloading Packages:
<略>
$

標準の /etc/httpd/conf.d/ssl.conf は使わず、Mozilla SSL Configuration Generatorベースの設定を /etc/httpd/conf.d/ssl-mozilla.conf として作成します。(なお、ssl.conf には”Listen 443 https”設定もあるので、そのままにしています)

$ sudo vi /etc/httpd/conf.d/ssl-mozilla.conf
$ cat /etc/httpd/conf.d/ssl-mozilla.conf
# generated 2021-05-27, Mozilla Guideline v5.6, Apache 2.4.37, OpenSSL 1.1.1g, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.37&config=intermediate&openssl=1.1.1g&guideline=5.6

# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /etc/dehydrated/certs/<ホスト名>/cert.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/<ホスト名>/privkey.pem

    # enable HTTP/2, if available
    Protocols h2 http/1.1

    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>

# intermediate configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder     off
SSLSessionTickets       off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
$

httpdを再起動します。

$ sudo systemctl restart httpd
$

手順8: WordPress導入

手順8-1: WordPressの基本インストール

WordPressのWebから最新版をダウンロードして、/var/www/html以下に展開します。
(日本語環境向けのlatest-ja.tar.gzファイルを使っていないのはWordpressプラグインが正常にインストールできるかを確認するためにWP Multibyte Patchを手動インストールする手順を入れているためです)

$ cd /var/www/html/
$ ls
$ sudo curl -O https://wordpress.org/latest.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.0M  100 15.0M    0     0  6978k      0  0:00:02  0:00:02 --:--:-- 6978k
$ ls
latest.tar.gz
$ sudo tar xfz latest.tar.gz
$ ls -l
total 15388
-rw-r--r--. 1 root   root   15750424 May 27 14:54 latest.tar.gz
drwxr-xr-x. 5 nobody nobody     4096 May 13 08:49 wordpress
$ sudo rm latest.tar.gz
$

WordPressディレクトリの所有者をWebサービスのユーザである「apache」に変更します。

$ ps -ef|grep http
root        7619       1  0 14:52 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache      7621    7619  0 14:52 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache      7622    7619  0 14:52 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache      7623    7619  0 14:52 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache      7624    7619  0 14:52 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache      7836    7619  0 14:52 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
opc         7943    2643  0 14:55 pts/0    00:00:00 grep --color=auto http
$ sudo chown -R apache:apache wordpress/
$ ls -l
total 4
drwxr-xr-x. 5 apache apache 4096 May 13 08:49 wordpress
$

/var/www/html/wordpress をDocumentRootとするように ssl-mozilla.conf に追加して、httpdを再起動します。

$ sudo vi /etc/httpd/conf.d/ssl-mozilla.conf
$ cat /etc/httpd/conf.d/ssl-mozilla.conf
# generated 2021-05-27, Mozilla Guideline v5.6, Apache 2.4.37, OpenSSL 1.1.1g, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.37&config=intermediate&openssl=1.1.1g&guideline=5.6

# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /var/www/html/wordpress
    SSLEngine on

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /etc/dehydrated/certs/<ホスト名>/cert.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/<ホスト名>/privkey.pem

    # enable HTTP/2, if available
    Protocols h2 http/1.1

    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>

# intermediate configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder     off
SSLSessionTickets       off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
$ sudo systemctl restart httpd
$

手順8-2:「Service Unavailable」となる場合の対処

ブラウザからアクセスして「Service Unavailable」となる場合はphp-fpmのSELinux設定問題が発生しています。

httpd_execmemを有効にします。

$ getsebool httpd_execmem
httpd_execmem --> off
$ sudo setsebool -P httpd_execmem on
$ sudo getsebool httpd_execmem
httpd_execmem --> on
$

次に、php-fpm用のSELinux設定を作成します。まず「sudo ausearch -m AVC |grep php |audit2allow」を実行して「allow ~」の出力があることを確認

$ sudo ausearch -m AVC |grep php |audit2allow


#============= httpd_t ==============
allow httpd_t httpd_exec_t:file execmod;
$

次にこれを使ってSELinux用のモジュールを作成

$ sudo ausearch -m AVC |grep php |sudo audit2allow -M ph
p-fpm
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i php-fpm.pp

$ ls
php-fpm.pp  php-fpm.te  wordpress
$

モジュールとして組み込みphp-fpmを起動

$ sudo semodule -i php-fpm.pp
$ sudo systemctl start php-fpm
$ 

手順8-3: 「missing the MySQL extension」がでる場合の手順

php-fpmが正常に動作している状態でブラウザからアクセスすると、下記の表示になります。

これはphpからMySQLにアクセスするためのパッケージがインストールされていないためなので、php-mysqlndを追加して、httpdを再起動します。

$ sudo dnf install php-mysqlnd -y
Last metadata expiration check: 1:56:37 ago on Thu 27 May 2021 01:04:16 PM JST.
Dependencies resolved.
================================================================================
 Package     Arch    Version                                Repository     Size
================================================================================
Installing:
 php-mysqlnd aarch64 7.4.6-4.module+el8.3.0+7685+72d70b58   ol8_appstream 182 k
Installing dependencies:
 php-pdo     aarch64 7.4.6-4.module+el8.3.0+7685+72d70b58   ol8_appstream 118 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 300 k
Installed size: 806 k
Downloading Packages:
<略>
$ sudo systemctl restart httpd
$

WordPressの設定手順を進めると wp-config.php に書き込めない、と出ますので、「sudo vi /var/www/html/wordpress/wp-config.php」を実行し、指定された内容を記載します。

手順9: SELinux設定

手順9-1: httpdのネットワーク接続問題

一見するとここまででうまく動いているように見えます。

しかし、プラグインをインストールしようとするとエラーになります。

/var/log/audit/audit.logを確認すると下記のようなログが出ています。

type=AVC msg=audit(1622095859.957:2064): avc:  denied  { name_connect } for  pid=8908 comm="php-fpm" dest=443 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1622095868.397:2065): avc:  denied  { name_connect } for  pid=8313 comm="php-fpm" dest=443 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1622095868.401:2066): avc:  denied  { name_connect } for  pid=8313 comm="php-fpm" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0

これはhttpd_can_network_connect という値で制御されている

現在の設定値を「sudo getsebool -a |grep httpd_can_network」で確認し、「sudo setsebool -P httpd_can_network_connect on」で有効にする

$ sudo getsebool -a |grep httpd_can_network
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
$ sudo setsebool -P httpd_can_network_connect on
$ sudo getsebool -a |grep httpd_can_network
httpd_can_network_connect --> on
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
$

この変更ではhttpdの再起動は不要。

手順9-2: php-fpmの書き込み権限問題

プラグインやテーマのインストールについては問題なくても、WordPressのアップデートが出来ない。

このときの/var/log/audit/audit.logは下記

type=AVC msg=audit(1622101524.977:177): avc:  denied  { write } for  pid=2964 comm="php-fpm" name="wordpress" dev="dm-0" ino=101235463 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=dir permissive=0

こちらは/var/www/html/wordpress に対して httpdから書き込みが行えるような SELinuxのコンテキストをつけることで解決する。

「sudo chcon -R -t httpd_sys_script_rw_t /var/www/html/wordpress」

$ ls -lZ /var/www/html/
total 4
drwxr-xr-x. 5 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 4096 May 27 15:02 wordpress
$ sudo chcon -R -t httpd_sys_script_rw_t /var/www/html/wordpress
$ ls -lZ /var/www/html/
total 4
drwxr-xr-x. 5 apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 4096 May 27 15:02 wordpress
$

手順9-3:Wordpressプラグイン追加の動作確認

WordPressプラグインがインストールできる状態になっているかを確認するために「WP Multibyte Patch」をインストールします。

これをインストールするとWordpressの設定画面([Settings]-[General])に「Site language(サイトの言語)」が追加され、「日本語」表示に切り替えることができるようになります。

手順10: WordPressで取り扱えるファイルサイズの拡大

WordPressで取り扱えるファイルは標準状態だと2MBになっている。

WordPressのドキュメントのFile Upload Sizes を見ると、これはphpの設定ファイル /etc/php.ini による制限となっている。

Oracle Linux 8の標準設定では下記の値となっている。

<略>
post_max_size = 8M
<略>
upload_max_filesize = 2M
<略>

で・・・よくある手順だと軽率に /etc/php.ini を書き換えていますが、 /etc/php.d/ 以下にファイルを追加することで、そちらの設定項目を優先させることができる機能があるため、 /etc/php.d/90-wordpress.ini に変更したい2行だけを記載したファイルを作成します。

$ sudo vi /etc/php.d/90-wordpress.ini
$ cat /etc/php.d/90-wordpress.ini
post_max_size = 100M
upload_max_filesize = 100M
$

phpの設定変更を反映させるために「sudo systemctl restart php-fpm」を実行します。

手順11: WordPressのSite Health Status対応

WordPressのサイトステータスを見てみると、いくつかパッケージを要求されている。

ImageMagickに関するphpモジュールは含まれていない

$ dnf search magick
Last metadata expiration check: 2:56:09 ago on Thu 27 May 2021 01:10:22 PM JST.
======================== Name & Summary Matched: magick ========================
GraphicsMagick.aarch64 : An ImageMagick fork, offering faster image generation
                       : and better quality
GraphicsMagick.src : An ImageMagick fork, offering faster image generation and
                   : better quality
GraphicsMagick-c++.aarch64 : GraphicsMagick Magick++ library (C++ bindings)
GraphicsMagick-c++-devel.aarch64 : C++ bindings for the GraphicsMagick library
GraphicsMagick-debugsource.aarch64 : Debug sources for package GraphicsMagick
GraphicsMagick-devel.aarch64 : Libraries and header files for GraphicsMagick app
                             : development
GraphicsMagick-doc.noarch : GraphicsMagick documentation
GraphicsMagick-perl.aarch64 : GraphicsMagick perl bindings
ImageMagick-c++.aarch64 : ImageMagick Magick++ library (C++ bindings)
ImageMagick-c++-devel.aarch64 : C++ bindings for the ImageMagick library
ImageMagick-devel.aarch64 : Library links and header files for ImageMagick app
                          : development
ImageMagick-doc.aarch64 : ImageMagick html documentation
ImageMagick-libs.aarch64 : ImageMagick libraries to link with
ImageMagick-perl.aarch64 : ImageMagick perl bindings
============================= Name Matched: magick =============================
ImageMagick.aarch64 : An X application for displaying and manipulating images
ImageMagick.src : An X application for displaying and manipulating images
=========================== Summary Matched: magick ============================
converseen.aarch64 : A batch image conversion tool written in C++ with Qt5 and
                   : Magick++
converseen.src : A batch image conversion tool written in C++ with Qt5 and
               : Magick++
$

zipとgdはそれっぽいものがあるので「sudo dnf install php-pecl-zip php-gd -y」で追加

$ sudo dnf install php-pecl-zip php-gd -y
Last metadata expiration check: 3:04:44 ago on Thu 27 May 2021 01:04:16 PM JST.
Dependencies resolved.
================================================================================
 Package      Arch    Version                               Repository     Size
================================================================================
Installing:
 php-gd       aarch64 7.4.6-4.module+el8.3.0+7685+72d70b58  ol8_appstream  83 k
 php-pecl-zip aarch64 1.18.2-1.module+el8.3.0+7685+72d70b58 ol8_appstream  53 k
Installing dependencies:
 gd           aarch64 2.2.5-7.el8                           ol8_appstream 134 k
 jbigkit-libs aarch64 2.1-14.el8                            ol8_appstream  54 k
 libXpm       aarch64 3.5.12-8.el8                          ol8_appstream  56 k
 libjpeg-turbo
              aarch64 1.5.3-10.el8                          ol8_appstream 145 k
 libtiff      aarch64 4.0.9-18.el8                          ol8_appstream 178 k
 libwebp      aarch64 1.0.0-1.el8                           ol8_appstream 246 k
 libzip       aarch64 1.6.1-1.module+el8.3.0+7685+72d70b58  ol8_appstream  62 k

Transaction Summary
================================================================================
Install  9 Packages

Total download size: 1.0 M
Installed size: 3.0 M
Downloading Packages:
<略>
$

こちらは再起動は不要なようで、すぐにSite Healthの状態に反映され、imagickモジュールに関するメッセージのみになった。

2022/04/06追記: wordpress 5.9.3では推奨phpプラグインに「php-intl」が追加されたので「sudo dnf install php-intl」で追加する

$ sudo dnf install php-intl
This system is receiving updates from OSMS server.
Last metadata expiration check: 0:09:17 ago on Wed 06 Apr 2022 01:29:10 PM JST.
Dependencies resolved.
================================================================================
 Package
     Arch    Version                                Repository             Size
================================================================================
Installing:
 php-intl
     aarch64 7.4.19-1.module+el8.5.0+20354+db97279a ol8_appstream-aarch64 182 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 182 k
Installed size: 522 k
Is this ok [y/N]: y
Downloading Packages:
php-intl-7.4.19-1.module+el8.5.0+20354+db97279a 2.0 MB/s | 182 kB     00:00
--------------------------------------------------------------------------------
Total                                           1.9 MB/s | 182 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : php-intl-7.4.19-1.module+el8.5.0+20354+db97279a.aarc   1/1
  Running scriptlet: php-intl-7.4.19-1.module+el8.5.0+20354+db97279a.aarc   1/1
  Verifying        : php-intl-7.4.19-1.module+el8.5.0+20354+db97279a.aarc   1/1

Installed:
  php-intl-7.4.19-1.module+el8.5.0+20354+db97279a.aarch64

Complete!
$

手順12: WordPressの.htaccess有効化

/var/www/html/wordpress/.htaccess が作成されているが、Oracle Linux 8のhttpd標準設定ではこれを読み込むようにはなっていない。

これが有効になっていないと、パーマリンク設定を「基本」から変えた場合に個別記事にアクセスできなくなる。

/etc/httpd/conf.d/wordpress.conf にファイルを作って設定する。

$ sudo vi /etc/httpd/conf.d/wordpress.conf
$ cat /etc/httpd/conf.d/wordpress.conf
<Directory /var/www/html/wordpress/>
 Allowoverride All
</Directory>
$ sudo systemctl restart httpd
$

手順13: OS自動更新の設定

メンテナンスがめんどくさくなって忘れる可能性があるので、Oracle Linux 8の自動更新設定を実施。

以前はyum-cronでしたが、現在は dnf-automatic に変わったので、パッケージをインストールします。

$ sudo dnf install dnf-automatic -y
Last metadata expiration check: 0:21:33 ago on Wed 02 Jun 2021 05:00:20 PM JST.
Dependencies resolved.
================================================================================
 Package            Arch        Version            Repository              Size
================================================================================
Installing:
 dnf-automatic      noarch      4.4.2-11.el8       ol8_baseos_latest      148 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 148 k
Installed size: 51 k
Downloading Packages:
<略>
$

/etc/dnf/automatic.conf 内の「apply_updates = no」を「apply_updates = yes」に変更

$ sudo vi /etc/dnf/automatic.conf
$ cat /etc/dnf/automatic.conf
[commands]
#  What kind of upgrade to perform:
# default                            = all available upgrades
# security                           = only the security upgrades
upgrade_type = default
random_sleep = 0

# Maximum time in seconds to wait until the system is on-line and able to
# connect to remote repositories.
network_online_timeout = 60

# To just receive updates use dnf-automatic-notifyonly.timer

# Whether updates should be downloaded when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
download_updates = yes

# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
apply_updates = yes


[emitters]
# Name to use for this system in messages that are emitted.  Default is the
# hostname.
# system_name = my-host

# How to send messages.  Valid options are stdio, email and motd.  If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages.  If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages. if
# emit_via includes command_email, then messages will be send via a shell
# command compatible with sendmail.
# Default is email,stdio.
# If emit_via is None or left blank, no messages will be sent.
emit_via = stdio


[email]
# The address to send email messages from.
email_from = root@example.com

# List of addresses to send messages to.
email_to = root

# Name of the host to connect to to send email messages.
email_host = localhost


[command]
# The shell command to execute. This is a Python format string, as used in
# str.format(). The format function will pass a shell-quoted argument called
# `body`.
# command_format = "cat"

# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"


[command_email]
# The shell command to use to send email. This is a Python format string,
# as used in str.format(). The format function will pass shell-quoted arguments
# called body, subject, email_from, email_to.
# command_format = "mail -Ssendwait -s {subject} -r {email_from} {email_to}"

# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"

# The address to send email messages from.
email_from = root@example.com

# List of addresses to send messages to.
email_to = root


[base]
# This section overrides dnf.conf

# Use this to filter DNF core messages
debuglevel = 1
$

そしてdnf-automatic.timerを有効化し、開始します。

$ sudo systemctl enable dnf-automatic.timer
Created symlink /etc/systemd/system/timers.target.wants/dnf-automatic.timer → /usr/lib/systemd/system/dnf-automatic.timer.
$ sudo systemctl status dnf-automatic
● dnf-automatic.service - dnf automatic
   Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.service; static; vendo>
   Active: inactive (dead)
$ sudo systemctl start dnf-automatic.timer
$ sudo systemctl status dnf-automatic.timer
● dnf-automatic.timer - dnf-automatic timer
   Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.timer; enabled; vendor>
   Active: active (waiting) since Wed 2021-06-02 17:26:38 JST; 2s ago
  Trigger: Thu 2021-06-03 06:07:23 JST; 12h left

Jun 02 17:26:38 ホスト名 systemd[1]: Started dnf-automatic timer.
$

なお、dnf automaticでアップデートされた場合に、通知メールを送るようにする場合は、「Oracle Cloud上のインスタンスから管理メールを送信する手法」を参照のこと。