WordPress(AWS+Bitnami) – 移行作業(画像ファイル)

最近PHPのバージョンが上がったとかで、bitnamiのイメージのWordpress人は大変です。
新しいWordpressを立ち上げてごそっと移行する必要があります。

今回色々やったので、自分へのメモとして、また同じような境遇の人のため手順を残しておきます。
今回はメディアの移行編です。

関連記事 - 「WordPressの構築・運用方法」

手順のイメージ

こんな感じ

wordpress-file-move-image

手順をもう少し詳しく

  • 旧WordpressサーバーにTeraTermなどでつなぐ
  • 旧Wordpressサーバーの該当ディレクトリを圧縮する
  • 旧WordpressサーバーにWinSCPでつなぐ
  • 旧Wordpressサーバー上のディレクトリを取り出し手元のPCに保存
  • 新WordpressサーバーにWinSCPなどでつなぐ
  • 新Wordpressサーバーに保存したディレクトリをUploadする
  • 新WordpressサーバーにTeraTermなどでつなぐ
  • 新Wordpressサーバーに適当なメディアをアップして権限を確認する
  • 新Wordpressサーバー上のUploadしたディレクトリを解凍し上書きする
  • 新Wordpressサーバーのディレクトリの所有者と権限を変更する

手順

旧WordpressサーバーにTeraTermなどでつなぐ

WordPressの使い方 – TeraTermで接続(AWS/Bitnami)参照。

ディレクトリ移動

cd /opt/bitnami/apps/wordpress/htdocs/wp-content
ls -l

こんな感じ

wordpress-old-server-connect-check

今回、メディア(アップロードした画像ファイル等)を移動するのでuploadsが対象です。

旧Wordpressサーバーの該当ディレクトリを圧縮する

圧縮コマンド

tar zcvf uploads.tar.gz uploads

ずらっと出るけど慌てず待つ。
終わったら確認

ls -l

uploads.tar.gzが出来上がります。

wordpress-old-server-tarfile-check

旧WordpressサーバーにWinSCPでつなぐ

「WordPress(AWS/EC2/Bitnami) – WinSCPで接続」参照。

こんな感じ。uloads.tar.gzがいますね。

wordpress-old-server-tarfile-check2

旧Wordpressサーバー上のディレクトリを取り出し手元のPCに保存

uploads.tar.gzを右クリック→ダウンロード→ダウンロード

wordpress-winscp-download

保存先は好きな場所を指定して[OK]を押す

wordpress-winscp-download-ok

ダウンロード中

wordpress-winscp-download-progress

脱線しますが解凍するとこんな感じ。画像がそのままのサイズとサムネイル用にいくつか小さいサイズが用意されている模様。そんなにこわくないやつでした。

wordpress-content-media

新WordpressサーバーにWinSCPなどでつなぐ

「WordPress(AWS/EC2/Bitnami) – WinSCPで接続」参照。

右側を以下の場所まで移動させます。
/opt/bitnami/apps/wordpress/htdocs/wp-content

wordpress-new-server-winscp-move

新Wordpressサーバーに保存したディレクトリをUploadする

uloads.tar.gzを右クリック→アップロード→アップロード

wordpress-new-server-winscp-upload

[OK]を選択

wordpress-new-server-winscp-upload-dirsel

とりあえず待つ

wordpress-new-server-winscp-upload-progress

ダウンロードに比べアップロードは圧倒的に速いですね。
今日は土曜日なのでみんながダウンロードばかりしてるのかもしれません。

新WordpressサーバーにTeraTermなどでつなぐ

WordPressの使い方 – TeraTermで接続(AWS/Bitnami)参照。

ディレクトリ移動

cd /opt/bitnami/apps/wordpress/htdocs/wp-content
ls -l

こんな感じ

wordpress-new-server-upload-image

ちゃんとuploads.tar.gzがあればOKです。

新Wordpressサーバーに適当なメディアをアップして権限を確認する

※この手順は飛ばしても構いません。(参考情報としてご活用ください)

少し脱線しますが、適当な画像をブログにアップして所有者と権限を確認しておきます。
ブログにログインしてメディアの項目から適当な画像をアップします。

uploadsディレクトリ

ディレクトリ パーミッション 所有者 グループ 補足説明
uploads drwxrwxr-x bitnami daemon
uploads2020 drwxrwxr-x daemon daemon ディレクトリ名は年(記事作成時2020)
uploads20207 drwxrwxr-x daemon daemon ディレクトリ名は月(記事作成時07)
uploads20207画像ファイル -rw-rw-r-- daemon daemon

wordpress-new-server-permit-image

wordpress-new-server-permit-image2

新Wordpressサーバー上のUploadしたディレクトリを解凍し上書きする

元のファイルを残しておきたい人はリネーム

mv uploads/ _uploads/

いざ、解凍

tar -zxvf uploads.tar.gz

圧縮ファイルがいらない人は

rm -f uploads.tar.gz

リネームしたディレクトがいらない人は

sudo rm -rf _uploads

新Wordpressサーバーのディレクトリの所有者と権限を変更する

ここまでやれば案外Wordpressは綺麗に再構築できます。
ただ、記事を書く時に画像がアップロードできなくて困ると思います。
こんな感じ。

wordpress-new-server-upload-failed

権限を確認します。参考情報として権限の比較をいかに挙げておきます。

ディレクトリ パーミッション 所有者 グループ 補足説明
uploads drwxrwxr-x bitnami daemon デフォルト
uploads drwxr-xr-x bitnami bitnami 解凍したもの
uploads2020 drwxrwxr-x daemon daemon デフォルト
uploads2020 drwxr-xr-x bitnami bitnami 解凍したもの
uploads20207 drwxrwxr-x daemon daemon デフォルト
uploads20207 drwxr-xr-x bitnami bitnami 解凍したもの
uploads20207画像ファイル -rw-rw-r-- daemon daemon デフォルト
uploads20207画像ファイル -rw-r--r-- bitnami bitnami 解凍したもの

全然違いますね。
所有者とグループ、後書き込みの権限がありません。
設定していきます。

uploads配下の所有者・グループをdaemonに変更する

cd /opt/bitnami/apps/wordpress/htdocs/wp-content
sudo chown bitnami:daemon uploads
ls -l

uploads配下の所有者・グループをdaemonに変更する

cd /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads
sudo chown daemon:daemon -R *
ls -l

最下層のファイル用の権限を設定する。

cd /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads
sudo chmod 664 -R *
ls -l

ディレクトリに書き込み権限と実行(移動)権限を追加する

cd /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads
sudo find . -type d -exec chmod 775 {} +
ls -l

まとめ

パーミッションにハマる

おわり

コメントを残す

メールアドレスが公開されることはありません。