2026年7月11日

2026年7月11日

WordPressのパーミッションエラーを解決する方法

はじめに

WordPressの管理や更新作業を行う際、ファイルやディレクトリの権限が適切でない場合、様々な問題が発生します。例えば、「アップデートを開始できませんでした」といったエラーが表示されることがあります。これらの問題は通常、サーバー上のファイルやディレクトリの所有者やパーミッションが不適切であることが原因です。

症状・背景

このテーマが必要になる主な場面:

  • WordPressの更新(アップデート)に失敗した場合
  • テーマやプラグインをインストールまたは有効化できない場合
  • ファイルエディタを使用してファイルを編集しようとしたが、変更を保存できなかった場合

手順・設定方法

ステップ1: パーミッションの確認と修正

# WordPressのルートディレクトリに移動します。
cd /var/www/html/your_wordpress_directory

# 現在のパーミッションを確認します。
ls -la

# Apacheユーザーがファイルやフォルダにアクセスできるようにパーミッションを変更します。通常は644と755です。
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

# wp-contentディレクトリの下のフォルダやファイルも同様に修正します。
cd wp-content
chmod 755 plugins themes uploads

# ウェブサーバーがwp-config.phpと.htaccessを読み取れるように権限を変更します。
chown www-data:www-data /var/www/html/your_wordpress_directory/wp-config.php
chmod 644 wp-config.php

ステップ2: ファイル所有者の設定

# WordPressのルートディレクトリに移動します。
cd /var/www/html/your_wordpress_directory

# ユーザーとグループを確認し、Apacheユーザーに変更します。具体的なユーザー名は環境によりますので注意が必要です。
chown -R www-data:www-data .

# wp-contentディレクトリの下のフォルダやファイルも同様に設定します。
cd wp-content
chown -R www-data:www-data plugins themes uploads

# サイトの所有者がwp-config.phpを読み書きできるように、ユーザーとグループを変更します。
chown user:user wp-config.php
chmod 644 wp-config.php

ステップ3: 高度なパーミッション設定(オプション)

# より詳細なアクセス制御が必要な場合、以下のようなACL(Access Control List)を使用できます。
setfacl -dRm u:www-data:rwx /var/www/html/your_wordpress_directory

# 上記コマンドは、ディレクトリとファイルの新規作成時にデフォルトでApacheユーザーに読み書き権限を与えることを意味します。

# 既存のファイルやディレクトリにもACLを適用できます。
setfacl -Rm u:www-data:rwx /var/www/html/your_wordpress_directory

ステップ4: パーミッション修正後の確認とテスト

# WordPressプラグインのインストールや更新が可能か確認します。
wp plugin install <plugin-name>
wp plugin update --all

# サイトを再起動し、問題が解決したことを確認します。通常、サーバーのリロードは必要ありませんが、念のために行うと良いでしょう。
service apache2 restart

注意事項

  • パーミッションの変更は慎重に行い、適切なアクセス権限を確保するようにしてください。
  • セキュリティ上、全てのファイルやディレクトリに対して過度にオープンなパーミッション(777など)を設定しないでください。
  • 大規模サイトでは、複数ユーザーが同時に作業を行う場合があるため、共有フォルダの権限管理が必要です。
  • パーミッション修正後も問題が解決しない場合は、プラグインやテーマによる制約も考えられます。それらを無効化してテストすることをお勧めします。

まとめ

1. パーミッションチェック: WordPressディレクトリの権限を定期的に確認し、適切な値に調整する。

2. 所有者設定: ディレクトリとファイルの所有者は通常Apacheユーザーです。ただしサイト管理者はwp-config.phpを管理できるようユーザーグループを変更します。

3. ACL適用: 詳細なアクセス制御が必要な場合は、ファイルやディレクトリにACLを設定する。

4. 再テスト: パーミッションの修正後、プラグインやテーマの操作が可能であることを確認します。

5. セキュリティとパフォーマンス: できるだけ制限的な権限を使用し、セキュリティとパフォーマンスを確保します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ