Trong những năm gần đây Magento phiên bản 2.4 đã được ra mắt với nhiều cải tiến và tính năng hữu ích, đặc biệt Magento chuyển sang phương thức tìm kiếm Elasticsearch khiến mọi người háo hức cài đặt nó trên localhost, điều khó khăn là khi cài đặt như cách thông thường thì nút cài đặt bị mất khiến ta không thể cài đặt, sau một thời gian nghiên cứu thì chúng ta đã có thể cài đặt nó trên XAMPP. Trong bài viết này mình sẽ hướng dẫn các bạn cách cài đặt các phiên bản Magento 2.4 và đặc biệt là bản mới nhất 2.4.6 trên Localhost XAMPP.
1. Kiểm tra yêu cầu hệ thống của Magento 2.4
Đầu tiên, bạn hãy kiểm tra các yêu cầu hệ thống của Magento 2.4 để chọn phiên bản XAMPP và Elasticsearch tương thích.
Bạn cần chú ý đến các yêu cầu phiên bản của Apache, MySQL, PHP và Elasticsearch. Ở đây, Magento 2.4 yêu cầu:
- Apache 2.4
- MySQL 8.0
- PHP 7.3, 7.4
- Elasticsearch 7.6.x
Ngoài ra, bạn nên chú ý đến một vài extension PHP bắt buộc.
2. Tải xuống và cài đặt XAMPP
Dựa trên các yêu cầu của Magento 2.4, mình đã tiến hành chọn ra một phiên bản phù hợp là XAMPP 7.4.12, với các bản mới từ 2.4.4 trở lên thì mình chọn XAMPP 8.1.17. Bạn có thể tải xuống XAMPP.
Tiến hành tải về và cài đặt XAMPP 7.4.12.
3. Tải xuống và cài đặt Composer
Các bạn truy cập vào https://getcomposer.org/download/ để tải Composer.
Tải về cài đặt như bình thường đến phần đường dẫn chọn đúng đường dẫn đến php.exe của XAMPP vừa cài đặt.
Các bạn có thể kiểm tra xem cài đặt Composer có thành công hay không bằng cách mở CMD với đặc quyền của quản trị viên rồi gõ lệnh: composer.
Để tránh các lỗi không đáng có trong quá trình tải và cài đặt phiên bản mới như Magento 2.4.6, các bạn nên sử dụng composer version 2.4.2.
Chúng ta sử dụng lệnh sau để chuyển version: composer self-update 2.4.2
4. Tải xuống và cài đặt Elasticsearch
Kể từ Magento 2.4, MySQL không còn được sử dụng để tìm kiếm. Các bạn phải sử dụng Elasticsearch, đây là một phần rất quan trọng để cài đặt Magento 2.4.
Mình tải Elasticsearch 7.6.2 và giải nén vào thư mục htdocs của XAMPP, các bạn có thể sử dụng phiên bản mới nhất tại: https://www.elastic.co/downloads/elasticsearch
Vào thư mục elasticsearch-7.6.2 / bin và chạy elasticsearch.bat bằng quyền của quản trị viên
Các bạn có thể kiểm tra nó tại localhost với cổng 9200: localhost:9200
5. Cấu hình các extension trước khi cài đặt
Mở bảng điều khiển XAMPP. Sau đó, mở php.ini trong cấu hình của Apache.
Với các phiên bản 2.4 cũ
Tìm các dòng:
Xóa dấu “;” ở đằng trước các dòng để thành:
Sau đó khởi động lại Apache và MySQL trong Bảng điều khiển XAMPP.
Với các phiên bản mới từ 2.4.4 – 2.4.6
Cần bật các extension sau:
Thay đổi một số dòng:
Sau đó khởi động lại Apache và MySQL.
6. Tải Magento 2.4
Chúng ta có 2 cách để tải Magento:
Cách 1: Truy cập vào trang github Magento sau đó chọn phiên bản tải về và giải nén.
Tải về xong, tạo một thư mục trong htdocs rồi giải nén file Magento vào đó.
Cách 2: Tải thông qua lệnh composer:
Lưu ý thứ nhất: “magento246” là tên thư mục bạn có thể đặt tùy ý. Để tải các phiên bản khác bằng lệnh bạn chỉ cần thêm thuộc tính, ví dụ như sau:
Lưu ý thứ 2: Nếu bạn nhận được yêu cầu Authentication required (repo.magento.com), bạn cần có tài khoản tại https://marketplace.magento.com/customer/accessKeys/. Lấy Access Keys và điền vào tương ứng “username” là public key, “password” là private key.
7. Sửa lỗi Magento_Theme và một số lỗi khác trước khi cài đặt
Áp dụng với tất cả các phiên bản 2.4
Để sửa lỗi Module ‘Magento_Theme’ mở file php theo đường dẫn xampp/htdocs/magento_folder/vendor/magento/framework/Image/Adapter/Gd2.php, tìm tới dòng 86 thay thế hàm validateURLScheme() bằng mã dưới đây:
Áp dụng thêm ở các phiên bản từ 2.4.4 – 2.4.6
Mở file magento_foldervendormagentoframeworkViewElementTemplateFileValidator.php, tìm và sửa strpos($realPath, $directory) thành strpos($path, $directory).
Tiếp theo, mở file app/etc/di.xml, tìm và sửa:
Sang thành:
Sau khi sửa xong hãy nhớ lưu lại.
8. Tạo virtual host (Tùy chọn)
Để có một url đẹp hơn theo sở thích, bạn hãy làm theo các bước sau:
Mở file C:xamppapacheconfextrahttpd-vhosts.conf và thêm vào đoạn sau:
Chỉnh ServerName theo mong muốn của bạn, địa chỉ này sẽ là địa chỉ ảo mà bạn có thể sử dụng để truy cập trang Magento sau khi cài đặt xong.
Tiếp theo, mở file C:WindowsSystem32driversetchosts, rồi thêm dòng sau vào phần dưới cùng của file
Ngoài ra việc tạo virtual host cũng giúp bạn không cần chỉnh file htaccess để fix lỗi 404 ở bước 10.
9. Tạo cơ sở dữ liệu
Tạo cơ sở dữ liệu mới bằng cách truy cập localhost/phpmyadmin. Tiếp theo, chọn New, đặt tên cho cơ sở dữ liệu và nhấp vào Create.
10. Cài đặt Magento 2.4
Mở thư mục chứa Magento 2.4 đã tạo trước đó, trên thanh địa chỉ gõ cmd hoặc đường dẫn của Command Prompt.
Cửa sổ Command Prompt sẽ hiện ra, chúng ta nhập lệnh:
Lưu ý:
- db-name là tên của database đã tạo ở bước 9, thông tin admin account các bạn có thể đặt tùy ý.
- Nếu bạn tạo virtual host thì hãy thay base-url bằng ServerName. Ví dụ: -base-url=”http://magetop.magento.com/”
- Trong quá trình cài đặt luôn bật elasticsearch.bat như bước 4.
Chờ cho quá trình cài đặt hoàn tất.
Sau đó, các bạn chạy các lệnh:
Nếu đã tạo virtual host:
Với những bạn đã tạo virtual host ở bước 8 thì tới đây bạn đã có thể truy cập trang cửa hàng bằng ServerName và ServerName/admin để vào trang admin.
Nếu không tạo virtual host:
Trường hợp bạn cài Magento 2.4.1 thì hãy truy cập trang cửa hàng: localhost/magento241 và đường dẫn để vào Admin Panel: localhost/magento241/admin.
Từ phiên bản 2.4.2 trở đi, bạn sẽ bị lỗi 404 khi truy cập đường dẫn như trên.
Xử lý lỗi 404 Not Found (áp dụng với Magento 2.4.2 trở lên)
Lưu ý: Bắt đầu từ phiên bản Magento 2.4.2, Magento đã có sự thay đổi về việc di chuyển Document Root đến thư mục pub để cải thiện bảo mật và hiệu suất của trang web. Do đó để truy cập vào cửa hàng bạn cần thêm pub vào url như sau localhost/magento241/pub, admin là localhost/magento241/pub/admin.
Tuy nhiên, việc này khá là bất tiện vì vào trang nào bạn cũng cần thêm pub. Nếu bạn đã tạo virtual host thì sẽ không bị vấn đề này. Còn không thì bạn sẽ fix như sau:
Mở file .htaccess tại folder gốc của Magento và thay toàn bộ nội dung thành:
Sau đó lưu lại, bạn sẽ có thể truy cập bình thường không cần thêm pub trong url.
Xử lý lỗi Failed to send the message
Nếu bạn gặp lỗi: “Failed to send the message. Please contact the administrator”.
Các bạn cần tắt module Two-Factor Authorization bằng lệnh:
Như vậy là chúng ta đã cài đặt thành công Magento 2.4 trên localhost. Đây là kết quả:
Nếu bạn thấy trang quản trị của mình không hiển thị thông tin, chỉ có màu xám thì bạn tham khảo: Hướng dẫn Fix lỗi trang Admin Magento 2 không hiển thị.
Hãy để lại bình luận nếu bạn có bất kì thắc mắc nào và đợi admin approve. Cảm ơn các bạn đã đọc bài viết.