はじめに
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をご検討のほど、よろしくお願いいたします! 最後までご覧いただき、ありがとうございました。