現在「保留」、進捗 0%。
ワードプレスのコーポレートサイトを
AWS運用からXサーバ運用に切り替えます。
2つのWPがインストールされています。
WPサイト:
https://plus-company.jp/
https://plus-company.jp/recruit/
お問い合わせページは別ドメイン管理:
https://plus-forms.net/recruit/
https://plus-forms.net/contact/
懸念/壁になりそうなもの
- 記事の移行
- PHPのver
https://plus-company.jp/
https://plus-company.jp/recruit/
https://plus-forms.net/recruit/
https://plus-forms.net/contact/
中田
【作業設計・移行フロー】
■ 基本方針
・ファイルとデータベースをまるごと移送する方式で行います(WordPressの新規インストール・再設定は行いません)
・移行前後でドメインが変わらないため、記事内URLの一括置換は不要です
・PHPは現行と同じ7.3系を維持し、「サーバが変わったこと」以外の変数を作らない方針です
・WordPress本体の更新は今回行わず、移設が安定してから別タスクとして実施することを推奨します
■ 移行対象(サーバへ接続して確定済み)
1. コーポレート https://plus-company.jp/
WP 5.5.18 DB: plus_company_wp
2. 採用 https://plus-company.jp/recruit/
WP 6.7.5 DB: recruit_wp
3. portal https://plus-company.jp/portal/
WP 6.9.5 DB: plusindex_wp
※ portalは /portal/index/ 配下という特殊な階層構成です。Basic認証で保護されています
※ 同一サーバ上の上記以外のWordPressは対象外とします
■ 移行元・移行先
移行元: AWS EC2 (35.74.192.97) + CloudFront / PHP 7.3.28 / MySQL 8.0.25
移行先: Xserver plus-x2 (sv320) / PHP 7.3.33 / MariaDB 10.11
■ 作業フロー(全13工程)
1. 現行構成の確定(AWSへSSH接続して調査) … 完了
2. AWSのファイル一式をダウンロード
3. Xserverにドメイン追加+PHPを7.3.33に設定
4. XserverでMySQLを3つ作成 … 完了
5. AWSのMySQLをダンプ(3つ) … 完了
6. 照合順序の変換 … 不要と判明(MySQL8固有の要素は0件)
7. Xserverへインポート … 完了
8. Xserver既存データのバックアップ+初期ファイル削除
9. ファイルをアップロード
10. wp-config.phpを3箇所書き換え … 完了
11. portalのBasic認証パス書き換え+パーミッション再設定
12. hostsファイルで3サイトを検証(DNS切替前)
13. 記事更新の凍結 → 最終差分ダンプ → DNS切替 → SSL発行
■ 現在の進捗
データベースの移送まで完了しています(3サイト分、テーブル数 18 / 22 / 12 を照合済み、文字化けなし)。
次工程はファイルの転送です(総容量 約5.8GB)。
■ 切替方式について
Route53のAレコードのみをXserverへ向ける方式を採ります(ネームサーバーごとの移管は行いません)。
理由: MX・SPFレコードがXserverのメールサーバを指しているため、ネームサーバーを移管するとメールが停止するリスクがあるためです。
AレコードのTTLが60秒に設定されているため、問題が発生した場合は約1分で元に戻せます。
■ ご確認いただきたい事項
1. Route53(DNS)の操作権限 … DNS切替に必須です。現時点で未入手です
2. portalのBasic認証 ID / パスワード … 移行後の表示確認に必要です
3. 記事更新を停止できる期間 … ダンプ取得(7/29 12:02)以降の更新は反映されないため、切替直前に再取得が必要です
4. 切替の希望日時
5. AWS環境の停止可否・時期 … 同一サーバ上で他サイトも稼働しているため、停止すると影響が出ます
6. /wp/plusrecruit/(現在500エラーを返している旧採用サイト)の扱い
【7/29 作業報告】
■ 実施内容
AWS環境の構成調査(完了)
サーバへ接続し、移行対象の構成を実測で確定しました。
・現行のドキュメントルートは /plus-company/public_html でした
(2021年の構築資料には別のパスが現行と記載されていましたが、実際のサーバ設定と異なっていました)
・サーバ上に WordPress が5件存在し、うち移行対象は3件と確定しました
・移行元環境: Amazon Linux 2 / Apache 2.4.46 / PHP 7.3.28 / MySQL 8.0.25
PHPバージョン方針の確定
当初、3サイトでWordPressのバージョンが大きく異なるため、必要なPHPバージョンが噛み合わない可能性を懸念していました。
実測の結果、3サイトすべてが同じ PHP 7.3.28 で動作していることを確認したため、この懸念は解消しました。
移行時は同系列の 7.3.33 を維持し、「サーバが変わったこと」以外の変更を加えない方針とします。
データベースの移送(完了)
3件すべての移送が完了しています。
・AWS側でサービスを停止せずにダンプを取得(7/29 12:02 時点)
・移行先へ取り込み後、テーブル数を照合して完全性を確認
コーポレート 18 / 採用 22 / portal 12
・日本語の文字化けがないことを確認
・移行先には既存のデータベースが6件稼働していたため、それらに影響しない領域へ新規作成しました
ファイルの転送
・portal … 反映済み
・採用 … 反映済み
・コーポレート … アップロード進行中(明日継続)
PHP 8.3 での動作テストと不具合修正
将来的なPHP更新を見据えて8.3で試験したところ、portalで2件の不具合が出たため修正しました。
不具合1: 画面上にWordPressの警告文が表示される
原因はテーマ内に、同じ処理が二重に書かれていたことでした(片方が誤った書き方)。
重複していた側を削除しました。表示・動作に変更はありません。
※ PHPバージョンとは無関係の、以前から存在していた記述です
不具合2: トップページ等が表示されなくなる
記事のリアクション数を合計する処理が、値が未設定のときにエラーで停止していました。
PHP 7系では警告のみで動作していましたが、PHP 8系では停止する仕様に変わっています。
同じ処理が5ファイル6箇所にあったため、すべて修正しました。
※ コーポレート・採用のテーマには同じ問題はありませんでした
引き継ぎ資料の作成
今後サイトを管理される方向けに、サイト構成・サーバ情報・トラブル時の確認手順をまとめた資料を作成しました(HTML / PDF)。
パスワード類は資料には記載せず、別途お渡しする形にしています。
■ 明日以降の作業
・コーポレートサイトのファイルアップロード完了
・portalの修正ファイル反映と、Basic認証の設定調整
・DNSを切り替える前に、実際の表示・管理画面・フォーム送信を全サイトで検証
・検証完了後、DNS切替とSSL設定
■ ご確認いただきたい事項(6点)
切替作業に必須ですが、現時点で権限をいただけていません
移行後の表示確認に必要です
7/29 12:02 以降の更新は移行先に反映されないため、切替直前に再取得が必要です
同じサーバで別のサイトも稼働しているため、停止すると影響が出ます
現在エラーを返している旧採用サイトです。不要であれば整理の対象になります