最近なのですが、プラグインやシステム自体のアップグレードをしているうちに、いくつかのファイルやディレクトリの所有者が”apache”になってしまい、そのために削除や上書きができなくなり、プラグインやシステムのアップグレードができなくなっています。
自動アップグレードをすると、Apache プロセス自体がファイル更新をするので、ファイル/ディレクトリーの所有者については apache になってしまいます。apache 以外のユーザー (すなわちあなた自身) が削除や上書きをできるようするには、アップグレード時に、パーミッションを 646 とか 757 とかにする必要があります。
これは、アップグレードシステムの不備と言えますね。
ただ今回は複数あるので、自分で直したいと考えていますが、修復する方法はあるのでしょうか?
所有者を変更することはできません。これは root 権限が必要なので、サーバー管理者に相談してください。
パーミッションの変更であれば、自身で PHP や perl で chmod()
命令を実行するような CGI を作成して、それをウェブ経由で実行すれば、apache ユーザーからみたパーミッション変更ができます。
lilyfanさん>
返信ありがとうございました。
もしかすれば、今後のバージョンアップ時に解消される可能性もありますね。
様子を見つつ、chmod命令のcgiの件も調べてみたいと思います。
ありがとうございました。
様子を見つつ、chmod命令のcgiの件も調べてみたいと思います。
単純に、以下のような感じで問題ありません。当然ながら、ファイルのパスはサーバーでの設置状況に応じて修正が必要です。PHP のコードを書いたことがなければ、管理者に依頼した方が確実と思います。
<?php
chmod ('/home/foo/public_html/wp-include/XXXXX.php', 0646);
chmod ('/home/foo/public_html/wp-content/2008/12/', 0757);
?>