PR

WordPressやプラグインの更新ができない時の絶対解決できる対処法

副業

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

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

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

また、WordPress6.0で投稿画面が真っ白になったというトラブルを抱えている方は、下記の記事を参考にするのがおすすめです。

5分で解決!WordPress 6.0で編集投稿画面が真っ白になったときの対応方法!
このようなお悩みを解決します。 本記事を参考に、多くの人がこの問題を解決しているので慌てずゆっくり対応してくださいね!

 

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

ファイルのパーミッションを表現したイラスト

この問題は、たいてい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の更新ができなくなったので、、、。でも今は無事に更新ができ、ブンブン動いています。

今回、この記事をご覧になった方の中には、フリーランスエンジニアの転身を検討されている方も多いのではないでしょうか?フリーランスは定期的にお仕事を獲得する必要がありますが、それをクリアすれば、企業に属さなくても生計を成り立たせることができます。そして、現在はココナラエージェントなど案件を紹介してくれるところがあるため、フリーランスでも安定させることは難しくありません。興味がある方は、ぜひ下記のリンクから登録をしてみてはいかがでしょうか

くわしくはこちら

タイトルとURLをコピーしました