今回は幾度とアップグレード、アップデートしたwordpressに起こってしまう?所有者がApatchのなってしまったファイルの削除方法ごご紹介致します。
本日とあるクライアントのwordpressのWP Super Cacheプラグインをアップデートしたところ一部のファイルの所有者がApatch(アパッチ)になってしまい、変更削除などがFTPやコントロールパネル(Plesk Panel)からできなくなってしまいました。変更、削除などしなくても問題はなかったのですが(WP Super Cacheを初めてインストールしたとき既にApatchだった気もしますが…)、クライアント様側から「所有者がApatchなんて気持ち悪いから何とかして欲しい」とのご要望があり、何とかすることにいたしました。原因は自動アップグレード時にwp-contentsフォルダとその下のディレクトリにありますpluginsフォルダのパーミッションを777に変更しないと起こる?ようです。サーバーにより様々ですが、弊社の借りているレンタルサーバーでは777にパーミッションを変更するとで回避出来ました。所有者がApatchになってしまったファイルの削除方法はcmdから出来ればよいのですが、恐らくできない方が大半だと思いますので、以下の.phpファイルを作り実行いたしました。
< ?php
chmod (‘/var/www/vhosts/ドメイン名/httpdocs/wordpressが入っているのフォルダ名/wp-content/cache/supercache’, 0777);
chmod (‘/var/www/vhosts/ドメイン名/httpdocs/wordpressが入っているのフォルダ名/wp-content/cache/’, 0777);
chmod (‘/var/www/vhosts/ドメイン名/httpdocs/wordpressが入っているのフォルダ名/wp-content/advanced-cache.php’, 0777);
chmod (‘/var/www/vhosts/ドメイン名/httpdocs/wordpressが入っているのフォルダ名/wp-content/wp-cache-config.php’, 0777);
?>
※上のソースはシングルクオテーションやコンマが全角になる場合がありますのでご注意下さい。
サーバーによりディレクトリ名は様々ですので、‘/var/www/vhosts/ドメイン名/httpdocs/wordpressが入っているのフォルダ名/wp-content/cache/supercache’をお使いのサーバーに合ったパスに変更し、このphpファイルをFTPでアップしこのファイルにアクセスしてください。画面上では何も起こりませんがFTPで見ますと所有者はApatchのままですがパーミッションが777に変更されているのでFTP上からでも削除ができます。
※サーバーの設定により出来ない場合もあるようです。その場合は管理者にご相談下さい
この作業をしていて気づいたのですが、wordpressの.htaccessのパーミッションは666でOKなんですね。
※サーバーにより異なりますのでご注意下さい。
記事:清原一馬