AWS環境のWordPressサイトヘルスステータス「1つ以上の必須モジュールが存在しません。」「バックルラウンドの更新が想定通りに動作していません。」の解消方法【Apache】

AWS環境のWordPressサイトヘルスステータス「1つ以上の必須モジュールが存在しません。」「バックルラウンドの更新が想定通りに動作していません。」の解消方法【Apache】 開発
スポンサーリンク

AWSでWordPressの構築をしたら、2件の致命的な問題があったので、こちらを解消する。

実行環境としては、

  • AWSのEC2にWebサーバーとして「Apache」を稼働させている。
  • WordPressモジュールは、Git管理しており/var/www/htmlに展開している。
    • 展開したユーザは、ec2-user。

です。

1つ以上の必須モジュールが存在しません

エラーの内容としては

1つ以上の推奨モジュールが存在しません パフォーマンス

PHP モジュールはサイトの稼働に必要なほとんどのタスクをサーバー上で実行します。変更はサーバー管理者が実施する必要があります。

WordPress ホスティングチームでは、こうした推奨されていたり必須とされていたりするモジュールのリストをチームのハンドブック (新しいタブで開く)でメンテナンスしています。

オプションのモジュール dom がインストールされていないか、無効化されています。

オプションのモジュール mbstring がインストールされていないか、無効化されています。

オプションのモジュール imagick がインストールされていないか、無効化されています。

必須モジュール gd がインストールされていないか、無効化されています。

解決方法

メッセージに表示されている通り、オプションモジュールの「dom」「mbstring」「imagick」、必須モジュール「gd」をインストールする。

インストールコマンド

	sudo yum install -y php php-dom
	sudo yum install -y php php-mbstring
	sudo yum install -y php php-imagick
	sudo yum install -y php php-gd

インストールが完了したら、Apacheサーバの再起動

sudo service httpd restart

を行う。

これで解消する。

バックルラウンドの更新が想定通りに動作していません

エラーの内容としては

バックグラウンド更新が想定通りに動作していません

バックグラウンド更新は使用中の WordPress のバージョンにセキュリティ更新がリリースされた際、自動更新できることを保証します。

このWordPressサイトでは更新の実行の際にFTP認証情報が必要となります。(このサイトではファイルの所有権の問題のため、更新がFTP経由で行われます。詳細はホスティング会社にお尋ねください。)

エラーメッセージに記載の通り、ファイルの所有権の問題があります。

ec2-userでWordPressモジュールをGitから展開しているので、WordPressの実行ユーザ「apache」がファイルを操作できない状態にある。
なので、WordPressモジュールを「apache」ユーザが操作できるように、所有ユーザとグループを変更してあげることで解消する。

解決手順

  1. WordPressモジュールを所有するユーザ、グループを変更し、ディレクトリ、ファイルの書き込み、読み込み許可を与える。当環境では、WebサーバはApacheをインストールしているので、実行ユーザはapacheとなる。AWSが展開しているサイトを参考に更新
    1. /var/wwwとそのコンテンツのファイル、グループ所有権をapacheに付与する。
      1. ファイル権限変更:sudo chown -R apache /var/www
      2. グループ所有権変更:sudo chgrp -R apache /var/www
    2. /var/www およびそのサブディレクトリのディレクトリ許可を変更してグループの書き込み許可を設定し、将来のサブディレクトリにグループ ID を設定します。
      1. sudo chmod 2775 /var/www
      2. find /var/www -type d -exec sudo chmod 2775 {} \;
    3. /var/www およびそのサブディレクトリのファイル許可を繰り返し変更してグループの書き込み許可を追加します。
      1. find /var/www -type f -exec sudo chmod 0664 {} \;

これで致命的なエラーは解消するので、サイトヘルスステータス画面で致命的なエラーがないことを確認する。

スポンサーリンク

コメント

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