IT Blog

Linux Magento

Hướng Dẫn Cài Đặt Magento 2.4.2 trên Ubuntu

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!

Leave a Reply

Your email address will not be published. Required fields are marked *