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.
だのに大急ぎで構築を仕上げねばならないときに限って次々とエラーに見舞われてちっとも5分以内じゃ成し遂げられないことが相次ぐものである。その上、少し間が空いてしまうと解決に導いたエラーの記憶がすっかりと抜け落ち再び同じ内容に悩まされて貴重な時間を浪費するからいい加減、文章として残しておこうというものである。
一番目に直面するのは「お使いのサーバーの 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の認証プラグインが原因であるとおもう。
この当て推量を確かなものにするため wp-config-sample.php
をコピーして wp-config.php
を拵え、WP_DEBUG
の値を true
に置き換えてDEBUGモードを有効にし、改めてインストールを試みてみるとこうである。
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 ファイルに書き込みできません。」 というものでインストールディレクトリのパーミッションに特段の問題が無いのにこういった訴えを受けた場合はSELINUXを無効にセットすると解決する。
$ sudo vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled
$ sudo reboot
こうしてインストールはつつがなく完了するようになった。