Đây là tutorial cài đặt Magento Community Edition (Magento Open Source) ver 2.2 với Nginx trên hệ điều hành Ubuntu 16.04.
Tùy theo mục đích sử dụng mà có các cách start khác nhau để setup Magento. Mục tiêu của mình khi làm việc với Magento là dev custom module & theme nên hướng cài đặt sẽ là Integrator
.
Prerequisites
- Authentication keys
- PHP 7.1 modules
- MySql
- Composer
Get the Magento Open Source metapackage
Chuyển tới thư mục bạn muốn cài đặt Magento (giả định của bài viết này là /projects
) và run command:
1 | composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento2 |
Nhập authention keys của bạn.
- Username: public key
- Password: private key
Composer sẽ tiến hành tạo project magento2
và downloads các dependencies. Bây giờ project của chúng ta sẽ có đường dẫn là /projects/magento2
.
Add user to www-data group
Ta sẽ tiến hành setup để web server
và file system owner
(ở local là chính là user hiện tại mà bạn đang login) đều có quyền write files & create directories (để Magento có thể compile code, write cache,…).
Note: ở đây ta sẽ dùng $(whoami)
thay cho username phòng trường hợp bạn không biết username hiện tại của mình.
- Add user
$(whoami)
vào groupwww-data
. Sau khi thực hiện thao tác này, bạn nên re-login hoặc restart máy để environment nhận được cập nhật.
1 | sudo usermod -a -G www-data $(whoami) |
- Kiểm tra:
1 | groups $(whoami) |
Nếu kết quả hiển thị có www-data
trong list groups là ok.
1 | $(whoami): foo www-data bar |
Set ownership and permissions for the shared group
Run các commands sau tại root của project (/projects/magento2
):
1 | find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; |
Add magento path (Optional)
Bạn nên add magento bin
vào path để thao tác với Magento được thuận tiện hơn. Add thêm dòng sau vào file: ~/.profile
và re-login
1 | export PATH=$PATH:/projects/magento2/bin |
Từ bây giờ bạn có thể sử dụng binary magento
trực tiếp thay vì /projects/magento2/bin/magento
. Kiểm tra:
1 | source ~/.profile # nếu bạn chưa re-login |
Nginx configuration
Tạo file conf của nginx:
1 | sudo nano /etc/nginx/sites-enabled/magento.conf |
với nội dung như sau:
1 | upstream fastcgi_backend { |
Sau khi hoàn thành, tiến hành restart Nginx: (hoặc reload)
1 | sudo service nginx restart |
Edit hosts file
Sửa file hosts trỏ mage.local
vào localhost
1 | sudo nano /etc/hosts |
Thêm mage.local
vào phía sau dải localhost
1 | 127.0.0.1 localhost foo.local mage.local |
Create database
Tiến hành tạo database với name là magento2
(bạn có thể grant thêm quyền nếu muốn, vì ở môi trường dev nên mình thường dùng luôn tài khoản root
).
1 | mysql -u root -p |
1 | create database magento2; |
Install
Tới đây bạn có thể tiến hành cài đặt Magento theo 2 cách:
Setup Wizard
Mở trình duyệt và access vào url mage.local
và tiến hành cài dặt.
Đây là cách mà mình khyến nghị, bởi vì:
- Dùng UI các thông số rõ ràng, giao diện trực quan.
- Khi setup với command line, đường dẫn tới admin luôn kèm theo đoạn token phía sau, vd:
mage.local/admin_foobar
(có thể sửa lại sau này). Với UI có thể handle được admin access url (bạn có thể truy cập vào admin với đường dẫn đẹp:mage.local/admin
)
Command line
Nếu vẫn muốn sử dụng command line thì command bạn cần chạy có dạng như sau:
1 | magento setup:install --base-url=http://mage.local --db-host=localhost --db-name=magento --db-user=root --db-password=mypassword --admin-firstname=Admin --admin-lastname=Super [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1 |
Tham khảo thêm các options: http://devdocs.magento.com/guides/v2.2/install-gde/install/cli/install-cli-install.html
Enable developer mode
Khi dev ở local, bạn cần chuyển qua developer mode. Các lợi ích mà nó đem lại bạn có thể xem ở đây: http://devdocs.magento.com/guides/v2.2/config-guide/bootstrap/magento-modes.html
1 | magento deploy:mode:show |
Install sample data
Nếu là lần đầu làm quen với Magento, bạn có thể install sample data và đi dạo vòng quanh để hiểu thêm về hệ thống.
1 | magento sampledata:deploy |
Done! Quá trình cài đặt của bạn đã hoàn tất. Việc của bạn bây giờ là nuốt hành với Magento. Good luck!