EFS上のWordPress の更新(本体、プラグイン、テーマ)
問題発生~EFS上のWordPress(本体、プラグイン、テーマ)がアップデートできない~
EFSでドキュメントルートを共有化(冗長化)しているのですが、WordPressの更新がうまくいきません。
「別の更新が現在進行中です。」と表示されてしまいます。
ググっても同様にアップデートできないという記事はあったのですが解決記事が見つかりません。
All-in-One WP MigrationでEBS上のテストサイトにインポートし、そこでアップデートしてみました。
テストサイトでのアップデートはうまくいったのですが、元のサイトにインポートすると本体はアップデートされていません・・・。(テーマとプラグインはアップデートされます)
そこでWordPress本体を手動でアップデートしたらうまくはいったのですが、とにかくめんどくさい・・・。
ソースを落としてきて一部ファイルを残して置き換える必要があります。
https://awesome-linus.com/2019/10/23/wordpress-manual-update/
しかも3サイトあるうちの2サイトはうまくいったのですが1サイトはなぜかAll-in-One WP Migrationでアップデート済.wpressファイルをインポート中にフリーズしました。
インポート、アウトポートに時間もかかるし手順もやたらめんどくさいのでやり方を変えました。
解決案~EBS上でのアップデート~
ちょっと強引ですが、EFS上のデータを一旦ローカル(EBS)に持ってきてアップデートします。
①片系運転(Masterのみ)にする
↓
②EFSをMasterローカル(EBS)にコピーする
↓
③httpd.confを書き換えドキュメントルートをローカル(EBS)に変更する
↓
④WordPress管理画面から本体、プラグイン、テーマを更新する
↓
⑤更新がうまくいったらEFS上のドキュメントルートに上書きする
↓
⑥httpd.confを書き換えドキュメントルートをEFSに変更する
これがてっとり早いし確実だと思います。
アップデートが失敗する可能性を考慮してメンテページ表示したほうがよいかも。
作業記録
・EFS上のドキュメントルートを/rootにバックアップ cp -ai /efs/www /root/www.bk ・EBSに一時用ドキュメントルートを作成 mkdir /www/diaryhdoratokyo2 cp -ai /root/www.bk/diaryhdoratokyo/htdocs /www/diaryhdoratokyo2/htdocs ・ドキュメントルートをローカル(EBS)に変更 cp -ai /etc/httpd/conf/httpd.conf /etc/httpd/conf/History/httpd.conf.`/bin/date +'%Y%m%d'` vi /etc/httpd/conf/httpd.conf ------ ドキュメントルートを /www/diaryhdoratokyo2/htdocs に変更 ------ systemctl restart httpd ・WordPress管理画面から本体、プラグイン、テーマを更新する。 省略 ・EFSをアップデートしたものに置き換える rm -fR /efs/www/diaryhdoratokyo/htdocs cp -ai /www/diaryhdoratokyo2/htdocs /efs/www/diaryhdoratokyo/htdocs ・ドキュメントルートをEFSに戻す cp -ai /etc/httpd/conf/httpd.conf /etc/httpd/conf/History/httpd.conf.`/bin/date +'%Y%m%d'` systemctl restart httpd ・テーマを更新した場合、グーグルアナリティクスの ウェブサイトのトラッキング を張り付け直し
問題ないことが確認できたら一時用ドキュメントルートとEFSバックアップは削除しておきます。