• seo
    「SEOとは」の総集編
    2018年7月27日
  • メタディスクリプションの書き方を紹介する女性 seo
    メタディスクリプションの正しい書き方を一緒にマスターしませんか?
    2017年12月3日
  • seo
    メタキーワードがSEOに効果がない4つの理由
    2017年11月28日
  • seo
    最新SEO対策NEWな情報だけをピックアップ!
    2017年12月1日
  • パソコンの画面に何かをライティングしようとする男性 seo
    ライティングのコツ紹介しています!記事書く人おいでよ〜
    2017年12月1日

先日、WordPressのバージョン更新をしようと思ったのですが、エラーになっちゃいました。その時のエラー内容がこれです。

「いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。」

この問題を解決できましたので、この記事ではWordPressの更新やプラグインの更新ができない時の解決方法を簡潔にご紹介します。絶対解決できると思うので、ぜひ見てって下さい!
 

ファイルの所有者とファイルのパーミッションを変更すればたいていは解決する

ファイルのパーミッションを表現したイラスト
 
この問題は、たいていWordPressのファイルの所有者とパーミッションが原因です。なので、「/var/html/wordpress」にあるファイルの所有者とパーミッションを変更することで、解決することができます。具体的な設定方法を説明していきますね。
 

ファイルの所有者の変更

 
下記のようにコマンドでファイルの所有者をapacheに変更します。

$ chown apache:apache -R wordpress

 

 WEBサーバーがnginxの人は

chown nginx:nginx -R

というように、apacheの部分をnginxに変更して下さい。


 

ファイルのパーミッションの変更

 
次に、wordpressディレクトリ内にあるすべてのディレクトリのパーミッションを705に変更。

そして、wordpressディレクトリ内にあるすべてのファイルのパーミッションを604に変更します。これで、たいていの人は解決するかと思います。

$ find wordpress -type d -exec chmod 705 {} +

$ find wordpress -type f -exec chmod 604 {} +

 

 
知っていましたか?
wordpressの正しいパーミッション設定は、ディレクトリが705でファイルが604です。WordPressは外敵から狙われやすいので、最低限ディレクトリは705、ファイルは604にパーミッション設定しておきましょう。

ちなみに、ディレクトリのパーミッション777、ファイルのパーミッション666はマジで危険です!気をつけましょう。




SELINUXを無効化する

SELINUXのホームページのキャプチャ

私は、WordPressフォルダーの所有者とパーミッションを変更して解決することができましたが、この方法でもWordPressの更新、プラグインの更新ができない人は、SELINUXにいじめられている可能性があります(笑)

SELINUXが原因でWordPressの更新やプラグインの更新ができない人は、SELINUXを無効化させることでこの問題を解決できるでしょう。
 

まずはSELINUXが有効かどうか確認する

 
コマンドラインでgetenforceを打ち込みます。

$ getenforce

そうすると、3種類のうち1つの結果が返ってきます。
 

  • Enforcing SELINUXは有効で、アクセス制限も有効な状態
  • Permissive SELINUXは有効ですが、アクセス制限は行うことはなく警告のみ 
  • Disable SELINUXは無効

 

もし、getenforceと打ち込んでEnforcingと返ってきた人は、SELINUXがWordPressのファイル更新を邪魔している可能性があるので、SELINUXを無効化する必要があります。もし、Enforcingと結果が返ってきた人は、下記の方法でSELINUXを無効化します。
 

一時的に止めるだけならsetenforce 0

 
一時的に止めるだけでいいなら、コマンドラインでsetenforce 0と打ち込みます。

$ setenforce 0

setenforce 0と打ち込むことで、SELINUXの状態がPermissiveの状態になります。つまり、SELINUXがアクセス制限をしなくなるので、WordPressの更新やプラグインの更新ができるようになります。
 

 SELINUXが原因の場合、これでWordPressの更新やプラグインの更新ができるようになりますが、あくまでも一時的です。例えば、サーバーを再起動すると元のEnforcingの状態に戻ってしまうので、WordPressの更新やプラグインの更新が必要な時は、再度setenforce 0 と設定し直す必要があります。

 

SELINUXを永遠に無効化する方法

 
サーバーの再起動のたびに、いちいちSELINUXの設定するのめんどいわバーカという人は、SELINUXを永遠に無効化することをおすすめします!

設定は簡単です。まずはselinuxディレクトリに移動し、configファイルで設定を変更します。

$ cd /etc/selinux/
$ vi config

そうすると、コマンドラインは下記のようになるかと思います。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX= enforcing
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

黄色でマーカーしたSELINUX=enforcingのenforcingをdisableに変更して、保存すれば永続的にSELINUXを無効化させられます。




 

これで解決できましたか?

解決できたかどうかを微笑みながら伺う女性
 
解決できましたか。私もまいりましたよ、WordPressの更新ができなくなったので、、、。でも今は無事に更新ができ、ブンブン動いています。

WEB開発の関連記事
  • WordPressやプラグインの更新ができない時の絶対解決できる対処法