MENU
オンライン講座開催中

AWS LightsailのWordPressでAll-in-One WP Migrationが使えない原因と解決方法

AWS LightsailのWordPressでAll-in-One WP Migrationが使えない原因と解決方法

AWS LightsailにWordPressを構築していて、バックアップ用プラグイン「All-in-One WP Migration」を有効化した際に以下のようなエラーが出ることがあります。

/var/www/html/wp-content/ai1wm-backups/.htaccess ファイルを作成できませんでした。親フォルダーに読み取り / 書き込み権限があることを確認してください。
/var/www/html/wp-content/plugins/all-in-one-wp-migration/storage/.htaccess ファイルを作成できませんでした。親フォルダーに読み取り / 書き込み権限があることを確認してください。

この記事では、このエラーの原因と解決方法を解説します。


目次

エラーの原因

このエラーは<strong>ディレクトリのパーミッション(書き込み権限)が不足している</strong>ことが原因です。

All-in-One WP Migrationは有効化時に以下のディレクトリを作成し、設定ファイルを書き込もうとします。

  • /var/www/html/wp-content/ai1wm-backups/
  • /var/www/html/wp-content/plugins/all-in-one-wp-migration/storage/

これらのディレクトリに対して、WebサーバーのプロセスユーザーであるWww-dataが書き込みできない状態になっているため、エラーが発生します。


なぜ権限がおかしくなるのか

LightsailのWordPressインスタンスでよくある原因として、<strong>GitHub Actionsなどで自動デプロイを設定したタイミング</strong>でファイルの所有者が変わってしまうケースがあります。

rsyncscpでファイルを転送すると、所有者がSSHユーザー(adminなど)になり、Webサーバーの実行ユーザー(www-data)が書き込めなくなることがあります。


解決方法

SSHでインスタンスに接続し、以下のコマンドを実行します。

① 現状確認

まず現在のパーミッション状態を確認します。

bash

ls -la /var/www/html/wp-content/

問題があるディレクトリは以下のように drwxr-sr-x となっており、www-data グループに書き込み権限がありません。

drwxr-sr-x  2 admin www-data 4096 Jun  8 14:19 ai1wm-backups

② パーミッションと所有者を修正

以下の4つのコマンドを順番に実行します。

bash

sudo chmod 775 /var/www/html/wp-content/ai1wm-backups
sudo chmod 775 /var/www/html/wp-content/plugins/all-in-one-wp-migration/storage
sudo chown -R www-data:www-data /var/www/html/wp-content/ai1wm-backups
sudo chown -R www-data:www-data /var/www/html/wp-content/plugins/all-in-one-wp-migration/storage

各コマンドの意味は以下のとおりです。

  • chmod 775:所有者とグループに読み書き実行権限を付与
  • chown -R www-data:www-data:所有者をwww-dataに変更

③ プラグインを再有効化

WordPressの管理画面でAll-in-One WP Migrationを<strong>一度無効化 → 再度有効化</strong>します。エラーメッセージが消えていれば成功です。


SSHの接続方法(Lightsailの場合)

LightsailではブラウザベースのSSHが不安定な場合があります。その場合はターミナルから直接接続します。

bash

# 鍵ファイルをsshフォルダに移動して権限設定
mv ~/Downloads/LightsailDefaultKey-ap-northeast-1.pem ~/.ssh/lightsail.pem
chmod 400 ~/.ssh/lightsail.pem

# SSH接続(ユーザー名はadmin)
ssh -i ~/.ssh/lightsail.pem admin@your-instance-ip

LightsailのWordPressインスタンスのユーザー名は admin です(ubuntubitnami ではありません)。インスタンスのIPアドレスはLightsailコンソールの「静的IPアドレス」で確認できます。


まとめ

項目内容
エラーの原因ai1wm-backupsディレクトリへの書き込み権限不足
よくある原因GitHub Actionsデプロイ時にファイル所有者が変わった
解決方法chmod 775 + chown www-data でパーミッション修正
SSHユーザー名admin(LightsailのWordPressインスタンス)

パーミッション系のエラーはAWS環境では頻繁に起こります。エラーメッセージに「親フォルダーに読み取り / 書き込み権限があることを確認してください」と出たら、まずSSHで権限確認をしてみましょう。

目次