WordPressサイト移行ガイド



すべてのWeb開発者は、移行の課題に定期的に直面しています。 これには、ローカルバージョンをリモートサーバーに展開し、あるサーバーから別のサーバーに作業サイトを移動することが含まれます。 プログラマ向けの一部の版画は「料理本」と呼ばれ、文字通り「レシピ」を意味します。 たくさんのレシピがありますが、どれが最高ですか-好みの問題です。 この記事では、著者が最適と考える典型的なWordPressサイトを転送する技術とその理由について説明します。

また、この資料は、サイトのバックアップとその後の復元について詳しく知りたい人に適しています。 実際のところ、これらは移行の実装に必要な2つの手順であるためです。

データのバックアップ


技術的な観点から、サイトの2つのコンポーネントのコピーを作成する必要があります。

すべてのWeb開発者は、Webサイトデータの整合性に注意する必要があります。 したがって、原則として、作業バージョンがリモートサーバーに展開された後、サイト開発者はデータバックアップまたは「バックアップ」を設定します(英語から。「バックアップコピー」、バックアップ)。

ホスティング会社によってバックアップ作成の注意が明らかになる場合があります。 ほとんどの場合、これは単純なサイトホスティングサービスを使用するときに発生します。

あるサーバーから別のサーバーにサイトを移動するときの開発者の主な目標は何ですか? 失うものは何もありません。 つまり、新しい場所では、サイトは古いサイトの同じサイトと完全に同一である必要があります。

まず最初に、サイトのバックアップコピーを作成した後、そのサイトに変更が加えられないようにする必要があります。

最も簡単な方法は、転送の期間(たとえば、次の30分)の間、サイトのコンテンツを変更しないように要求して、サイトのすべての編集者に連絡することです。 たとえば、 WordPressでブログを作成している場合、誰とも交渉する必要はありません。

これが不可能な場合は、サイトをメンテナンスモードにする必要があります。

サービスモード


WordPressがプラグインまたはシステムのコアを更新すると、サイトの訪問者にはコンテンツの代わりに白い背景と大きな見出しが表示されることに気づいたかもしれません すぐに戻ってきます。 「。

サイトを強制する方法は?

これを行うには、サイトのルートに.maintenanceというファイルを作成し、次のPHPコードをその中に配置する必要があります。

 <?php $upgrading = time(); 


結果:


原則として、これで十分であるため、誰も(サーバー管理者を除く)サイトを使用できません。

ただし、ページをより魅力的にしたい場合は、 wp-contentフォルダーに、ソーステキストの代わりにロードされるmaintenance.phpファイルを作成できます。 その中に、ユーザーの作業の保留中の完了に必要な任意の写真を作成できます。

同じ目的で使用できる特別なプラグインを推奨することもできます。


移行プロセス中にデータが変更されないことが確実にわかったので、データベースのバックアップを開始できます。

データベースのバックアップ


WordPressデータベースをバックアップするには、いくつかの方法があります。

投稿のスペースを節約するために、最初の2つの方法については説明しませんが、それらは非常に簡単です。

サーバーコンソールにアクセスでき、ターミナルを使用できる場合、これにより作業が大幅にスピードアップします。

まず、バックアップの作成は1つのコマンドで実行されるためです。

 mysqldump -u[] -p[] [__] > [___].sql 


良い方法で、外出先でベースダンプをアーカイブします。

 mysqldump -u[] -p[] [__] | gzip >[___].sql.gz 


データベースダンプであるテキストファイルは、最適な方法でアーカイブされます。 アーカイブのサイズは、ベースダンプのサイズよりも大幅に小さくすることができます。 これは、転送時に重要です。 たとえば、100Mbの転送は1GBよりはるかに高速です。

一部のホスティング会社は、サービスコントロールパネルを介してサイトデータをアーカイブする機能を提供しています。

その後、データベースとサイトのアーカイブされたコピーがメールに届きます。

ただし、すべてのホスティングが顧客にそのような機会を提供するわけではないため、このオプションが存在する場合は、それを使用するのが最も便利です。

バックアップファイル


WordPressファイルシステムは通常、次のようになります(サブディレクトリとそのコンテンツなし):
 ├── index.php ├── license.txt ├── readme.html ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config-sample.php ├── wp-config.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php 


原則として、 wp-contentフォルダーとwp-config.php構成ファイルに最も関心があります。

第一に、さまざまなWordPressインストールのその他すべてのフォルダーとファイル( システムの最新バージョンを使用する場合)は互いに異なるものではないためです。

重要:ファイルを転送する最も速い方法は、アーカイブを作成し、アーカイブを転送してから、宛先サーバーに解凍することです。

WordPressは数百のファイルで構成されています。 長い間サイトを維持している場合は、アップロードしたすべての画像、プラグイン、テーマがこれに追加されます。

数千または数千もの小さなファイルのFTP転送を想像してください。 それぞれを転送するには、最初に確立してから切断する必要があります。 その結果、プロセスが長くなり、途中で何かが失われることがあります。 さらに、ファイルが最初にローカルコンピューターに転送され、次に新しいリモートサーバーに転送される場合。

アーカイブを使用して転送する場合、1つのファイルのみを移動します。 はい、はるかに大きくなりますが、サーバーへの接続は1つしか必要ないため、転送は高速です。 インターネットへの現在のアクセス速度では、時差は数十、数百倍になる可能性があります。

大量の小さなファイルを転送するためのコンテナとしてアーカイブを使用することを強くお勧めします。
そのため、 rsyncようなコンソールユーティリティを使用できますが、このためには、northコンソールを操作するスキルが必要です。 英語のトピックに関するいくつかの教材。 -1番目2番目


データ復旧


そのため、サイトファイルのアーカイブとデータベースダンプが新しいサーバーに転送されました。

ファイル構造の再作成


最初のステップは、ファイルとフォルダーの元の構造を完全に復元するような方法でアーカイブを解凍することです。



フォルダを混乱させずに元の構造を復元するには、次のルールに従う必要があります。

アーカイブは、作成された場所と同じ場所で解凍する必要があります。

たとえば、サイトzip -r "full-backup.zip" *のルートからコンソールアーカイバーを使用してサイトを圧縮している場合、新しいサーバーでのunzip full-backup.zipは、サイトunzip full-backup.zipルートでも実行する必要があります。

.htaccessなどの非表示のファイルは、残りと共に常にアーカイブさ.htaccessわけ.htaccessないことに注意しください 。 したがって、新しいサイトで「美しいアドレス」が機能しない場合は、まず.htaccessをサイトのルートに転送したかどうかを確認してください。

部外者がダウンロードできないように、サーバーからサイトのファイル構造を持つアーカイブを削除することを忘れないでください。

データベースの再作成


データベースを復元する前に、対応する新しいデータベースが新しいサーバー上にすでに作成されていることを確認する必要があります。

まだそこにない場合は、さまざまな方法で新しいデータベースを作成できます。

結果として、手元にある必要があります:

場合によっては、データベースが別のサーバー上にある場合でも、ホストアドレス (同じマシン上にある場合は通常localhost )を知る必要があります。

このデータを使用して、データベースダンプをインポートする必要があります。

繰り返しますが、同じ方法でこれを行うことができます。

phpMyAdminで 、データベース、[インポート]タブを選択し、ダンプファイルを選択して、リクエストフォームを送信します。



コンソールを使用して作業している場合は、 mysql -u[_] -p[] [__] < [__].sqlます。

データベースダンプがアーカイブされている場合: gunzip < [__].sql.gz |mysql -u[_] -p[] [__]

データベースダンプをサーバーから削除するか、安全な場所にある場合は移動することを忘れないでください。

構成ファイルを構成する


次に、エディターでwp-config.phpファイルを開き、新しいデータベースに接続するための適切な設定を設定する必要があります。



サイトのルートフォルダーから.maintenanceファイルを削除することを忘れないでください。

サイトのパフォーマンスを確認するだけです!

おわりに


このガイドが、まだWordPressサイトの移行を心配していて、質問への回答を探している人に役立つことを願っています。

おそらくより経験豊富なWeb開発者は、このトピックに関する独自の開発を同僚と共有したいと思うでしょう。

さて、これに対してコメントが作成されました。 したがって、アドバイス、追加、および経験の交換のみを強く歓迎します。

PS nik_vrからのコメントへの重要な追加:
ローカルホストから実サーバーに転送する場合、サイトアドレスを忘れないでください。 指示に従って同時転送でドメインを変更すると、サイトが完全に機能しなくなります。 したがって、手順にもう1ステップ追加する価値があります(ローカルサーバーから戦闘サーバーに移行するときを含む、ドメインを変更するときに関連します)。 たとえば、サイドがmysite.localドメインからmysite.ruドメインに移行されると仮定します。

WordPressデータベースの保存されたダンプで、 mysite.localのすべての出現箇所を探し、 mysite.ruに置き換えます。 これは、通常のテキストエディタ(メモ帳++など)で実行できます。 置換後、エンコードを忘れずにデータベースを慎重に保存します(WordPressの最新バージョンの場合、BOMなしのUTF-8エンコードが必要です)。


データベースをインポートした後、次のMySQLコマンドを実行できます。

 UPDATE wp_options SET option_value = 'http://mysite.ru' WHERE option_value = 'http://mysite.local'; 

Source: https://habr.com/ru/post/J246659/


All Articles