WordPressの環境構築として、ローカル構築、AWS構築、セキュリティー対策までの手順を章立てて紹介しています。
- WordPress環境をローカルにdockerを使って構築する
- AWSにWordPress環境を構築!EC2にApache、RDSにMySQL使う
- お名前.comでドメインを取得してAWSでSSL化(https)の対応をする
- AWS環境のWordPressサイトヘルスステータス「1つ以上の必須モジュールが存在しません。」「バックルラウンドの更新が想定通りに動作していません。」の解消方法【Apache】
- AWSでWordPress構築をしたらやるべきセキュリティ対策【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」ユーザが操作できるように、所有ユーザとグループを変更してあげることで解消する。
解決手順
- WordPressモジュールを所有するユーザ、グループを変更し、ディレクトリ、ファイルの書き込み、読み込み許可を与える。当環境では、WebサーバはApacheをインストールしているので、実行ユーザはapacheとなる。AWSが展開しているサイトを参考に更新
- /var/wwwとそのコンテンツのファイル、グループ所有権をapacheに付与する。
- ファイル権限変更:
sudo chown -R apache /var/www
- グループ所有権変更:
sudo chgrp -R apache /var/www
- ファイル権限変更:
- /var/www およびそのサブディレクトリのディレクトリ許可を変更してグループの書き込み許可を設定し、将来のサブディレクトリにグループ ID を設定します。
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
- /var/www およびそのサブディレクトリのファイル許可を繰り返し変更してグループの書き込み許可を追加します。
find /var/www -type f -exec sudo chmod 0664 {} \;
- /var/wwwとそのコンテンツのファイル、グループ所有権をapacheに付与する。
これで致命的なエラーは解消するので、サイトヘルスステータス画面で致命的なエラーがないことを確認する。
コメント