Magentoを本番環境から開発環境に移行する方法


7

私は友人から彼のMagentoサイトを開発するように求めてきました。彼のサイトはすでに稼働しています。そして、彼は私に彼のMagentoサイトをホストしているサーバーへのアクセスを与えようとしています。

いくつかの新機能を開発するために、彼の実行中のMagentoを開発環境に何らかの形で複製する必要があります。

通常、私はすべてのMagentoインスタンスをAmazon AWSでホストし、インスタンスのクローンを作成してから、開発用に別のインスタンスを起動します。AWSでそれを行うのは簡単です...

誰かが私を助けることができるガイドラインをここに持っていますか?実行中のMagentoを開発環境に複製する方法を教えているブログがあるかもしれません。

君たちありがとう。ここで私はケースをより明確にしましょう:

  • コードはバージョン管理されていますか? - 番号
  • Magentoサイトに変更はありますか? - 多分
  • サードパーティのモジュールを使用していますか?-確かにそうです。
  • データベースのバックアップを作成する方法を知っていますか?-私はデータベースへのフルアクセスがあり、バックアップを作成できます。

1
コードはバージョン管理されていますか?Magentoサイトに変更はありますか?サードパーティのモジュールを使用していますか?データベースのバックアップを作成する方法を知っていますか?-変更点が本番システムにどのように反映されるかを忘れずに、考慮すべきことや考慮すべきことがたくさんあります。通常、コードは複製され、設定がデプロイされます。
hakre 2015

@hakreこれについてもっと具体的に教えてもらえますか?つまり、私の問題の体系的なガイダンスを提供するオンラインチュートリアルやブログ投稿を見たことがありますか?私は物事を台無しにしたくはなく、台無しにするつもりです。また、...あまりにも、本番環境でその問題を、変更を適用する方法の面で
ファン張

magentoを最初から手動でセットアップしたことはありますか?
2015

そして、チュートリアルの状況では、それは本当にあなたが必要とするものに依存します。それはすることができから-へ:ステージング領域アップA Magentoの設定Magentoの開発セットアップ現代Magentoのワークフローおよび開発ツール -通常の処理は、開発ボックスで開始し、その後、ライブにステージングを通過することです。通過は自動化されるべきです。それ以外の場合は、現在のライブセットアップから戦うのが難しい問題を取り入れます。
hakre 2015

@hakre私が持っているほとんどすべてのMagentoは、ゼロからセットアップしました。これが私がプロダクションMagento環境のクローンを作成しようとしている唯一の時間です。
ファン・チャン

回答:


7
  1. Magentoサイトがあるディレクトリにすべてのgzipを作成してダウンロードします。
  2. データベース全体をダンプします。(phpmyadminを使用している場合は、左側のMagentoデータベース名をクリックし、トップメニューの[エクスポート]をクリックして、[移動]をクリックします)
  3. 開発サーバーのMagentoに使用しているディレクトリ(複数のサイトがない場合は通常、Webルート)にgzipをアップロードして抽出します。
  4. 開発サーバーにデータベースを作成し、手順2のsqlエクスポートをインポートします。
  5. 編集app/etc/local.xml-新しいdbと一致するようにデータベース名、ユーザー、パスワードを変更します。
  6. 新しいdbで、core_config_dataテーブルに移動し、web/unsecure/base_urlおよびweb/secure/base_urlを開発サーバーのURLに変更します(Magentoが含まれている可能性のあるサブフォルダーを含む)。URLの末尾にスラッシュを忘れないでください。
  7. 削除cachesessionvarあなたのdevのサーバー上のフォルダ。

その後、開発サーバーのURLにあるサイトに移動できるはずです。管理パス(たとえば、devserver.com / admin)は、古いサーバーと同じになります。ファイル/フォルダーのアクセス許可も設定する必要があります。その情報は、http//devdocs.magento.com/guides/m1x/install/installer-privileges_after.htmlで確認できます。


返信ありがとうございます。許可について具体的に教えていただけますか?実稼働環境での許可が特別な目的に役立つように変更された場合はどうなりますか?あなたが提供したリンクをたどると、権限をデフォルトに「リセット」します。
ファン・チャン

2
上記は一般的なガイドです。したがって、クローンを作成するサイトごとに、ニーズに応じて調整を行う必要がある場合があります。開発サーバーがライブサーバーと同じOSを実行していない限り、実際にはOSに合わせて異なるファイル権限が必要になる場合があります。とはいえ、上記の手順(1〜7)から始めて、そこからアクセス許可と所有権を調整します。ファイルのアクセス許可はライブサーバーから開発サーバーまで維持できますが、ユーザーが異なる場合などは、通常、開発サーバーをゼロから構成するのが最も簡単です。
AreDubya

1
また、tarを使用すると、ファイルの権限が保持されます-askubuntu.com/questions/225865/…。これらは、開発サーバーに必要な権限である場合に役立ちますが、そうでない場合は、私の回答にあるリンクを使用してそれらを「リセット」できます。@hakreは展開をライブに戻すのに適していますが、それは通常のワークフローやIDEなどによって異なると思います。この回答はクローン作成のみを処理しますが、実行する作業の規模に応じて、展開には多くのオプションがあります。 、ワークフロー、時間枠(ライブで変更されたデータ)など
AreDubya

1
また、何らかのメールキャッチャーを設定することをお勧めします。メール機能をテストしたいが、実際の顧客に誤ってメールを送信したくないのは明らかです。mailtrapと呼ばれる素晴らしいruby gemがあり、magentoのSMTP設定をカスタマイズして使用できるmailtrap.ioなどのサービスもあります。実際には、開発者サイトの顧客と注文履歴を削除して、実際の顧客のプライベートデータをいじらないようにする必要があります。
benz001 2015

1
このレシピはMagento 2でも機能しますが、マイナーな変更は、手順5でlocal.xmlを置き換えたapp / etc / env.phpでdb infoを変更することだけです。
Fernando Echeverria

0

•現在のMagentoのデータベースをエクスポートする

•空のデータベースを作成し、以前にエクスポートしたデータベースバックアップをインポートします。

•データベースのインポートが正常に完了したら、新しく作成したデータベースのセキュアおよび非セキュアなbase_urlを変更する必要があります。これらは、次のパスでcore_config_dataテーブルにあります。

           web/secure/base_url

           web/unsecure/base_url

•ファイルのzipを作成し、新しいサーバーに抽出します。

•Magentoディレクトリからapp / etc / local.xmlファイルを開き、次のコード行を編集します。

   <host><![CDATA[localhost]]></host>

   <username><![CDATA[username]]></username>

   <password><![CDATA[password]]></password>

   <dbname><![CDATA[dbname]]></dbname>

localhost:データベースサーバーのホスト名。多くの場合、これは「localhost」です。 username:データベースへの接続に使用されるSQLサーバーのユーザー名。 password:データベースへの接続に使用されるSQLサーバーのパスワード。 dbname:接続するデータベースの名前。

•Magentoディレクトリのvar / cache /およびvar / sessions /からすべてを削除します。

•最後にphpmyadminで、新しいデータベースに移動し、次のSQLクエリを実行して、ストア、グループ、管理者、および顧客のIDをリセットします。

SET FOREIGN_KEY_CHECKS=0;
UPDATE `core_store` SET store_id = 0 WHERE code='admin';
UPDATE `core_store_group` SET group_id = 0 WHERE name='Default';
UPDATE `core_website` SET website_id = 0 WHERE code='admin';
UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';
SET FOREIGN_KEY_CHECKS=1;

以上で完了です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.