ALTUSで運用中のテックブログをCentOS7からAlmaLinuxにアップグレード~Plesk Migratorを使ったスムーズな移行~

はじめに

GMOグローバルサイン・ホールディングスの吉澤です。R&Dやホスティングサービスの開発を担当しております。先日、本テックブログのサーバーOS(CentOS7)がEOLを迎える前に、OSのアップグレードを実施しました。アップグレード作業はPlesk Migratorで簡単に実施できたため、本記事で作業内容をご紹介いたします。

Pleskについて

PleskはGUIベースのサーバー管理ツールです。Webサーバーを運用するのに必要な機能は一通り揃っています。主な管理対象は下記になります。

  • メール(スパムフィルタ、メーリングリスト、転送など)
  • Web(ファイル管理、PHPバージョン管理など)
  • セキュリティ(ファイアウォール、WAF、SSLなど)
  • 運用関連(サービス管理、自動バックアップ、パッケージ更新、ログなど)
  • 拡張機能(WPToolkit、ウイルスチェックなど)

※Pleskのライセンス種別により機能は異なります

詳細は弊社ALTUSのPlesk紹介をご参照ください。

Plesk Migratorについて

Plesk MigratorはPleskの拡張機能で、サーバーの移行ツールです。現在運用中のサーバーから、新しいサーバーに設定やデータを移行できます。主な移行対象は下記となります。

  • Pleskのユーザーアカウント
  • Webサイトの設定とコンテンツ
  • データベース

移行対象外の設定も存在します。今回の作業では、以下の設定は手動で移行しました。

  • OSのユーザーアカウント
  • ファイアウオール
  • IP アドレスによるアクセス制限(Fail2ban)
  • ウェブアプリケーションファイアウォール(ModSecurity)
  • IP アクセス制限の管理

詳細はPleskの公式ガイドをご参照ください。

実施環境

移行元サーバー

  • CentOS7.9
  • Plesk Obsidian v18.0.60

移行先サーバー

  • AlmaLinux 9.4
  • Plesk Obsidian v18.0.61

作業の概要

今回は挙動確認のため、テスト移行を実施しました。Plesk Migratorは移行元を稼働したままでも移行可能ですので、テストをお勧めいたします。なお本移行時には、移行中の更新防止のため、一時的にメンテナンス画面を表示しました。

  • 移行先サーバーの作成(ALTUS、Plesk)
  • テスト移行(Plesk)
  • 本移行(Plesk)

移行先サーバーの作成

仮想サーバーの作成

ALTUSの設定管理にて、移行元サーバーと同じスペックで仮想サーバーを作成しました。作成手順は[ALTUS Basic ポータル] 仮想サーバーの作成をご参照ください。

Pleskライセンスの購入

ALTUSのPleskライセンス管理にて、移行先サーバー用のPleskのライセンス購入します。今回はWordPressの管理も可能な、Plesk×WPパック Backup x Smart Update Plan(10ドメイン) (2,970円/月)を利用しました。ライセンス購入後は操作メニューから、ライセンス(.xml)をダウンロードします。

詳細な手順は[Plesk Obsidian マニュアル] ライセンスの追加(割り当て)をご参照ください。

Pleskライセンスの適用

移行先のPlesk画面にログインして、ライセンスファイルを適用します。適用手順は[Plesk Obsidian マニュアル] Pleskへアクセスに沿って実行しました。

SSHの許可

Plesk Migratorは移行先から移行元へSSH接続します。認証方法はパスワード、もしくはSSHキーによる認証をサポートしています。今回、移行元はパスワード認証を許可していないので、ssh-keygenコマンドで新しいキーペアを生成しました。移行元への公開鍵の設置は、ssh-copy-idコマンドはパスワード認証が必要なため使用できず、手作業で実施しました。各コマンドの詳細はSSH による認証(Linux)をご参照ください。

また、移行元のファイアウォールに、移行先からのSSH接続を許可する必要があります。ファイアウォールはALTUS、Pleskの両方に設定しました。

Plesk Migrator非対応項目の手動設定

以下の項目はPlesk Migratorの移行対象外のため、手作業にて設定をコピーしました。

  • ファイアウオール
  • IP アドレスによるアクセス制限(Fail2ban)
  • ウェブアプリケーションファイアウォール(ModSecurity)
  • IP アクセス制限の管理

テスト移行

移行元のバックアップ

作業ミスの対策として、移行元のPleskでフルバックアップを作成しました。

移行先のファイアウォール追加

移行先サイトへの不要なアクセスを防止するため、Pleskのファイアウォールにて、wwwへのアクセスを制限しました。

Plesk Migratorの実行

Plesk Migratorの動作確認のため、本移行の前にテスト移行を実施しました。アドレスに移行元のグローバルIP、SSHキーには事前に設置したキーのパスを設定します。開始すると移行先に拡張機能がインストールされていない旨の警告が表示されましたが、不要な拡張のため対応無しで進めています。
詳細な手順はPlesk インターフェース経由で移行するをご参照ください。

なお、移行先のPleskが移行元より古いバージョンだとエラーとなります。

移行後の動作確認

Pleskのプレビュー機能もありますが、SSL等の動作も確認したかったので、今回はhostsを書き換えてテストしました。Windowsであれば、メモ帳を管理者機能で起動して、C:\Windows\System32\drivers\etc\hostsに設定を追加することで、移行先を参照できます。hostsファイルはシステムファイルなので、管理者権限が無い場合や、不安な方はプレビュー機能をご利用ください。

設定例
153.xxx.xxx.xxx tech.gmogshd.com

動作確認の結果

動作確認の結果、Webサイトは問題なく移行されていることが確認できました。

  • ビューの目視確認
  • データベースのダンプファイルの照合(一部システム系は差分あり)

本移行

移行先のテストデータの削除

本移行前に、移行先のテストデータを削除します。ウェブサイトを削除すると、Webコンテンツとデータベースが削除されます。誤って移行元を削除しないようご注意ください。

DNSレコードの更新準備

移行後にAレコードのIPを新サーバーに切り替える必要があります。変更手段とTTLの確認をお勧めします。

メンテナンス画面の表示

移行作業中にエンドユーザーの書き込みが発生すると取りこぼしてしまうので、移行前にメンテナンス画面を表示しました。WPパックであれば、Plesk上でメンテナンス画面の表示切替が可能です。

移行元のバックアップ

書き込みを止めた状態で、再度バックアップを作成しました。

Plesk Migratorの実行

テスト時と同様に、移行を実施します。

移行後の動作確認

こちらもテスト時と同様、hostsを書き換えて検証しました。

移行先のファイアウォール変更

一般公開のために、wwwへのアクセスを全許可します。

Aレコードの書き換え

新しいサーバーのグローバルIPをAレコードに設定します。正しく反映されたか、digコマンドで確認できます。反映後はhostsを元に戻し、サイトへのアクセスを確認します。

$ dig +short @8.8.8.8 tech.gmogshd.com A
153.xxx.xxx.xxx

作業を終えて

Plesk Migratorを利用することで、ほぼGUI上の操作のみでWebサイトが移行できました。移行先でも特に問題は見られず、非常に有用な機能だと実感しました。
最後に宣伝となりますが、弊社はPlesk国内シェアNo.1企業です。Pleskでのサーバー運用をご希望の方は、弊社ALTUSをご検討のほど、よろしくお願いいたします! 最後までご覧いただき、ありがとうございました。