Cách chuyển Magento từ sản xuất sang phát triển


7

Tôi đã được một người bạn yêu cầu phát triển trang Magento của anh ấy. Trang web của anh ấy đã hoạt động. Và anh ấy sẽ cho tôi quyền truy cập vào máy chủ lưu trữ trang Magento của anh ấy.

Để phát triển một số tính năng mới, tôi cần sao chép Magento đang chạy của mình vào một môi trường phát triển.

Thông thường, tôi đã lưu trữ tất cả phiên bản Magento của mình trên Amazon AWS và tôi sẽ chỉ sao chép phiên bản đó và sau đó khởi chạy một phiên bản khác để phát triển. Thật dễ dàng để làm điều đó trong AWS ...

Bất cứ ai có bất kỳ hướng dẫn ở đây có thể giúp tôi? Có lẽ một số blog dạy tôi làm thế nào để sao chép một Magento đang chạy vào một môi trường phát triển?

cảm ơn các bạn. Ở đây hãy để tôi làm cho trường hợp rõ ràng hơn:

  • Là mã dưới sự kiểm soát phiên bản? - không
  • Trang web Magento có sửa đổi gì không? -- Có lẽ
  • Nó có sử dụng các mô-đun của bên thứ ba không? - Chắc chắn là có,
  • Bạn có biết làm thế nào để tạo một bản sao lưu cơ sở dữ liệu? - Tôi có quyền truy cập đầy đủ vào db và chắc chắn tôi có thể tạo bản sao lưu.

1
Là mã dưới sự kiểm soát phiên bản? Trang web Magento có sửa đổi gì không? Nó có sử dụng các mô-đun của bên thứ ba không? Bạn có biết làm thế nào để tạo một bản sao lưu cơ sở dữ liệu? - Có thể có nhiều điều bạn sẽ / có thể tính đến, đừng quên suy nghĩ về cách thay đổi của bạn trở lại hệ thống sản xuất. Mã thường được sao chép và cấu hình được triển khai .
hakre

@hakre Bạn có thể nói cụ thể hơn về điều này? Ý tôi là, bạn đã thấy bất kỳ hướng dẫn trực tuyến hoặc blogpost nào cung cấp hướng dẫn có hệ thống cho vấn đề của tôi chưa? Tôi không muốn làm mọi thứ rối tung lên và rất có khả năng tôi sẽ làm hỏng nó. Ngoài ra, về cách áp dụng các thay đổi trong môi trường sản xuất, đó cũng là một vấn đề ..
Fan Zhang

Bạn đã từng thiết lập một magento từ đầu bằng tay chưa?
hakre

Và đối với tình huống hướng dẫn, nó thực sự phụ thuộc vào những gì bạn cần. Nó có thể là từ - đến: Thiết lập một Magento Staging Diện tích , Cài đặt Phát triển Magento , hiện đại Magento Workflow và Phát triển Công cụ - Việc xử lý bình thường là bắt đầu với hộp phát triển và sau đó đi qua dàn dựng để sống. Đi qua nên được tự động. Nếu không, bạn gặp vấn đề từ các thiết lập trực tiếp hiện tại rất khó để chiến đấu.
hakre

@hakre Khá nhiều Magento tôi có, tôi thiết lập từ đầu. Đây là lần duy nhất tôi cố gắng sao chép môi trường Magento sản xuất.
Fan Zhang

Câu trả lời:


7
  1. Tạo và tải xuống một gzip của tất cả mọi thứ trong thư mục mà trang web Magento đang ở.
  2. Làm một bãi chứa toàn bộ cơ sở dữ liệu. (nếu bạn có phpmyadmin, hãy nhấp vào tên cơ sở dữ liệu Magento ở bên trái, sau đó nhấp vào Xuất trên menu trên cùng, sau đó nhấp vào "Đi")
  3. Tải lên và giải nén gzip trên máy chủ phát triển của bạn, trong thư mục bạn đang sử dụng cho Magento (thường là web root, trừ khi bạn có nhiều trang web).
  4. Tạo cơ sở dữ liệu trên máy chủ phát triển và nhập xuất khẩu sql từ bước 2.
  5. Chỉnh sửa app/etc/local.xml- thay đổi tên cơ sở dữ liệu, người dùng và mật khẩu để khớp với db mới của bạn.
  6. Trong db mới, hãy chuyển đến bảng core_config_data và thay đổi web/unsecure/base_urlweb/secure/base_urlthành url của máy chủ phát triển của bạn (bao gồm mọi thư mục con Magento có thể có). Đừng quên một dấu gạch chéo về phía trước của url.
  7. Xóa cachesessiontrong varthư mục trên máy chủ dev của bạn.

Sau đó, bạn sẽ có thể điều hướng đến trang web tại url máy chủ dev của bạn. Đường dẫn quản trị viên (ví dụ: devserver.com/admin) sẽ giống như trên máy chủ cũ. Quyền truy cập tệp / thư mục của bạn cũng sẽ cần phải được đặt - bạn có thể tìm thông tin về điều đó tại đây: http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html


Cảm ơn bạn đã trả lời. Bạn có thể cụ thể hơn về sự cho phép? Điều gì xảy ra nếu sự cho phép trong môi trường sản xuất đã được sửa đổi để phục vụ một mục đích đặc biệt? Nếu tôi theo liên kết bạn cung cấp, tôi sẽ "thiết lập lại" các quyền thành mặc định.
Fan Zhang

2
Trên đây là hướng dẫn chung - vì vậy, đối với mỗi trang web bạn sao chép, bạn có thể cần thực hiện điều chỉnh tùy theo nhu cầu của mình. Trừ khi máy chủ dev của bạn đang chạy cùng một hệ điều hành với máy chủ trực tiếp, bạn thực sự có thể cần các quyền tệp khác nhau để phù hợp với HĐH. Điều đó đang được nói, tôi sẽ bắt đầu với các bước trên (1-7) và điều chỉnh các quyền và quyền sở hữu từ đó. Quyền truy cập tệp có thể được duy trì từ máy chủ trực tiếp đến máy chủ dev, nhưng với những người dùng khác nhau, v.v., tôi thường thấy dễ dàng nhất để định cấu hình máy chủ dev như thể bắt đầu từ đầu.
AreDubya

1
Ngoài ra - bằng cách sử dụng tar, quyền truy cập tệp của bạn sẽ được giữ nguyên - askubfox.com/questions/225865/ . Điều này có thể hữu ích nếu đó là những quyền bạn cần cho máy chủ dev của bạn, nhưng nếu không, bạn có thể sử dụng liên kết trong câu trả lời của tôi để "đặt lại" chúng. @hakre đưa ra một quan điểm tốt về việc triển khai trở lại, nhưng tôi nghĩ rằng điều đó phụ thuộc vào quy trình làm việc bình thường của bạn, IDE, v.v ... Câu trả lời này chỉ xử lý nhân bản, nhưng có nhiều tùy chọn để triển khai tùy thuộc vào mức độ công việc bạn sẽ làm , quy trình làm việc, khung thời gian của bạn (thay đổi dữ liệu trực tiếp), v.v.
AreDubya

1
Ngoài ra, đó là một ý tưởng tốt để thiết lập một số hình thức bắt thư, bạn vẫn muốn kiểm tra chức năng email nhưng rõ ràng không muốn gửi email cho khách hàng thực sự một cách tình cờ! Có một viên ngọc ruby ​​tuyệt vời gọi là mailtrap, cũng có các dịch vụ như mailtrap.io bạn có thể sử dụng bằng cách tùy chỉnh cài đặt SMTP của magento. Thực sự bạn nên bỏ khách hàng và lịch sử đặt hàng trên trang dev của bạn để bạn không chơi với dữ liệu riêng tư của khách hàng thực.
benz001

1
Công thức này cũng hoạt động với Magento 2, với thay đổi nhỏ duy nhất là ở bước 5, bạn thực hiện thay đổi thông tin db trong app / etc / env.php, thay thế local.xml.
Fernando Echeverria

0

• Xuất cơ sở dữ liệu của Magento hiện tại của bạn

• Tạo một cơ sở dữ liệu trống và nhập bản sao lưu cơ sở dữ liệu mà bạn đã xuất trước đó

• Sau khi nhập cơ sở dữ liệu thành công, bây giờ bạn sẽ phải thay đổi base_url an toàn và không bảo mật trong cơ sở dữ liệu mới tạo của bạn. Chúng có thể được tìm thấy trong bảng core_config_data với các đường dẫn sau:

           web/secure/base_url

           web/unsecure/base_url

• Tạo một tệp zip và giải nén nó trên máy chủ mới.

• Mở tệp app / etc / local.xml từ thư mục Magento và chỉnh sửa các dòng mã sau:

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

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

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

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

localhost : Tên máy chủ của máy chủ cơ sở dữ liệu của bạn. Thường thì đây là mạng localhost. Tên người dùng : Tên người dùng máy chủ SQL được sử dụng để kết nối với cơ sở dữ liệu. mật khẩu : Mật khẩu máy chủ SQL được sử dụng để kết nối với cơ sở dữ liệu. dbname : Tên của cơ sở dữ liệu bạn muốn kết nối.

• Xóa mọi thứ khỏi var / cache / và khỏi var / session / của thư mục Magento.

• Cuối cùng trong phpmyadmin, hãy truy cập cơ sở dữ liệu mới của bạn và chạy Truy vấn SQL sau để đặt lại id cửa hàng, nhóm, quản trị viên và khách hàng:

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;

Thế là xong, bạn đã xong.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.