サイト移設 WordPress4.9.22→6.0.1へ その1
こんにちは、ビジネスリンクスで技術を担当しているTです。
今日は、懸念事項であったサイトを別サーバに移した時のことを書いてみたいと思います。
サーバ移設の目的
まず、弊社のサイトですが、以前「サイトへのアクセスが時々重くなる件 その1」にも書きましたが、スペック的に同時アクセスに弱い状態でした。そのため、SNSへの投稿がきっかけに複数アクセスが発生しメモリリークを起こしている状況でした。また、Wordpressのバージョンも4.9.22という古いバージョンが使用されておりました。
そのため、アクセスの安定化とセキュリティリスクの軽減というのが最大の目的となります。
ミッション
- サーバの移設
- WordPressのバージョンアップ
- phpのバージョンアップ
の3つを達成する必要があります。
おそらく鬼門となるのは2のWordpressのバージョンアップでしょう。理由はバージョンアップすることで対応できなくなるプラグインが出てくると予想できるからです。(対応できない理由はほとんどの場合、開発が終了していて新しいWordpressで動作しないから)
ともあれ、進めていくしかないので粛々と進めていきます。
サーバの移設
現在のサーバはCentOS6系の最終バージョンの上で動作しています。これを7系の最終バージョンが動作しているサーバに移設します。なぜ8系ではないのかというと8系は2021年12月末でサポートが終了しています。7系は2024年6月末までサポートされます。
そのため、7系に移行することが一番負荷が少ないのです。本当はUbuntuあたりに移設するのが良いのですが、リソースの関係で今回はCentOS→CentOSへの移行を選択しました。
注意点は、2つ。サイトデータの移設とMySQLのデータ移行です。特にMySQLはバージョンが5.6系から5.7系に変わるために色々と注意が必要です。これは移行した後に必要に応じて対応しようと思います。(具体的には5.6と5.7でsql_modeの違いによってsqlが通らないパターンが出てきます)
本当は、migrationツールを使ってサクッとやりたい所ですが、Wordpressの構造がカスタムされていて簡単にいかないという罠があった為断念しました。
サイトデータの移設
こちらは、単純にサイトのデータをダウンロードして、新しいサーバにアップロードします。容量が大きいので、tarあたりで固めて移設します。この辺は特に問題なし。ディレクトリも合わせるため、特に問題が起きることもなく移設完了。
DBの移設
コマンドは省略しますが、
- mysqlのダンプを取得
- 新しいサーバでインポート
- 失敗した場合は、sql_modeの変更等の対策を行う
これだけです。そして幸いなことに今回は問題が発生することなく移行が完了しました。
wp-config.phpの中身を新しいDBの設定に変更して完了です。
動作確認
自分の端末内のhostsを修正してブラウザからアクセスして正しくサイトが表示されました!
無事にサイトの移設は完了です!
次回予告
今回は、単純な移設のみだったのでトラブルなく移設ができました。
しかし、次のWordpressのバージョンアップは絶対にうまくいかない自信があります。というかうまくいきませんでした汗
次回は、その辺りを書いていこうと思います。
次回「案の定、バージョンアップしたら真っ白になったよorz」をお楽しみに。