2026年11月6日
2026年11月6日
WordPressのファイルパーミッションを正しく設定する方法
はじめに
WordPressサイトを運用する上で、ファイルのアクセス権限(ファイルパーミッション)は非常に重要です。適切な設定がされていないと、セキュリティ上のリスクや機能制限などの問題が発生します。この記事では、LinuxサーバーでWordPressのファイルパーミッションを正しく設定する方法について解説します。
症状・背景
このテーマが必要になる主な場面:
- WordPressプラグインのインストールやアップデートが失敗
- テーマのカスタマイズや更新ができなくなる
- FTPクライアントでのファイル操作に問題が出る
- サイト全体または特定ディレクトリ内のファイルへのアクセス権限不足
手順・設定方法
ステップ1: WordPressの基本的なファイルパーミッションを確認と変更
# WordPressのルートディレクトリに移動します。
cd /var/www/html/wordpress
# wp-contentディレクトリ以下のすべてのファイルとフォルダの所有者をapacheに変更します。
chown -R apache:apache wp-content/
# wp-content/wp-config.php, wp-content/themes, wp-content/plugins などのパーミッションを設定します。
chmod 755 wp-content/
chmod 644 wp-content/*.php
chmod 750 wp-content/upgrade/
ステップ2: ファイルとディレクトリの権限を適切にセット
# WordPressルートディレクトリ以下のwp-config.phpファイルのパーミッションを644に設定します。
chmod 644 wp-config.php
# uploadsディレクトリ以下のすべてのファイルとフォルダの所有者をapacheからユーザー名に変更します。
chown -R username:username wp-content/uploads/
# uploadsディレクトリのパーミッションを755、その他のファイルは644に設定します。
chmod 755 wp-content/uploads/
find wp-content/uploads/ -type d -exec chmod 755 {} \;
find wp-content/uploads/ -type f -exec chmod 644 {} \;
# WordPressのルートディレクトリ以下のすべてのファイルとフォルダの所有者をapacheに変更します。
chown -R apache:apache /var/www/html/wordpress/
ステップ3: パーミッション設定の応用
# .htaccessファイルのパーミッションを644に設定します。
chmod 644 wp/.htaccess
# plugins、themes、languagesディレクトリ以下のすべてのファイルとフォルダの所有者をapacheからユーザー名に変更します。
chown -R username:username wp-content/plugins/
chown -R username:username wp-content/themes/
chown -R username:username wp-includes/languages/
# plugins、themesディレクトリのパーミッションを755、その他のファイルは644に設定します。
chmod 755 wp-content/plugins/
chmod 755 wp-content/themes/
find wp-content/plugins/ -type d -exec chmod 755 {} \;
find wp-content/plugins/ -type f -exec chmod 644 {} \;
find wp-content/themes/ -type d -exec chmod 755 {} \;
find wp-content/themes/ -type f -exec chmod 644 {} \;
# languagesディレクトリのパーミッションを644に設定します。
chmod 644 wp-includes/languages/*
ステップ4: 定期的なチェックと更新
# サイトの正常な動作を確認するため、cronジョブを追加して定期的にファイルパーミッションをチェックします。
crontab -e
0 1 * * * /usr/bin/find /var/www/html/wordpress -type d -exec chmod 755 {} \;
0 2 * * * /usr/bin/find /var/www/html/wordpress -type f -exec chmod 644 {} \;
注意事項
- 所有者とグループ: ファイルの所有者が適切なユーザー(通常は
apache)になっていることを確認してください。不必要なアクセス権を付与しないように注意しましょう。 - パーミッションの調整: 特定のファイルやディレクトリにのみアクセスが必要な場合は、その範囲でのみ権限を設定します。
- セキュリティ上の注意: ファイルパーミッションが不適切だと、攻撃者がサイトを乗っ取る可能性があります。特にwp-config.phpファイルは保護する必要があります。
- パフォーマンス/運用上の注意: 過度に厳密なパーミッション設定は、通常の操作を妨げる場合があるので、適切なバランスを見つけることが重要です。
まとめ
1. 所有者の確認と変更:WordPressファイルやディレクトリの所有者とグループが正しいことを確認し、必要に応じて変更します。
2. パーミッション設定: 各種ファイルとディレクトリには適切なアクセス権限を付与します。特にwp-config.phpやuploadsディレクトリは注意が必要です。
3. 定期的なチェック: cronジョブを使用して、定期的にファイルパーミッションが正しいか確認します。
4. セキュアな設定: セキュリティ上のリスクを最小限に抑えつつ、サイトの正常な動作を維持するために、適切なアクセス権限を設定します。
5. トラブルシュート: 設定後に問題が発生した場合は、パーミッションや所有者の変更履歴を確認し、必要に応じて調整を行います。
関連記事: