広告

RockyLinux9.7で「WordPress環境構築「Vol-03」PHP8.4、MariaDB11.4

IT

WordPress構築のために、PHPとMariaDB(Mysql)環境を整備していきます
現状の状態は、
WordPress6.9.4、PHP 8.2.30 MariaDB10.5.29です。
今回は、バックアップ用が目的ですが、トライアルもかねて、なるべく新しいバージョンにしておきたいと思います。
現wordpressに対応している、phpとwordpressのバージョンは下記を参考にしました

PHP
MariaDB

上記を参考に、PHP8.4 MariaDB11.4(LTS)をインストールします

広告

PHPのインストール

筆者の現環境では、PHPはまだインストールしていませんが、とりあえず確認します

やはりインストールされていませんが、もしインストールされている場合には、必要あればバックアップを取り、問題なければすべて削除します

PHP モジュールリストを確認します

Rocky Linux 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

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
php remi-8.3 common [d], devel, minimal PHP scripting language
php remi-8.4 common [d], devel, minimal PHP scripting language
php remi-8.5 common [d], devel, minimal PHP scripting language

私の環境では、AppStream には、8.3までですが、Remiでは、8.5まで登録されています
ここでは、最新は避けて8.4をインストールしようと思います

拡張機能を追加

WordPressを動作させるのに、必須と推奨なPHP拡張機能があります。
こちらとAIの意見を参考にして、インストールしておきたいと思います。
すでに、インストール済みや一致するものがない場合もありましたが、インストールしました

再起動

PHP8.4について、🧑‍💻AIからのアドバイス

補足:PHP 8.4での注意点(AIからのアドバイス)

PHP 8.4は比較的新しいため、利用しているWordPressテーマや古いプラグインがまだ対応しておらず、非推奨(Deprecated)の警告が出る場合があります。

  • もしエラーが出る場合は、WordPressの管理画面から「サイトヘルス」を確認し、足りないモジュールがないかチェックしてみてください。

もし特定のプラグインで「これが足りない」と言われた場合は、dnf search php-拡張名 で探すとすぐに見つかりますよ。

php.ini の設定

PHPの設定は、「/etc/php.ini」で行います。
念のためバックアップととり、編集します。

筆者の利用方法としては、記事内に画像貼り付けと少数ですが動画も貼り付けたいと思っているので、多少余裕をもった設定にしました。



;expose_php = On
expose_php = Off

;max_execution_time = 30
max_execution_time = 300

;max_input_time = 60
max_input_time = 300

;max_input_vars = 1000
max_input_vars = 3000

;post_max_size = 8M
post_max_size = 300M

;upload_max_filesize = 2M
upload_max_filesize = 256M

;max_file_uploads = 20
max_file_uploads = 50

;date.timezone =
date.timezone = "Asia/Tokyo"

;mbstring.language = Japanese
mbstring.language = Japanese

;mbstring.internal_encoding =
mbstring.internal_encoding = UTF-8

;mbstring.http_input =
mbstring.http_input = UTF-8

;mbstring.http_output =
mbstring.http_output = pass

;mbstring.encoding_translation = Off
mbstring.encoding_translation = On

;mbstring.detect_order = auto
mbstring.detect_order = auto

;mbstring.substitute_character = none
mbstring.substitute_character = none

キャッシュ拡張用の10-opcache.ini の設定変更

OPcache(オプキャッシュ)は、PHPスクリプトのコンパイル結果(バイトコード)を共有メモリにキャッシュすることで、PHPの動作を高速化する拡張モジュールですが、その設定ファイルも余裕をみた設定にしました
/etc/php.d/10-opcache.ini もバックアップをとって編集します



opcache.enable=1

;opcache.memory_consumption=128
opcache.memory_consumption=256

;opcache.memory_consumption=128
opcache.memory_consumption=256

;opcache.max_accelerated_files=10000
opcache.max_accelerated_files=20000

httpd.conf の編集

こちらは、必須ではないですが、やっといたほうがいいかも?との🧑‍💻AIのアドバイスです

/etc/httpd/conf/httpd.conf



LimitRequestBody 314572800 #(= 約300MB)

ただ、こちらの情報では

デフォルト値が 0 (無制限) から 1 GiB に変更されたようです。

デフォルトでは無制限ではなくなったみたいです。

多少の動画添付を考慮した、WordPress側の設定

こちらも、🧑‍💻AIのアドバイス
画像貼り付け予定であれば、設定しておいたほうがよいとの事
こちらは、wordpress立ち上げ時に設定しようと思います

WordPress側の設定(wp-config.php)

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

PHP確認

「/home/www/home」に「index.php」という、ファイルを作成し、ブラウザに「https://www2.hogehoge.com/index.php」で確認します

アドレスバーに「https://www2.hogehoge.com/index.php」で確認します

確認ができたら、削除しておきましょう

MariaDB 11.4(LTS)

11.5も動作すると思いますが、11.4(LTS)をインストールしようと思います

リポジトリ追加

リポジトリ追加

パッケージキャッシュの更新

EPEL リポジトリ系のネットワーク接続エラーが出たので、AIに聞いてみましたが、問題はないようです
AIの回答では閉鎖環境では、EPELを無効化する事でエラーは消えるようです(筆者は試していません)

EPEL リポジトリ系エラーについて、🧑‍💻AIの回答

なるほど、閉域網環境なんですね。その状況なら無効化で問題ないです。

EPEL を無効化する

sudo dnf config-manager --disable epel
確認
sudo dnf makecache

エラーが消えれば OK です。

本機トラブル時に外部接続が必要になったら

その時は再度有効化すればいいだけです:

sudo dnf config-manager --enable epel

切り替えが簡単なので、普段は無効化しておいて問題ありません👍


パッケージ情報の一覧は、下記で確認できます
11.4のパッケージが確認できました


MariaDB-client.x86_64 11.4.10-1.el9 @mariadb-main
MariaDB-client-compat.noarch 11.4.10-1.el9 @mariadb-main
MariaDB-common.x86_64 11.4.10-1.el9 @mariadb-main
MariaDB-server.x86_64 11.4.10-1.el9 @mariadb-main
MariaDB-server-compat.noarch 11.4.10-1.el9 @mariadb-main
MariaDB-shared.x86_64

MariaDB 11.4 のインストール

MariaDB サービスの起動と自動起動設定

初期セキュリティ設定

対話形式で以下を設定します:

項目推奨設定
ERROR 2002 (HY000): Can’t connect to local server through socketMariaDB サービスが起動していない場合、このエラーがでます。その場合は起動させます。
sudo systemctl start mariadb
Enter current password for root (enter for none):
カレントrootパスワード:
以前設定していなければ「Enter
Switch to unix_socket authentication [Y/n]
Unix socket 認証
n(パスワード認証を使う場合)
Change the root password? [Y/n]
root パスワード設定
このパスワードは、データベース作成時にも使用するので、忘れないようにメモします
y → パスワードを入力
データベースへのログインで使用する
mysql -u root -p[パスワード]
Remove anonymous users? [Y/n]
匿名ユーザーの削除
y
Disallow root login remotely? [Y/n]
リモート root ログインの禁止
y
Remove test database and access to it? [Y/n]
テスト DB の削除
y
Reload privilege tables now? [Y/n]
権限テーブルのリロード
y

ファイアウォールの設定(外部接続が必要な場合)

外部からデータベースに接続する場合には、ファイヤフォールに許可します
筆者は外部からデータベースへのアクセスの予定はないので、今回は設定していませんが
覚書として、書いておきます。

インストール確認

文字コードの設定

文字化け防止に、文字コードを編集します
設定ファイルは
「/etc/my.cnf.d/server.cnf」
「/etc/my.cnf.d/client.cnf」で行うので
バックアップアップを取って、編集。



# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]
# ----- 2026/05/01 -----
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci





#
# These two groups are read by the client library
# Use it for options that affect all clients, but not the server
#
[client]
# ----- 2026/05/01 -----
default-character-set = utf8mb4


再起動と確認

mysql -u root -p[パスワード]
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 11.4.10-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> show variables like "chara%";
+--------------------------+------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------+
| character_set_client | utf8mb4 |
| character_set_collations | |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mariadb/charsets/ |
+--------------------------+------------------------------+
9 rows in set (0.002 sec)

MariaDB [(none)]> quit
Bye

utf8mb4 になっていることを確認します
もし、「latin1」とかになっていた場合には、再起動sudo systemctl restart mariadb」で反映されます。


WordPress環境構築まとめ

コメント

タイトルとURLをコピーしました