LoginSignup
0
0

AWSからWordPressを起動する際に詰まったところ

Last updated at Posted at 2022-03-05

この記事なんの記事

結構前に購入した「Amazon Web Service 基礎からのネットワーク&サーバー構築」という本を基にAWS上でWordPressを起動するところまでをやってみました。
私が持っていたのは2019年2月発行の第4版ですが、書籍通りの手順でやってみてできなかった箇所がいくつかあったので、解決方法をメモしておきます。
エラーメッセージ含め、色々とメモが残っていなくて雑気味です。すみません。

前提

AWSなどの設定は上記の書籍に準拠してCentOS7を使用しています。

つまったところ

MySQLのWordPress用のユーザー作成

DBサーバーにMySQLをインストールをして、以下のSQLでユーザー作成をしようとしましたが、エラーになりました。

mysql> grant all on wordpress.* to wordpress@"%" identified by "wordpresspasswd";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by "wordpresspasswd"' at line 1

インストールしたのはMySQLのバージョン8.0.28で、8系ではgrantとCreate Userは同時に実行できないとのこと。こちらの記事を参考にさせていただきました。
Create Userをしてからgrantして解決。

WordPressでPHPのバージョンエラー

PHPをインストールして、いざWordPressを起動してみると、「PHPのバージョンが5.4で古いからNGよ。少なくとも5.6以上を使ってね」という旨のエラーが表示されました。
※エラーメッセージメモするの忘れました...すみません。

書籍通りに以下のコマンドでインストールしたのですが、このコマンドだと5.4.16がインストールされてしまっていたので、バージョンアップを実施する必要がありました。

sudo yum -y install php php-mysql php-mbstring

こちらの記事を参考にさせていただき、PHP7系をインストールしようと試みることに。
すでにインストールされているPHP5.4.16をアンインストール

sudo yum remove php-*

PHP7.0.xをインストール

sudo yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php70 php

その後php --versionで確認すると、インストールされてない。
バーっと実行されるので最初ログを飛ばし読みして気づかなかったのですが(おい)、PHP7.0をインストールしようとして、以下のエラーが発生していました。

Error: Package: libraqm-0.7.0-4.el7.x86_64 (epel)
           Requires: libharfbuzz.so.0()(64bit)
Error: Package: gd-last-2.3.3-2.el7.remi.x86_64 (remi)
           Requires: libfontconfig.so.1()(64bit)

インストール時の依存関係のエラーのようなので、Requiresの後のものをググって、それぞれ以下ページにたどり着く。
https://centos.pkgs.org/7/centos-x86_64/harfbuzz-1.7.5-2.el7.x86_64.rpm.html
https://centos.pkgs.org/7/centos-x86_64/fontconfig-2.13.0-4.3.el7.x86_64.rpm.html

ダウンロード用のファイルがあったので、以下コマンドでライブラリを取得。この辺見よう見まねです…。

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/harfbuzz-1.7.5-2.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm

その後再度7.0系のインストールコマンドを実行、今度はエラーメッセージも表示されず。バージョンを確認して完了!

php --version;
PHP 7.0.33 (cli) (built: Nov 15 2021 10:51:40) ( NTS )

WordPressでデータベース接続エラー

apacheを再起動して、再度WordPressを開こうとしたところ、以下のエラーが表示されました。
2020-01-12.png

色々遠回りしましたが、私は以下の3つの設定を変更することで解決しました。

  1. wp-config.phpの書き換え
  2. MySQLユーザーの認証方式の書き換え
  3. MySQL本体の認証方式の書き換え

1. wp-config.phpの書き換え

ググってみると、wp-config.phpというファイルの編集が必要なんだとか。
wp-config.phpの編集方法は色々な方が記事を書いてくださっていますので、そちら参照。例:https://qiita.com/moomindani/items/9968df0d4396564bf74c
書籍上は ~/wordpress以下にファイルがあって、それを/var/www/htmlにコピーしていたので、同じ手順で編集してコピーします。

cd ~/wordpress
vi wp-config.php
-- wp-configを設定に従って書き換え
sudo cp -r * /var/www/html
sudo chown apache:apache /var/www/html -R

2. ユーザーの認証方式の書き換え

apacheを再起動しても、1だけだとエラーは解消せずでした。wp-config.phpのデバッグモードをONにしてみる。

- define( 'WP_DEBUG', false ); 
+ define( 'WP_DEBUG', true );

WordPressの起動画面に以下のエラーメッセージが表示されました。

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in /var/www/html/wp/wordpress/wp-includes/wp-db.php on line 1753
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client in /var/www/html/wp-includes/wp-db.php on line 1753

エラーメッセージをググって、この記事を参考にwordpress用のDBユーザーの認証をcaching_sha2_passwordからmysql_native_passwordに変更しました。

3. MySQL本体の認証方式の書き換え

それでも解消せず、こちらを参考にさせていただき、MySQL自体のデフォルトの認証形式を変えました。
DBサーバーに接続し、etc/my.confを開いて、default-authentication-pluginの設定を変更(コメントアウトを外すだけ)。

- # default-authentication-plugin=mysql_native_password
+ default-authentication-plugin=mysql_native_password

その後、MySQLの再起動とapacheの再起動をしたら、WordPressのページが表示されるようになりました。
2までで解決する方が多いようですが、私の場合は3もやらないとだめでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0