Synology NAS WordPress アップロードできない問題の解決
表示
Synology NAS WordPress アップロードできない問題の解決[編集]
症状[編集]
WordPressのメディアライブラリに画像をアップロードしようとすると、以下のエラーが表示される。
- 「ディレクトリ wp-content/uploads/2026/04 を作成できません。この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか?」
原因[編集]
SynologyのWebステーションでWordPressをパッケージとしてインストールした場合、PHPの open_basedir がデフォルトで以下のパスしか許可していない。
/var/services/web_packages/wordpress:/tmp:/var/services/tmp
しかし実際のuploadsフォルダのパスは /volume1/web_packages/wordpress/wp-content/uploads であるため、PHPがアクセスを拒否する。
解決方法[編集]
open_basedirにuploadsパスを追加する[編集]
- DSM → Webステーション → スクリプト言語の設定
- WordPress Profile を選択して編集
- PHP open_basedirをカスタマイズ → カスタマイズ を選択
- 以下を入力して保存
/var/services/web_packages/wordpress:/tmp:/var/services/tmp:/volume1/web_packages/wordpress/wp-content/uploads
→ 再起動不要で即時反映される。
DSMアップデート後の注意[編集]
DSMアップデート後に open_basedir がデフォルト値にリセットされる場合がある。
その際は上記の手順を再度実施する。
uploadsフォルダの権限設定[編集]
uploadsフォルダの権限が不足している場合はSSHで以下を実行:
sudo chown -R http:http /volume1/web_packages/wordpress/wp-content/uploads sudo chmod -R 775 /volume1/web_packages/wordpress/wp-content/uploads
過去画像が表示されない場合[編集]
web_packages側のuploadsに過去の画像がない場合は、バックアップからコピーする:
sudo cp -rp /volume1/web/wordpress_old_backup/wp-content/uploads/2026/01 /volume1/web_packages/wordpress/wp-content/uploads/2026/ && sudo cp -rp /volume1/web/wordpress_old_backup/wp-content/uploads/2026/02 /volume1/web_packages/wordpress/wp-content/uploads/2026/ && sudo cp -rp /volume1/web/wordpress_old_backup/wp-content/uploads/2026/03 /volume1/web_packages/wordpress/wp-content/uploads/2026/ && sudo chown -R http:http /volume1/web_packages/wordpress/wp-content/uploads/ && sudo chmod -R 775 /volume1/web_packages/wordpress/wp-content/uploads/