今回起こったのは、サイト引っ越し時にFTPでサイトのファイル・フォルダをダウンロードしようとしたときのことでした。
ん?uploadsフォルダがダウンロードできない・・・・このフォルダには今までアップロードした画像やファイルが入っている大変大切なもの。これがなければ引っ越しする意味もない!?位のものです。
何でダメなんだろう・・・でよーく見てみると、フォルダの所有権が他とは違うものになっていました
これはFilezillaを使ったファイル一覧の画面。右側の「所有者/グループ」を見ると・・・明らかに他とは違うものになっていますね。これがダウンロードできない原因なんです。
そもそも私に所有権がないファイルだからダウンロードできない訳なので、自身でこれを変更するのは無理です。そんなときはサーバーに問い合わせをして手動で権限グループを変えてもらうんですけど、その下にちょっと気になる同じ権限グループのフォルダが・・・
それは「w3tc」というフォルダ。そうです、W3 Total Cacheというプラグインが作るフォルダです。恐らくですが以前このプラグインを使っていて(使ってみて)、他のプラグインと同じように停止&削除したのでしょう(想像でしたが後々そうだったことが判明しました)。これによって所有権が変わってしまったと考えるのが妥当と判断しました。
そうすると自身で何かをやらかしたのだからサーバー側が対応してくれるかしら??という不安が・・・。そこでわざわざ問い合わせずに自力で何とかしよう!で成功したのが今回の例になります。
すべてのケースで使える方法なのかどうかも分かりませんが、引っ越しなどでUploadsフォルダが所有権問題でダウンロードできないという場合には試してみてもいいのかも知れません。
FTPでUploadsフォルダがダウンロードできないときの対処
一見サイトにログインして管理画面上では問題なく使えているので「なんで??」となってしまうのですが、外部からアクセスしてファイルを操作するFTPでは拒否されてしまう(権限がないと判断されてしまう)のが今回の不都合が発生する原因です。
とはいえ、FTPを使ってサイトのファイル・フォルダをパソコンへダウンロードする機会は
- 特定のファイル(wp-configや.htaccessなどの設定ファイル)に何か変更を加える場合
- 別の環境へ引っ越したり、別の環境でテストしたりするため
- いざというときのためのバックアップを取るため
ぐらいでしょうし、特に引っ越しでは今までのサーバーに入っているファイル・フォルダは今後使いませんから、サーバー側とごちゃごちゃやり取りするよりも自力でなんとかした方がいいと個人的には思います。
そこで行ったのが以下の2つのプラグインを使ったファイル救出と復元です。
FTPではダウンロードできないメディアファイルを管理画面から救い出す
WordPressっていうのは本当に便利で「こんなときどうする?」というプラグインが必ずと言っていいほど配布されています。
今回使ったのは
というプラグイン。メディアファイルをフォルダ構造もそのままに一括でダウンロードできる優れものです。
ただ、引っ越しをするという状況では引っ越し元のサイトのPHPのバージョンが古い場合が多く、「Export Media Library」の現行バージョン(3.x)ではPHP7.0未満のサイトでは動作しません(プラグインの有効時にエラーが出ます)。従って公式ページから旧バージョンをダウンロードして入手することになります。
公式サイトを開き、画面右にある「Advanced View」をクリックします
遷移した画面の一番下にある「PREVIOUS VERSIONS」の下の窓に旧バージョン(PHPバージョン7.0未満の場合は1.1)を選択してダウンロードします
あとはダウンロードしたプラグインをアップロードインストールすればOKです。
プラグインが有効化されたら「メディア」→「Export」を開きます
下図のような画面になりますので
- メディアを「年月」フォルダで管理している場合はFolder Structure項目をNested Foldersにする
- 圧縮してダウンロードした方が速いのでCompress項目を「Yes」にする
- Download Zipをクリックする
という設定と手順でダウンロードしてください。
引越先のサーバー内へアップロードする
先程救い出したフォルダを解凍しておきます。
FTPで引っ越し先サーバー内へ接続し、「WordPressのインストールフォルダ」→「wp-content」→「uploads」を開きます(なければフォルダを作成します)。
その中へ救い出したフォルダを解凍した中身(年月に分けている場合は年で分かれているフォルダ)をアップロードします。
これで一度引っ越し先サイトの管理画面や閲覧画面できちんと画像などが表示されるかを確認します
・・・ここで新たな問題が発生します。メディアの一覧に画像が表示されない!!現象です。
必要なサイズの画像を再生成する
メディア一覧に画像のサムネイル(縮小版)が表示されない、やっぱりだめなの??いやいやそうではありません。
WordPressは管理画面から画像がアップロードされると、テーマや本体で必要な大きさの画像がたくさん作られます。先程FTPでアップロードした画像たちは元画像(アップロードしたままの画像)のみなので、メディア一覧に表示されるべきサイズの画像がないことから画像が表示されていないだけなのです。
これを解消するには元画像からサイトが使うサイズの画像を再生成してあげる必要があります。その時役立つのが【Regenerate Thumbnails】です(簡単なプラグインなので紹介記事等はありません)。
プラグイン追加で検索するか、以下の公式ページから入手してください
インストール&有効化したら「ツール」→「Regenerate Thumbnails」を開きます
英語でごちゃごちゃ書かれていますが、何も気にせず2つあるボタンの上側をクリックして待つだけです
画像の量や作るべきサイズの画像が多い場合には時間はかかりますが、じっと終わるまで待てば完了です。
いかがでしたか?サイトの引越(サーバーの乗り換え)などをするときにはエラーや不具合が出るとびっくりしますね。
しかも記事を分かりやすくするためにアップロードした画像類が一切ダウンロードできない状態になったら・・・文章以上にショックを受けるかもしれません。
でもこうして1つ1つ何かが起きた時の対処方法を知っていれば怖くない!!今回は知り合いのサイトの引越をするときに発生しましたが、いい勉強になりました。
おまけ「Export Media Library」の旧バージョンがないときは
最近結構いろいろなプラグインで、メジャーアップデート時に大きく仕様が変わって以前のものがダウンロードできないという事態に多く遭遇します。最近の例では
が一番ショックな出来事でしたね。私の場合はいくつかのサイトで使っていたので流用してことなきを得ましたがそうでなかったら・・・。
今回紹介した方法で使う「Export Media Library」もいつかそんな状況になるのでは?と気になりましたので(特にサイトの引越はPHPの最新バージョン対応のためだったりするので旧バージョンで使えない現行のものは役に立たない)、アーカイブとしてダウンロードできるようにしておきます。もちろん無料のプラグインですから無料です。
もしも前述した手順でダウンロードできないときは使ってください
※直リンク被害防止のため、「Booth」でゼロ円商品として配布しています。