WordPressのプラグイン自動アップデート方法

logw_title_wordpress_logo

WordPressメモの更新になります。今までできなかったプラグインの自動更新などがなぜかできるようになったのでそのメモになります。

※ユーザーをapacheグループに入れておく必要があります。今回の場合はユーザー(logw)はグループ(apache)の中にも入っています。

構成

  • ユーザー:logw
  • グループ:apache
  • OS:CentOS 6.3
  • WordPress 3.5
  • Webサーバー:Apache 2.4系

自動更新エラー

今までプラグインなどは手動で更新していました。自動更新しようとすると「ディレクトリが作成できませんでした。」や「古いプラグインを削除できませんでした。」などで自動更新ができませんでした。原因がわからなくて色々調べて見ました

調べたこと:.htaccessでphpをcgiモードにする

wordpressでプラグインを自動アップグレードできないときの対処(応急処置)のページにあるように、PHPをcgiモードにするというのがありますが、logwはcgiモードにしているのですができませんでした。なのでこれは意味ないです。

調べたこと2:所有者を変更する

WeordPressの所有者、グループを一時的にapacheに変更することで更新できるようになります。試してはいませんが管理画面で共用サーバーのように行いたいのでこの方法は論外です。

結論:パーミッションの変更でアップデートできる

自動更新できなかった原因の一つは、/wp-contetnt/のパーミッションが「755」でした。そこで「775」とグループが書き込めるようにしました。見事に失敗します。

そこで、/wp-contetnt/以下を一度「777」に変更します。この段階でプラグインのアップデートはできるようになります。777にしたら再度パーミッションを「775」に変更します。そうするとそのままアップデートできます。

※僕の環境ではできたということになります。全ての環境で適用されるわけではないですが、もし自動更新できないという人は一度パーミッションを変更してみてはいかがでしょうか。