ロリポップ!にWordPressサイトを引越したところ、WordPressのダッシュボードに見なれない表示が…
言われるままにサイトヘルス画面を確認すると、サイトのセキュリティに関する「致命的な問題」があるとのこと。
詳細部分には「一部のファイルがWordPressから書き込みできません:wp-admin/install.php」と表示されています。
なんだこれ???
というわけで、今回は
✓ WordPressのサイトステータス画面で「一部のファイルがWordPressから書き込みできません」って表示されてるんだけど…何が原因?
✓ エラーを解消するためにはどうしたらいいの??
そのような疑問に答えます。
\この記事でわかること/
✓ 「一部のファイルがWordPressから書き込みできません」と表示された場合の対処法
✓ ロリポップ!で「一部のファイルがWordPressから書き込みできません」と表示される原因
ロリポップ!で「一部のファイルがWordPressから書き込みできません」と表示されたときの対処法
結論から言うと、『wp-admin/install.php』ファイルを削除すると解決します!
『wp-admin/install.php』ファイルの削除方法
「原因なんてどうでもいいから、対処法だけ教えてほしい!」という方のために、まずは手順だけご説明します。
1.まずは、ロリポップ!のユーザー画面にログインしてください。
2.左側のメニューから【サーバーの管理・設定】>【ロリポップ!FTP】をクリックします。
3.Wordpressをインストールしたフォルダを開きます。
(私の場合は複数のサイトを運営していますので、独自ドメイン名をつけたフォルダをそれぞれ作成し、その下にWordPressをインストールしています)
3.『wp-admin』フォルダを開いてください。
4.『install.php』ファイルにチェックを入れて…
(アルファベット順に並んでいますので、下にスクロールするとページ真ん中あたりにあります)
ページ最上部のゴミ箱のアイコン、または、ページ最下部の「削除する」をクリックします。
ポップアップで確認画面が表示されますので、【OK】をクリックすれば削除完了です。
WordPress上でサイトヘルス画面を確認すると、エラー表示は消えているはずです。
ロリポップで「一部のファイルがWordPressから書き込みできません」と表示される理由
他のサーバーでは問題ないのに、なぜロリポップではこんな表示が出るのか…?
それは、ロリポップでは『wp-admin/install.php』ファイルのパーミッションが【400】に設定されているからなんです。
「パーミッション(permission)」(属性)とは、ファイルやディレクトリなどに設定された、ユーザーやユーザーグループごとのアクセス権限のことで、3桁の数字で表されます。
Webサーバー上では、不特定多数の人がファイルやディレクトリにアクセスし、勝手に削除したり、書き換えられないようにするため、このパーミッション設定で制限を行っています。
上記をご覧いただくとわかるとおり、パーミッション【400】ではオーナー(自分)も書き込みができない設定になっています。
したがって「一部のファイルがWordPressから書き込みできません」と表示されるのです。
なぜこのような仕様になっているのか?
2013年9月、ロリポップ!のサーバー上にインストールされたWordPressを利用して作成された一部のユーザーサイトにおいて、8400件を超える改ざんの被害が発生しました。
2013/09/09 第三者によるユーザーサイトの改ざん被害に関するご報告(ロリポップ!公式ページより)
この改ざんの原因となったのが、簡単インストールで配布していたパッケージの不備とサーバー側のディレクトリパーミッションの不適切な設定であったことが判明したため、その後『install.php』を含む関連ファイルのパーミッションが変更されたという経緯があります。
ロリポップ!に『wp-admin/install.php』を削除していいか問い合わせてみた
上記のお知らせ内に「※パーミッション変更後の『install.php』は削除していただいて構いません。」という記述があります。
しかし、お知らせが掲載されてからかなり時間もたってしまっているので、あらためてロリポップ!に問い合わせしてみたところ、以下の回答がありました。
ロリポップ!のお墨付きもいただいたので、心置きなく削除できますね!
『install.php』ファイルを削除するのは心配…という方向け(代替案)
削除していいって言われても、やっぱり『wp-admin/install.php』ファイルを削除するのは不安…という方向けに、代替案を2つご提案します。
どちらの方法でも、サイトにエラーは出ず、サイトヘルス画面の「致命的な問題」は表示されなくなりました(少なくとも私の環境ではうまくいきました)。
①『install.php』ファイルのファイル名(拡張子)を変更する
一つ目は、ファイル名を変更する方法です。
ファイル自体を削除するわけではないので、もし変更後にエラーが発生した場合には、ファイル名を元に戻すことで簡単に復元することができます。
『install.php』→『install.txt』など、別の拡張子に変更するのがよいと思います。
前述した『wp-admin/install.php』ファイルの削除方法の手順3まですすめたら、『install.php』をクリックしてファイルを開きます。
ファイルの拡張子『.php』を『.txt』に変更し、ページ下部にある【保存する】をクリックします。
ポップアップで確認画面が表示されますので、【OK】をクリックすれば変更完了です。
ファイル一覧で、ファイル名が変更されているのが確認できます。
WordPress上でサイトヘルス画面を確認すると、エラー表示は消えているはずです。
②『install.php』ファイルのパーミッション(属性)を変更する
前述の通り、致命的な問題が表示されるのは『install.php』ファイルのパーミッション(属性)が書き込み不可である【400】になっているためです。
したがって、書き込みができるようにパーミッション(属性)を変更する方法もあります。
前述した『wp-admin/install.php』ファイルの削除方法の手順3まですすめたら、『install.php』ファイルをクリックして開きます。
右上にあるパーミッション設定で「オーナー」の「書込」部分にチェックを入れると、自動的に属性が【600】に変更されます。
その状態でページ下部の【保存する】をクリックしましょう。
ポップアップで確認画面が表示されますので、【OK】をクリックすれば変更完了です。
WordPress上でサイトヘルス画面でエラー表示が消えていることを確認してください。
まとめ
ロリポップ!で運営中のWordPressのサイトヘルス画面で「一部のファイルがWordPressから書き込みできません」と表示された場合には、『wp-admin/install.php』ファイルを削除しましょう。
FTPを扱う前にはバックアップを取ることを忘れませんよう、くれぐれもご注意を!
コメント