【Docker】ローカール環境でWorldPressを動かしたときの注意点、UpdraftPlus で移行も試した!

※ 当サイトではアフィリエイト広告を利用しています。リンクは広告リンクも含みます。

この記事は約7分で読めます。
広告

レンタルサーバーからVPS(Docker)に移行しようと考え、その準備として実験しました。
ローカール環境でDockerで動かしているWorldPressで発生した問題点と解決策です。
以下の環境で実行しています。

また、お名前ドットコムのレンタルサーバーで運用している当ブログを
ローカール環境に移行してみました。
(テーマとプラグインは移行せず、移行先で個別に入れました。)
その方法をご紹介します。

まずは2週間無料でお試し♪さくらのVPS
広告

WorldPressの注意点

アップロードサイズ設定が小さいのでエラーが起きました。
メディアのAdd new Media fileで「最大アップロードサイズ: 2 MB。」が確認できます。
デフォルトのアップロードサイズが2Mで小さいため
NginxとWorldPressのphpの設定変更が必要です。
この2つコンテナが消えると、設定も戻ってしまいます。
大きいサイズをアップロードするときは、テーマのアップロードとかなので
都度、実行してもいいかもしれません。
私の、このレンタルサーバーで運用しているブログは32MBなので、
32MBに設定することにしました。
具体的に見ていきます。

テーマCocoonを入れようとしたら413 Request Entity Too Large

Nginxのclient_max_body_sizeの設定で直ります。

https-portalコンテナ(私の場合のコンテナ)が動いている状態で
DockerDesktopでhttps-portalをクリックし・・・設定でviews files→
/etc/nginx/conf.d/site-a1.com.confを右クリックでEdit file
/etc/nginx/conf.d/site-a1.com.ssl.confも同じ変更が必要です。
(site-a1.comは私の場合です。)
client_max_body_size 32m;で容量を増やします(cocoon-master.zipは15Mあるので32mにした)
server {
    listen       80;
    
    server_name  site-a1.com;
    client_max_body_size 32m;
    location / {
      return    301 https://$server_name$request_uri;
    }

          location /.well-known/acme-challenge/ {
          allow all;
          alias /var/www/default/challenges/;
          try_files $uri =404;
      }
}
変更したら右の方にあるsaveボタンをクリック
更新
docker exec https-portal-https-portal-1 nginx -s reload
目次へ

「辿ったリンクは期限が切れています。 もう一度お試しください。」

再度テーマCocoonを入れようとしたら
今度は「辿ったリンクは期限が切れています。 もう一度お試しください。」のエラーが出ました。
WorldPressのphpの設定で直ります。

参考:Dockerで動かしているWordPressのアップロード上限を変更する
wordpress1/php.iniを作って内容は以下。(wordpress1は私の場合)
upload_max_filesize = 32M
post_max_size = 32M

docker cp ./php.ini wordpress1-wordpress-1:/usr/local/etc/php/php.ini
docker-compose restart
目次へ

移行してみた

お名前ドットコムのレンタルサーバーで運用している当ブログを
ローカール環境に移行してみます。
テーマとプラグインは移行には含めず、先に個別にインストールしました。
プラグインUpdraftPlus で移行します。
バックアップに関してはこちらを参考にしてください。↓↓
(無料のレンタルサーバーに移行作業を行っています。)

シン・クラウド for FreeとUpdraftPlusでサーバー移行の練習をした!
データベースだけをバックアップして移行先ではテーマやプラグインは手動でインストールした後にデータベースだけ復元すればスムーズに移行できるのではないかと考えたので実験した。具体的にはシン・クラウド for Freeのサーバー内の2つのWord

ファイルが用意できたらUpdraftPlus で
「バックアップファイルをアップロード」をクリック→*-uploads、*-others、*-dbを選択
→復元→アップロード、その他、データベースにチェック
Search and replace site location in the database (migrate)にチェック→次へ

私は、ログインIDをパスワードを変更したくなかったので以下を行いました。
(ログインID、パスワードも移行したい方は、そのままでいいです。)
「すべてのデータベーステーブルを復元したくない場合は、ここで除外するテーブルを選択してください(…)」をクリック
wp_usersとwp_usermetaのチェックを外す。除外するほうのチェックを外す

  • wp_users 登録ユーザ一覧情報
  • wp_usermeta 登録ユーザの権限情報などの詳細情報

最初wp_usersとwp_usermetaだけチェックしてやったら、ログインID、パスワードだけ変わってしまった。🤣 (UpdraftPlus の翻訳が分かりにくくて、誤解してしまう。)
参考:UpdraftPlus Backup の復元の罠にご注意

復元をクリックすると
警告:が出ていた
シン・クラウド for Freeを復元元としたとき
The site in this backup was running on a webserver with version 8.1 of PHP. これは、復元先のサーバー (バージョン8.0.30) よりかなり新しいものです。 現在のサーバーを更新できず、お使いのプラグイン/テーマなどが古い PHP のバージョンと互換性があると確信している (またはリスクを負う覚悟がある) 場合にのみ、作業を進めてください。

お名前.comレンタルサーバーを復元元としたとき
The site in this backup was running on a webserver with version 7.4of PHP. これは、復元先のサーバー (バージョン8.0.30) より古いものです。 お使いのプラグインやテーマなどが新しいバージョンの PHP と互換性があることを確認し、問題がないことに自信を持っている (またはリスクを冒す覚悟がある) 場合にのみ、作業を進めてください。

WorldPressのツール→サイトヘルス→情報タブ→サーバーで確認すると
復元元(シン・クラウド for Free)-PHP バージョン 8.1.22 (64ビット値をサポートしています)
復元先(Docker)-PHP バージョン8.0.30 (64ビット値をサポートしています)
ymlでimage: wordpress:latestにしたのになぜ古いのかは不明。

私の場合、結果的にどちらも気にせず、そのままでPHPのバージョンは影響なかったです。
(プラグインとか人によって状況は違うと思いますので注意です。)

初めてだと出ないが2回目だと出る。
エラー: Existing unremoved folders from a previous restore exist (please use the “Delete old folders” button to delete them before trying again): /var/www/html/wp-content/updraft/uploads-old
Delete old foldersをクリック→設定に戻って、もう一度「復元」からやりなおすとできる。
目次へ

まとめ

お名前ドットコムのレンタルサーバーから
ローカール環境のDockerで動かしているWorldPressへ移行できた。
問題になったところはNginxとWorldPressのphpのアップロードサイズを制限しているところ。
ここは、エラー現象として見えにくく、いろんな形で表れてくる。
ただ設定を変えれば、うまくいった。
Dockerを使わないのであれば、こっちで移行の練習をしたほうが楽です。

シン・クラウド for FreeとUpdraftPlusでサーバー移行の練習をした!
データベースだけをバックアップして移行先ではテーマやプラグインは手動でインストールした後にデータベースだけ復元すればスムーズに移行できるのではないかと考えたので実験した。具体的にはシン・クラウド for Freeのサーバー内の2つのWord

イチゲをOFUSEで応援する(御質問でもOKです)Vプリカでのお支払いがおすすめです。
MENTAやってます(ichige)
目次へ

コメント

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