1. Những lưu ý trước khi cài đặt
Đây là những thay đổi của Magento 2.4.2 so với các phiên bản trước. Chúng ta cần biết những điều này trước khi cài đặt.
- Magento 2.4.2 đã chuyển index.php vào thư mục /pub/ vì mục đích bảo mật.
- Hỗ trợ Elasticsearch 7.9.x.
- Tương thích với Varnish 6.4.
- Hỗ trợ Redix 6.x.
- Tương thích với Composer 2.x.
2. Cài đặt và cấu hình Apache
Bạn có thể tham khảo bài viết Hướng dẫn cài đặt Apache trên Ubuntu 20.04 để có thể cài đặt Apache 2.
3. Cài đặt MySQL
Cài đặt MySQL bằng lệnh apt:
sudo apt install mysql-server
Kết quả:
mysqld is running as pid 2049
Khi được nhắc, hãy nhập Y để xác nhận cài đặt rồi nhấn ENTER.
Khi quá trình cài đặt hoàn tất, hãy chạy lệnh sau để bảo mật MySQL của bạn. Lệnh này sẽ loại bỏ một số cài đặt mặc định không an toàn và chặn quyền truy cập vào hệ thống cơ sở dữ liệu của bạn.
sudo mysql_secure_installation
Khi được nhắc, hãy nhấn Y để thiết lập mật khẩu xác thực.
Tiếp theo, chọn cấp độ xác thực mật khẩu. Nhập mật khẩu root của bạn. Máy chủ sẽ hiển thị độ mạnh mật khẩu cho mật khẩu root bạn vừa nhập và máy chủ sẽ hỏi bạn có muốn tiếp tục với mật khẩu đó hay không. Nếu bạn chấp nhận, hãy nhấn Y.
Đối với các câu hỏi còn lại, nhấn Y và nhấn phím ENTER tại mỗi lời nhắc.
Khi hoàn tất, hãy kiểm tra đăng nhập vào MySQL với người dùng root bằng lệnh:
sudo mysql
Kết quả:
@ubuntu:~$ sudo mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.26-0ubuntu0.20.04.2 (Ubuntu)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
Sau đó, thoát khỏi bảng điều khiển MySQL bằng lệnh:
exit
Nếu bạn muốn quản lý cơ sở dữ liệu của mình, bạn có thể cài đặt phpmyadmin để dễ dàng quản lý.
Cấu hình quyền truy cập và mật khẩu cho tài khoản root:
Đăng nhập với người dùng root và thực hiện câu lệnh:
sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘your_secure_password’;
Lưu ý: Thay thế ‘your_secure_password‘ bằng mật khẩu của bạn.
Exit để hoàn tất cấu hình.
Tạo người dùng MySQL mới cho Magento 2
Đăng nhập với người dùng root.
mysql -u root -p
SELECT user,authentication_string,plugin,host FROM mysql.user;
CREATE USER ‘magento2’@’localhost’ IDENTIFIED BY ‘your_secure_password’;
ALTER USER ‘magento2’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘your_secure_password’;
Lưu ý: Thay thế ‘your_secure_password‘ bằng mật khẩu của bạn.
Cấp tất cả các đặc quyền cho người dùng magento2.
GRANT ALL PRIVILEGES ON *.* TO ‘magento2’@’localhost’ WITH GRANT OPTION;
SELECT user,authentication_string,plugin,host FROM mysql.user;
exit
Tạo cơ sở dữ liệu Magento 2
mysql -u magento2 -p
CREATE DATABASE magento2;
exit
4. Cài đặt PHP 7.4
Cập nhật kho lưu trữ APT của bạn.
sudo apt update
Cài đặt PHP 7.4 và các gói bằng lệnh:
sudo apt install php7.4 libapache2-mod-php php-mysql
Tiếp theo, xác minh phiên bản PHP của bạn:
php -v
Kết quả:
PHP 7.4.3 (cli) (built: Jul 5 2021 15:13:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Chỉnh sửa tệp /etc/apache2/mods-enabled/dir.conf
sudo nano /etc/apache2/mods-enabled/dir.conf
Sửa đổi thứ tự tệp index.php lên đầu được liệt kê trong DirectoryIndex.
Trước khi sửa:
Sau khi sửa:
Cài đặt và kích hoạt tiện ích mở rộng mbstring.
sudo apt install php7.4-mbstring
sudo phpenmod mbstring
Bật mô-đun ghi lại Apache.
sudo a2enmod rewrite
Kết quả:
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2
Cài đặt các mô-đun PHP cho Magento 2.4.2
sudo apt install php7.4-bcmath php7.4-intl php7.4-soap php7.4-zip php7.4-gd php7.4-json php7.4-curl php7.4-cli php7.4-xml php7.4-xmlrpc php7.4-gmp php7.4-common
Tải lại Apache để các thay đổi có hiệu lực.
sudo systemctl reload apache2
5. Cài đặt Elasticsearch
Cài đặt OpenJDK 11.
sudo apt install openjdk-11-jdk
Xác minh phiên bản java bằng lệnh dưới đây:
java -version
Kết quả:
openjdk version “11.0.11” 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
Cài đặt Elasticsearch.
sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –
sudo echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt-get install elasticsearch=7.9.3
Cấu hình Elasticsearch
sudo a2enmod proxy && sudo a2enmod proxy_http && sudo service apache2 restart
Kết quả:
Enabling module proxy.
To activate the new configuration, you need to run:
systemctl restart apache2
Considering dependency proxy for proxy_http:
Module proxy already enabled
Enabling module proxy_http.
To activate the new configuration, you need to run:
systemctl restart apache2
Tạo tệp máy chủ ảo mới cho proxy Elasticsearch.
sudo nano /etc/apache2/ports.conf
Thêm Listen 8080 vào tệp máy chủ ảo. Sau khi sửa đổi sẽ như thế này:
Tạo file: your-domain-elasticsearch.conf
sudo nano /etc/apache2/sites-available/your-domain-elasticsearch.conf
Thêm đoạn code dưới đây vào file:
<VirtualHost *:8080>
ProxyPass “/” “http://localhost:9200/”
ProxyPassReverse “/” “http://localhost:9200/”
</VirtualHost>
Bây giờ, cổng Elasticsearch là 8080. Hãy ghi nhớ điều này, chúng tôi sẽ sử dụng nó trong câu lệnh cài đặt Magento 2.4.2.
sudo a2ensite your-domain-elasticsearch
Enabling site your-domain-elasticsearch.
To activate the new configuration, you need to run:
systemctl reload apache2
sudo service apache2 restart
Khởi động và kích hoạt Elasticsearch.
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Synchronizing state of elasticsearch.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable elasticsearch
Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /lib/systemd/system/elasticsearch.service.
Xác minh proxy Elasticsearch với cổng 8080 bằng lệnh:
sudo curl -i http://localhost:8080/_cluster/health
HTTP/1.1 200 OK
Date: Tue, 31 Aug 2021 13:52:29 GMT
Server: Apache/2.4.41 (Ubuntu)
content-type: application/json; charset=UTF-8
content-length: 389
{“cluster_name”:”elasticsearch”,”status”:”green”,”timed_out”:false,”number_of_nodes”:1,”number_of_data_nodes”:1,”active_primary_shards”:0,”active_shards”:0,”relocating_shards”:0,”initializing_shards”:0,”unassigned_shards”:0,”delayed_unassigned_shards”:0,”number_of_pending_tasks”:0,”number_of_in_flight_fetch”:0,”task_max_waiting_in_queue_millis”:0,”active_shards_percent_as_number”:100.0}
6. Cài đặt Composer 2
Di chuyển trở lại thư mục root.
cd ~
Tải xuống và cài đặt composer.
sudo curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php –install-dir=/usr/bin –filename=composer
All settings correct for using Composer
Downloading…
Composer (version 2.1.6) successfully installed to: /usr/bin/composer
Use it: php /usr/bin/composer
Kiểm tra Composer 2 đã được cài đặt trong Ubuntu chưa?
composer
7. Tải Magento 2.4.2
Trước khi tải và tiến hành cài đặt magento 2.4.2, bạn phải đăng ký tài khoản trên trang chủ https://marketplace.magento.com/
Truy cập My Profile -> Maketplace -> Access key
Public Key sẽ là Username trong quá trình cài đặt magento2 trên Ubuntu.
Private Key sẽ là Password.
Bây giờ, chúng ta sẽ tiếp tục cài đặt magento2 trên Ubuntu.
Chuyển đến thư mục html bằng lệnh:
cd /var/www/html
Tạo dự án Composer mới bằng cách sử dụng gói Magento Open Source hoặc Magento Commerce.
Tải Magento một trong các Option sau:
- Tải Magento Open Source
sudo composer create-project –repository-url=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Ví dụ:
sudo composer create-project –repository-url=https://repo.magento.com/ magento/project-community-edition magento2
Quá trình cài đặt sẽ diễn ra như sau:
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Creating a “magento/project-community-edition” project at “./magento2”
Warning from repo.magento.com: You haven’t provided your Magento authentication keys. For instructions, visit https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
Authentication required (repo.magento.com):
Username: 37a99ae50c5046d6f5830c0894eb8d65
Password:
Do you want to store credentials for repo.magento.com in /root/.config/composer/auth.json ? [Yn]
- Tải Magento 2 với phiên bản được chỉ định
sudo composer create-project –repository-url=https://repo.magento.com/ magento/project-community-edition=<magento-version> <install-directory-name>
Ví dụ:
sudo composer create-project –repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.2-p1 magento2
- Tải Magento Commerce
sudo composer create-project –repository-url=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
Cấp quyền:
cd /var/www/html/<magento install directory>
sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
sudo chown -R :www-data .
sudo chmod u+x bin/magento
8. Cài đặt Magento 2.4.2
Đi tới thư mục cài đặt Magento 2.
cd /var/www/html/<magento install directory>
Tiến hành cài đặt:
sudo php bin/magento setup:install –base-url=<your-domain> –db-host=localhost –db-name=magento2 –db-user=magento2 –db-password=<your-db-password-of-magento2-user> –admin-firstname=Admin –admin-lastname=Admin –admin-email=admin@admin.com –admin-user=admin –admin-password=<your-admin-password> –language=en_US –currency=USD –timezone=America/Chicago –use-rewrites=1 –search-engine=elasticsearch7 –elasticsearch-host=localhost –elasticsearch-port=8080
Lưu ý: your-domain, your-db-password-of-magento2-user, your-admin-password
Ví dụ:
sudo php bin/magento setup:install –base-url=http://192.168.182.128 –db-host=localhost –db-name=magento2 –db-user=magento2 –db-password=M@g3nT0_2 –admin-firstname=Admin –admin-lastname=Admin –admin-email=admin@admin.com –admin-user=admin –admin-password=0neIT.c0m.VN –language=en_US –currency=USD –timezone=Asia/Ho_Chi_Minh –use-rewrites=1 –search-engine=elasticsearch7 –elasticsearch-host=localhost –elasticsearch-port=8080
Cài đặt thành công:
9. Thay đổi DocumentRoot đến Pub
Chỉnh sửa tệp máy chủ ảo của bạn
sudo nano /etc/apache2/sites-available/000-default.conf
Thêm đường dẫn đến thư mục của Magento “/pub” vào chỉ thị DocumentRoot:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory “/var/www/html”>
AllowOverride all
</Directory>
</VirtualHost>
Khởi động lại Apache để các thay đổi có hiệu lực:
sudo systemctl restart apache2
Cập nhật URL cơ sở của bạn
Đăng nhập với người dùng magento2.
mysql -u magento2 -p
Chỉ định cơ sở dữ liệu Magento bạn đã tạo khi cài đặt Magento:
use magento2
Cập nhật URL cơ sở:
Cho IP:
UPDATE core_config_data SET value=’http://<your-ip>’ WHERE path=’web/unsecure/base_url’;
Cho hotname:
UPDATE core_config_data SET value=’http://<your-server-hostname>’ WHERE path=’web/unsecure/base_url’;
Cập nhật file env.php
Chuyển đến file env.php
sudo nano /var/www/html/magento2/app/etc/env.php
Kiểm tra đoạn code sau và chỉnh sửa thành “admin“. Điều này rất quan trọng để có thể truy cập vào web quản trị.
Chuyển đổi chế độ
Đi tới thư mục cài đặt Magento 2
cd /var/www/html/magento2
Chuyển sang chế độ production.
sudo php bin/magento deploy:mode:set production
sudo php bin/magento cache:flush
Làm mới trình duyệt của bạn và xác minh rằng cửa hàng đã hiển thị chính xác.
10. Cấp quyền cho các thư mục
sudo chmod -R 777 var
sudo chmod -R 777 pub/static
sudo chmod -R 777 generated
sudo chmod -R 777 generated/
11. Xem kết quả
Đừng quên chạy các lệnh sau:
sudo php bin/magento s:up
sudo php bin/magento s:s:d -f
sudo php bin/magento c:f
Khi trường hợp này xảy ra trong quá trình đăng nhập trang quản trị. Bạn có thể tắt mô-dun “Xác thực 2 yếu tố” bằng lệnh sau:
cd /var/www/html/magento2
sudo composer update
sudo php bin/magento setup:upgrade
sudo php bin/magento module:disable Magento_TwoFactorAuth
Trước:
Sau:
Như vậy là chúng ta đã cài đặt thành công Magento 2.4.2 trên Ubuntu. Đây là kết quả:
Trang admin: http://your-domain/admin
Trang bán hàng dành cho customers:
Đây là phần cuối của Hướng Dẫn Cài Đặt Magento 2.4.2 trên Ubuntu.
Theo dõi https://oneit.com.vn/ để có nhiều bài viết hữu ích hơn!
Chúng tôi hy vọng đây là một bài viết hữu ích cho bạn. Cảm ơn bạn đã đọc!