WebRelease サーバの移行手順

現在運用中の WebRelease サーバを新サーバへ移行する際の手順をまとめました。移行計画の立案・実行にお役立てください。

ここでは、一例として、下記のような状況での新サーバへの移行手順を紹介いたします。

  • 現在 WebRelease 2.60 を運用している。
  • WebRelease サーバは新しいものにリプレースする。
  • WebRelease を最新版にアップグレードする。
  • 新サーバの OS には Red Hat Enterprise Linux 8.5 を使う。
  • 現行のコンテンツやアカウント情報をすべてそのまま新 WebRelease に移行する。

この例は Red Hat Enterprise Linux 8.5 の場合ですが、Linux の他のディストリビューションや OS X (macOS) の場合も、ほぼ同等の手順で移行することができます。

STEP 1. 新サーバの構築

まず、新サーバを準備します。新サーバに OS (この例では Red Hat Enterprise Linux 8.5) をインストールし、必要な設定を行ってください。

  • OS を最新版にアップデートしてください。(dnf upgrade, yum update など)
  • Firewall (firewalld, iptables など)
  • DNS
  • Router
  • その他

このドキュメント中では、説明のために、新サーバのホスト名は newserver.example.com としておきます。

STEP 2. 新サーバへの WebRelease のインストール

新サーバに WebRelease をインストールしてください。WebRelease のインストールはインストールマニュアルに沿って行ってください。

インストール手順は WebRelease のバージョンによって異なります。下記リンクからは最新版のインストールマニュアルを参照いただけますが、異なるバージョンをインストールする場合には、インストールメディア上にあるインストールマニュアルを参照してください。

インストールにあたっては、最新版のインストールメディアをご購入いただき、それを使ってインストールしていただくのがよいでしょう。

もちろん、新規にメディアをお求めいただく事なく、お手元にお持ちのインストールメディアを使って WebRelease をインストールしていただいても構いません。その場合、インストール後に WebRelease を最新版にアップグレードしてください。なお、古いバージョンのインストールメディアでは、最新の OS へのインストールができない場合がありますのでご注意ください。

インストールが完了したら、WebRelease が新サーバ上で正常に動作しているかどうか確認しておきましょう。OS 再起動後に WebRelease が正常に自動起動することなどもチェックしておくと安心です。

STEP 3. 【重要】メモリ割り当て量の設定

新サーバ上の WebRelease のメモリ割り当て量を設定します。設定は WebRelease の管理画面から行ないます。この値には、基本的に、旧サーバで指定していた値以上の値を指定してください。

メモリ割り当て量の設定方法はインストールマニュアルおよび WebRelease のマニュアルに記載されていますので、それを参考に作業してください。

STEP 4. 新サーバ上の WebRelease をいったん止める

旧サーバから新サーバへのデータの移行作業は WebRelease を止めた状態で行なう必要があります。データの移行を行うにあたり、新サーバ上の WebRelease をいったん止めます。

WebRelease は下記のコマンドで停止することができます。コマンドは root (権限) で実行してください。

root@newserver# systemctl stop webrelease2.service

上記の停止コマンドを実行したら、一応、ブラウザから新サーバ上の WebRelease にアクセスし WebRelease が止まっていることを確認しておいてください。

STEP 5. 旧サーバのストレージデータを新サーバにコピーする

次は、旧サーバ上にある WebRelease のストレージデータを新サーバにコピーします。作業手順は下記のとおりです。各コマンドは root (権限)で実行してください。

(1) 旧サーバ上で下記コマンドを実行して、旧サーバ上の WebRelease 2.60 を停止します。

Red Hat Enterprise Linux 6 系で稼働する WebRelease を止める場合

root@oldserver# cd /etc/init.d
root@oldserver# ./webrelease2 stop

Red Hat Enterprise Linux 7 系で稼働する WebRelease を止める場合

root@oldserver# systemctl stop webrelease2.service

ここで旧サーバ上の WebRelease を止めた時点で、旧サーバ上での WebRelease 2.60 の運用は終了するという前提で移行作業をすすめてください。データを移行し、新サーバ上での運用が始まったならば、旧サーバ上のデータを並行して更新することは避けた方がよいでしょう。

(2) 旧サーバ上でコンテンツデータを tar コマンドで固めます。

root@oldserver# cd ~wr2
root@oldserver# tar cvzf - ./WebRelease2.storage > WebRelease2.storage.tgz

ディスクスペースの残量に十分に注意してください。WebRelease2.storage.tgz の書き込み中に File System Full などが発生してしまうトラブルが多いようです。tgz ファイルがどのくらいの大きさになるかの目安は、下記コマンドである程度推測可能です。

root@oldserver# cd ~wr2
root@oldserver# du -s -m ./WebRelease2.storage

du コマンドで表示される数値は M byte 単位の WebRelease2.storage のディスク上でのサイズです。圧縮して tgz ファイルを作成するので、表示された数値のおおよそ 1/2 の空きディスク容量があれば、問題なく WebRelease2.storage.tgz を作成できるでしょう。

WebRelease2.storage.tgz はどのディレクトリに作成しても構いません。この例では ~wr2 のホームディレクトリ直下に作成していますが、/var 以下などに広大なディスクスペースがあるのであれば、そこに作成してもよいでしょう。

(3) WebRelease2.storage.tgz を新サーバにコピーする

できあがった WebRelease2.storage.tgz を新サーバにコピーします。コピーはそれぞれの環境で使える方法で行ってください。例えば sftp でコピーする場合には、下記のコマンドでコピーできます。

root@oldserver# cd ~wr2
root@oldserver# sftp someone@newserver.example.com
someone@newserver.example.com's password: (パスワードを与えます)
sftp> put WebRelease2.storage.tgz /tmp

この例では、someone というアカウントを使って newserver.example.com に sftp でログインしています。続いて、put コマンドで WebRelease2.storage.tgz を newserver.example.com 上の /tmp にコピーしています。

一般に、root 権限では sftp でのファイル転送ができない設定になっているサーバもいと思いますので、sftp でのコピーのためには root 以外のアカウントを援用してください。

STEP 6. 新サーバ上にコピーされたストレージデータを解凍する

新サーバ上にコピーされた WebRelease2.storage.tgz を WebRelease が使えるように解凍します。

(1) 新サーバ上の WebRelease を止めます。

なお、前述の STEP 4 の作業で新サーバ上の WebRelease は停止しているはずですが、新サーバの再起動などで WebRelease が起動している場合には、あらためてここで停止してください。

root@newserver# systemctl stop webrelease2.service

(2) 【重要】 ユーザ wr2 に su しておきます。

解凍されたファイルのオーナーは、新サーバ上のユーザ wr2 でなければなりません。以降の作業は、新サーバ上に作成されているユーザ wr2 として実行するのが安全です。

root@newserver# su - wr2
wr2@newserver% 

(3) 新サーバ上に WebRelease をインストールした時に作られた WebRelease2.storage を削除します。

このストレージはもう不要です。このディレクトリを削除した後に、旧サーバからコピーしてきた同ディレクトリを展開します。

wr2@newserver% cd
wr2@newserver% /bin/rm -fr ./WebRelease2.storage

(4) 旧サーバからコピーしてきた WebRelease2.storage.tgz ファイルを解凍します。

この例の tar コマンドのパラメタは、旧サーバからコピーしてきた WebRelease2.storage.tgz が /tmp/WebRelease2.storage.tgz に置かれているという前提になっています。WebRelease2.storage.tgz が他の場所にある場合には、その場所を指定してください。

wr2@newserver2% cd
wr2@newserver% tar xvpzf /tmp/WebRelease2.storage.tgz

正常に解凍されたかどうか ls コマンドで確認しておきましょう。

wr2@newserver% ls -l
合計 53400
drwxr-xr-x  6 wr2  wr2      4096  2月 10 11:03 ThirdPartyProducts
drwxr-xr-x  3 wr2  wr2      4096  2月 10 11:03 WebRelease2
-rw-r--r--  1 wr2  wr2       630  2月 10 12:10 WebRelease2.log
drwxr-xr-x 27 wr2  wr2      4096  2月 10 11:39 WebRelease2.storage

WebRelease2.storage というディレクトリができていて、そのオーナとグループが wr2 になっていれば大丈夫でしょう。

STEP 7. 新サーバ上の WebRelease を起動する

下記コマンドで、新サーバ上で WebRelease を起動します。

wr2@newserver% exit
root@newserver# systemctl start webrelease2.service

これで、新サーバ上で WebRelease が稼働開始しました。ブラウザで新サーバ上の WebRelease にアクセスし、稼働しているかどうか確認してください。

正しく移行できているかどうか、下記の点について確認しておくとよいでしょう。

  • 全サイトが移行されていること。
  • 移行前後で、各サイトのページ数が一致していること。
  • 移行前後で、ユーザ登録情報が一致していること。

今回の手順では WebRelease2.storage をそのまま移行しているので、登録ユーザ情報もすべて旧サーバのものが移行されています。admin のパスワードも旧サーバから移行されたものとなっています。

STEP 8. 後片付け

移行作業が順調に終わり、新サーバでの稼働が軌道に乗ったならば、下記の作業ファイルを削除してしまいましょう。

  • 新サーバ上の /tmp/WebRelease2.storage.tgz
  • 旧サーバ上の ~wr2/WebRelease2.storage.tgz

なお、移行時点のデータをしばらく保全しておきたいということであれば、上記のいずれか一方(または両方)を、当面消さずに保存するか、または、他のサーバにコピーするなどして保存してください。

その他

下記の点にご注意ください。

  • 作業開始に先立って、旧サーバ上の WebRelease2.storage のバックアップを確保しておいてください。移行作業中の停電やオペレーションミスなど、思わぬ事故でデータを破壊してしまう危険があります。必ずバックアップを別サーバまたはオフラインメディアに確保してから作業してください。

  • 新サーバの設置されるネットワーク環境が旧サーバと異なる場合、新サーバ稼働後に、新サーバ側の WebRelease に対していくつかの設定変更が必要になる場合があります。

    • 新サーバのネットワーク環境では、公開サーバにコンテンツを配信するための ftp / sftp サーバが異なる場合、それらの設定情報を変更する必要があります。
    • 新サーバのネットワーク環境では、旧サーバとは異なる SMTP サーバを使う必要がある場合、WebRelease の「メールサーバ」の設定変更が必要です。
    • 新サーバのネットワーク環境では、旧サーバとは異なる proxy サーバを使う必要がある場合、WebRelease の「Proxy サーバ」の設定変更が必要です。
  • 秘密鍵を移行する必要があるかもしれません。WebRelease から公開サーバへのコンテンツのアップロードに sftp を使用していて、かつ、認証に公開鍵認証を使用している場合、旧サーバの ~wr2/.ssh 以下の ssh 鍵ファイル類を新サーバに移行するか、または、新サーバ上で新たな鍵ペアを生成しなおして、sftp サーバ上の公開鍵を新しいものに交換しておく必要があるでしょう。

  • データの移行完了後、新サーバ上で WebRelease が稼働し始めると、各種通知メール類はすぐに発送され得る状態になります。例えば、承認遅延警告メールは、その条件が成立すると、新サーバから発送されます。何らかの理由で、旧サーバと新サーバを並行稼働させている場合には、同じ内容のメールが両方のサーバから発送される事態にいたる可能性がありますのでご注意ください。そのような事態を回避したい場合には、移行前 (上記のステップ 5 の (1) 実行前) に、旧サーバ上で WebRelease の「メールサーバ」の設定をクリアし、メールが発送されない状態にしておくとよいでしょう。「メールサーバ」の設定がクリアされている状態のデータを移行し、新サーバ側で一定の動作確認が終わった時点で、新サーバ側で「メールサーバ」設定をあらためて行えば混乱を避けられるでしょう。