web-dev-qa-db-ja.com

最小限のダウンタイムでの移行

現在、共有ホスティング環境にライブJoomla(3.x)Webサイトがあります。このサイトを、ローカルホスト(XAMPP)環境にある新しいJoomla(3.x)Webサイトに置き換えたいのですが。

最小限のダウンタイムを確実にするためにこれに取り組む最良の方法は何ですか?

私が通常従うプロセスは次のとおりです。

  • akeebaを使用してローカルのJoomlaサイトをバックアップする
  • バックアップファイル(.jpa)とAkeeba Kickstartをライブルートディレクトリにアップロードします。
  • Zipルートディレクトリの内容(jpaとkickstartを除く)
  • akeebaインストールを続行します

Akeebaのインストールがスムーズに行われると(通常はそうなります)、ダウンタイムはわずか数分です。しかし、期待どおりにうまくいかない場合に備えて、より良いアプローチがあるかどうか疑問に思っていますか?たとえば、一時的なindex保持ページを作成したり、一時的なドメインを作成したりします。

ありがとう

4
jonboy

サーバーに対する十分な権限がある場合は、ダウンタイムなしで、Akeebaなしで実行します。私は次のようなスクリプトを使用します

  1. Mysql joomlaデータベースのダンプを作成し、Apacheサーバーが読み取れないディレクトリ(ユーザーwww-data [ubuntuなど]またはhttp [Arch Linux、..]からアクセスできない)にファイルを保存します。

    mysqldump -h hostname -u user --password=password databasename > filename

  2. インストール全体のRSYNC

    rsync -avz <server>:/<joomla_directory> <joomla_directory_localhost>

    必要に応じて、configuration.phpなどのいくつかのファイルを除外します...

  3. データベースファイルを読み込むmysql -h hostname -u user --password=password databasename < filename

セキュリティ:

サーバーが複数のユーザーによって使用されている場合は、--password=passwordではなくパスワードファイルを使用してください。データベースダンプ中にプロセスラインから誰でもパスワードを読み取ることができるためです。

これらの手順は、localhost上のテストサーバーを同期するだけでなく、サーバー全体を1日に1回別の場所にミラーリングします。

多分より良い解決策がありますか?

4
Tom Kuschel

いくつかのアプローチがあります。そのような特権がある場合、rsyncで@Tom Kuschelの提案を使用するのが1つの方法です。しかし、他にもあります。

変更がdbレベルのみである場合は、新しいデータベースを作成し、データをインポートしてから、Joomlaをそのデータベースに接続します。

データベースへのリモート接続を許可できる場合、Joomlaを別のデータベース(およびリモートデータベース)に接続することは、DNSの変更と一緒にサイトをあるサーバーから別のサーバーに転送するときにも機能します。

コードベースも更新する必要がある場合は、常にサーバーに新しいバージョンを展開してテストすることをお勧めします。私は通常、最初にサブフォルダーに新しいバージョンをセットアップし、それが期待どおりに機能することを確認し(お客様にレビュー/テストを依頼することを含む)、次に切り替えます。

切り替えのために、私は通常、古いWebサイトファイルをフォルダー内に置き、テストバージョンのサブフォルダーのコンテンツをドキュメントルートに移動します。すべてが整っていることを確認したら、必要に応じて、configuration.phpでlog/tmpディレクトリパスを変更しました。これは通常、ほんの数秒のタスクです。

ホスティングアカウントのドキュメントルートを変更して、その新しいディレクトリを指すようにすることもできます。このようにして、切り替えは瞬時に行われます。コントロールパネルのドキュメントを参照するか、ホスティングプロバイダーにサポートを依頼してください。

メンテナンスと更新のダウンタイムに関するいくつかの追加の考慮事項:長年と多くの移行/サイトの移動の後、多くの場合、いくつかの最小ダウンタイムは許容可能であり、望ましい場合があり、場合によっては必要であると結論しました。

より専門的なアプローチは、サイトに関係する/使用しているすべての人にこれについてスケジュールを立てて通知し、移行中に表示する一時ページを準備することです。最初に移行を試してみて、他の問題と並行してかかる時間を把握することをお勧めします。

作業しているWebサイトにユーザーが更新したコンテンツがある場合、これらすべてがより重要です。このような移行は、静的なWebサイトとはまったく異なります。新しいバージョンに最新のコンテンツがすべて含まれるようにする必要があります。したがって、そのような場合には、以前にテストされた非常に優れた計画が必要です。そしてもちろん、ダウンタイムを回避することはできません。

3
FFrewin

このようにサイトをアップグレードするときは、一時フォルダーとAkeebaを使用します。更新されたサイト用の新しいフォルダを作成し、Akeebaを使用してインストールします。新しいサイト全体がフォルダ内で完全に機能するように、必ず新しいデータベースを使用してください。すべてが機能することを確認したら、現在のJoomlaインストール全体をフォルダーに移動してから、新しいJoomlaインストールをルートに移動します。 cPanelファイルマネージャーを使用すると、ファイルを移動するのに1分もかかりません。さらに、何か問題が発生した場合でも、バージョンを簡単に切り替えることができます。

3
Brent Friar