WordPress(AWS+Bitnami)-プラグインの移行

WordPressの移行作業について記載しています。

今回は、プラグインの移行です。
正直僕は一つずつインストールしなおした方が良いと思います。
既に公開停止になったプラグインもありますし、いる/いらないを見直すきっかけにもなります。

まぁ、でも一括でごそっと移動も必要かもしれませんのでやってみます。

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

概要

WordPressを運用されている方は様々なプラグインを導入されているかと思います。
Wordpressで移行が必要となった場合プラグインも移行したくなります。
今回はプラグインの移行方法をお伝えします。

注意事項

先程記載しましたが、一つずつ手作業でやった方が確実だと思います。
プラグインは有志によって作られているため全てを安定稼働させることはおそらく難しいかと思います。Counter Per Dayのような有名なのに公開中止になったものも存在します。
そういうものを継続して使用することはセキュリティ面での不安もあります。
どんなエラーが起きても自力で対処するという覚悟で臨んで下さい。

手順のイメージ

こんな感じ

wordpress-file-move-image

手順をもう少し詳しく

WordPress – 移行作業(メディア(画像ファイル)編)と移動するファイルは異なりますが手順は同じです。

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

手順

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

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

ディレクトリ移動

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

こんな感じ

wordpress-old-server-connect-check

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

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

圧縮コマンド

tar zcvf plugins.tar.gz plugins

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

ls -l

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

wordpress-plugin-targz

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

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

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

wordpress-plugin-winscp-targz

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

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

wordpress-plugin-winscp-download

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

wordpress-plugin-winscp-download-local

ダウンロード中

wordpress-plugin-winscp-download-progress

とりあえず中身確認。
適当に開いたファイルgoogle-sitemap-generatorの処理ですが他でも使えそうな処理です。
興味があれば細かく見ていくのもありだと思います。
改変する場合はライセンスに従ってください。

wordpress-plugin-php-check

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

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

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

wordpress-plugin-winscp-dirmove

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

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

wordpress-plugin-winscp-upload

[OK]を選択

wordpress-plugin-winscp-upload-dirsel

相変わらずダウンロードに比べて速いですね。

wordpress-plugin-winscp-upload-progress

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

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

ディレクトリ移動

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

こんな感じ。ちゃんとplugins.tar.gzがいますね。

wordpress-plugin-winscp-upload-targz-chk

新Wordpressサーバーのデフォルトで入っているテーマの権限を確認する

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

少し脱線しますが、デフォルトで入っているプラグインの権限を確認しておきます

wordpress-plugin-permittion-check

ディレクトリ パーミッション 所有者 グループ 補足説明
plugins drwxrwxr-x bitnami daemon
pluginsakismet drwxrwxr-x bitnami daemon
pluginsakismet_inc drwxrwxr-x bitnami daemon
pluginsakismetakismet.php -rw-rw-r-- bitnami daemon
pluginsall-in-one-seo-pack drwxrwxr-x daemon daemon
pluginsall-in-one-seo-packadmin drwxrwxr-x daemon daemon
pluginsall-in-one-seo-packaioseop_class.php -rw-rw-r-- daemon daemon

所有者とグループはall-in-one-seo-packを以外bitnami:daemonで統一。
なぜ、足並みを揃えない。

ディレクトリのパーミッションはdrwxrwxr-x
ファイルは-rw-rw-r--といったところです。

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

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

cd /opt/bitnami/apps/wordpress/htdocs/wp-content
mv plugins/ _plugins/

いざ、解凍

tar -zxvf plugins.tar.gz

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

rm -f plugins.tar.gz

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

sudo rm -rf _plugins

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

この段階ではテーマを新しくインストールしようとすると失敗します。
削除もアップデートもできません。悲惨。

wordpress-plugin-plugin-install-failed

パーミッションの比較を以下に示します。ぶっちゃけ結構違います。

ディレクトリ パーミッション 所有者 グループ 補足説明
plugins drwxrwxr-x bitnami daemon デフォルト
plugins drwxr-xr-x bitnami bitnami 解凍後
pluginsakismet drwxrwxr-x bitnami daemon デフォルト
pluginsakismet drwxr-xr-x bitnami bitnami 解凍後
pluginsakismet_inc drwxrwxr-x bitnami daemon デフォルト
pluginsakismet_inc drwxr-xr-x bitnami bitnami 解凍後
pluginsakismetakismet.php -rw-rw-r-- bitnami daemon デフォルト
pluginsakismetakismet.php -rw-r--r-- bitnami bitnami 解凍後
pluginsall-in-one-seo-pack drwxrwxr-x daemon daemon デフォルト
pluginsall-in-one-seo-pack drwxrwxr-x bitnami bitnami 解凍後
pluginsall-in-one-seo-packadmin drwxrwxr-x daemon daemon デフォルト
pluginsall-in-one-seo-packadmin drwxr-xr-x bitnami bitnami 解凍後
pluginsall-in-one-seo-packaioseop_class.php -rw-rw-r-- daemon daemon デフォルト
pluginsall-in-one-seo-packaioseop_class.php -rw-r--r-- bitnami bitnami 解凍後

pluginsの所有者bitnami、グループをdaemonに変更する

cd /opt/bitnami/apps/wordpress/htdocs/wp-content
sudo chown bitnami:daemon -R plugins
ls -l
cd /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins
sudo chown daemon:daemon -R all-in-one-seo-pack
ls -l

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

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

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

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

まとめ

ほんとにパーミッションが面倒。

おわり

コメントを残す

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