OS: Red Hat Enterprise Linux Server release 7.8 (Maipo)
Apache 2.4.6 / mysql 8.0.19 / PHP 7.3.17
WordPress 5.4
WordPressについては次のような具合でインストールが容易であると喧伝されている。
WordPress is well-known for its ease of installation. Under most circumstances, installing WordPress is a very simple process and takes less than five minutes to complete.
How to install WordPress
だのに大急ぎで構築を仕上げねばならないときに限ってエラーが相次ぐものである。ちっとも5分未満じゃあ成し遂げられない。また、少し間が空いてしまうと解決の方法が記憶からすっかり抜け落ちる。すると再び同じ内容に悩まされて貴重な時間を浪費するからいい加減、文章として残しておこうというものである。
MySQL 拡張を利用できない
一番目に直面するのは「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」というエラーメッセージである。此れはphp-mysqlndパッケージが不足していことに因るものである。Remi’s RPM repository辺からさっとインストールして終いである。
$ sudo yum install --enablerepo=remi-php73 php-mysqlnd $ sudo systemctl restart httpd.service
データベース接続確立エラー
次に立ちはだかるのが「データベース接続確立エラー」というやつである。
- MySQL8系が導入されている環境
- ユーザー名とパスワードに間違いがない
- ホスト名も正しい
- MySQLは正常に動作している
にもかかわらずこのエラーが出現するなら十中十一くらいでMySQLの認証プラグインが原因であるとおもう。
この当て推量を確かなものにするため、DEBUGモードを有効にし、改めてインストールを試みてエラーメッセージを確認する。それには wp-config-sample.php
をコピーして wp-config.php
を拵え、WP_DEBUG
の値を true
に編集する。
The server requested authentication method unknown to the client
と云うのだからもうすっかり裏付けが取れた。こうなればユーザの認証プラグインを mysql_native_password
に変更すれば問題が解消される。
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'p@ssw0rd';
wp-config.php ファイルに書き込みできない
最後は「wp-config.php ファイルに書き込みできません。」 というものである。インストールディレクトリのパーミッションに特段の問題が無いのにこういった訴えを受ける場合はSELINUXの仕業である可能性がある。
SELINUXを無効にするならばこうである。
$ sudo vi /etc/sysconfig/selinux #SELINUX=enforcing SELINUX=disabled $ sudo reboot
こうしてインストールはつつがなく完了するようになった。