Cách chuyển Magento 2 từ localhost lên server

by Thien

on Sep 29/16 at 01:51

Công việc đầu tiên khi bạn dev xong Magento 2 dưới localhost là chuyển nó lên server, vì vậy trong bài viết này mình sẽ hướng dẫn các bạn làm thế nào move nó dễ dàng nhất

Export dữ liệu Mangento2

Trước tiên bạn cần phải export ra cơ sở dữ liệu của website mà bạn muốn đưa lên host, bạn có thể dùng phpmyadmin để làm chuyện đó hay có thể dùng mysqldum nếu như máy chủ bạn là vps


mysqldump -u root -p magento_old > magento_new.sql

Sau khi có được tập tin sql bạn có thể dùng phpmyadmin để import hoặc dùng dòng lệnh sau để làm chuyện đó

mysql -u root -p magento_new < magento_new.sql

Chú ý rằng cơ sở dữ liệu mới lúc này có tên magento_new, bạn cần phải tạo nó trước khi chạy câu lệnh bên trên:

mysqladmin -u root -p create mangento_new

Cấu hình Magento

Bay giờ ta đã có database do đó ta cần phải cấu hình cho nó hiểu, bạn chỉ cần mở file có tập tin là env.php trong thư mục app/etc/ thây đổi các tham số sao cho phù hợp server của bạn:

db’ =>

 array (

   ‘table_prefix’ => ”,

   ‘connection’ =>

   array (

     ‘default’ =>

     array (

       ‘host’ => ‘DATABASE_HOST’,

       ‘dbname’ => ‘DATABASE_NAME’,

       ‘username’ => ‘DATABASE_USERNAME’,

       ‘password’ => ‘DATABASE_PASSWORD’,

       ‘active’ => ‘1’,

     ),

   ),

 ),

Trong trường hợp của tôi thì DATABASE_NAME là mangento_new, mặc định DATABASE_HOST sẽ là localhost, sau đó bạn cần phải chỉnh sữa table core_config_data với 2 tham số web/unsecure/base_url and web/secure/base_url, bạn có thể nhình thấy bên dưới:

mysql> select *  from  core_config_data limit 3;
+-----------+---------+----------+-----------------------+------------------------------+
| config_id | scope   | scope_id | path                  | value                        |
+-----------+---------+----------+-----------------------+------------------------------+
|         1 | default |        0 | web/seo/use_rewrites  | 1                            |
|         2 | default |        0 | web/unsecure/base_url | http://dev.phanbook.com/  |
|         3 | default |        0 | web/secure/base_url   | https://dev.pahnbook.com/ |
+-----------+---------+----------+-----------------------+------------------------------+
3 rows in set (0.00 sec)

Chạy câu lênh sql dưới đây để update nó:

update core_config_data set value = 'https://yourwebsite/' where path="web/secure/base_url";
update core_config_data set value = 'https://yourwebsite/ where path="web/secure/base_url";

Xoá cache và thêm quyền write

Ok chúng ta đã gần xong, khi bạn di chuyển từ local lên server mới thì thư mục pub sẽ không có quyền write do đó bạn cần thêm cho chúng, để làm điều đó bạn chạy lệnh sau:

chmod 777 -R pub/
chmod 777 -R var/cache/

Cuối cùng bạn cần xoá cache truy cập vào menu SYSTEM->Tool->Cache Management, hoặc chạy với lệnh sau trong terminal máy chủ của bạn:

bin/magento cache:flush

Đôi lúc bạn có thể login không được với account mà lúc đó bạn đã login được trên localhost, bạn cần phải update nó thông qua câu lệnh sau:

bin/magento setup:db-data:upgrade
bin/magento setup:di:compile 

Nếu khi bạn login vào trang quản lý Magento 2 mà thấy messages như sau Magento 2 Reindexing - One or more indexers are invalid. Make sure your Magento cron job is running thì bạn chạy lệnh bên dưới để index nó:

php bin/magento indexer:reindex

Kết luận

Trên đây tôi đã hướng dẫn các bạn cách di chuyển mangto 2 từ local lên server, bạn có bất cứ câu hỏi nào thì hãy để bên dưới và như mọi khi hãy chia sẽ nó nếu bạn thấy hay!!!