Chuyển tới nội dung
Trang chủ » Hướng dẫn cài đặt Magento 2.4 trên Ubuntu

Hướng dẫn cài đặt Magento 2.4 trên Ubuntu

Magento là một ứng dụng mã nguồn mở để xây dựng các website thương mại điện tử, sử dụng ngôn ngữ PHP và mô hình MVC làm nền tảng. Nếu bạn là một người mới bắt đầu với magento thì bài viết này sẽ hướng dẫn cho bạn cách cài đặt magento 2.4 một cách chi tiết nhất.

Trong bài viết này, tôi sẽ hướng dẫn các bạn cài đặt Magento 2.4 với Nginx, PHP và Mysql. Để cài đặt magento các bạn thực hiện lần lượt theo các bước sau:

Bước 1: Những yêu cầu cần thiết khi cài đặt Magento 2.4

  • PHP 7.4 (bạn cũng có thể cài đặt trên magento 7.3 nhưng không được khuyến nghị)
  • Mysql 8.0 hoặc MariaDB 10.4
  • Apache 2.4 hoặc Nginx 1.x
  • Elasticsearch: Magento 2.4 không còn sử dụng Mysql để thực hiện việc tìm kiếm nữa. Thay vào đó magento sử dụng Elasticsearch và hỗ trợ Elasticsearch 7.6.x

Bước 2: Cài đặt Apache hoặc Nginx Server

Để cài đặt Apache 2 hoặc Nginx các bạn chạy câu lệnh như bên dưới, chỉ cài đặt một trong hai nhé:

  • sudo apt install apache2
  • sudo apt install nginx

Cấp quyền cho Nginx, thay www-data bằng user trên máy của bạn.

sudo nano /etc/nginx/nginx.conf
 
user www-data;

Sau khi đã cài đặt xong webserver thì các câu lệnh bên dưới lần lượt để stop, start, restart, enable và xem status của webserver. Đối với Nginx thì bạn chỉ cần thay apache2 thành nginx là xong nhé.

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl restart apache2.service
sudo systemctl enable apache2.service
sudo systemctl status apache2.service

Để kiểm tra xem webserver đã cài đặt thành công chưa. Bạn có thể mở trình duyệt và truy cập vào http://localhost hoặc địa chỉ IP và bạn sẽ thấy trang mặc định của webserver như bên dưới.

Cài đặt Magento 2.4
Cài đặt Magento 2.4

Bước 3: Cài đặt cơ sở dữ liệu Mysql

Mysql là một hệ quản trị cơ sở dữ liệu phổ biến nhất hiện nay và được các nhà phát triển ưa chuộng. Mysql có tốc độ cao và hoạt động được trên nhiều hệ điều hành khác nhau. Bạn có thể cài đặt MariaDB thay thế cho Mysql. Để cài đặt Mysql các bạn chạy câu lệnh bên dưới:

sudo apt install mysql-server mysql-client

Sau khi cài đặt thành công các câu lệnh bên dưới lần lượt dùng để stop, start, restart, enable, status cho Mysql:

sudo systemctl stop mysql.service
sudo systemctl start mysql.service
sudo systemctl restart mysql.service
sudo systemctl enable mysql.service
sudo systemctl status mysql.service

Sau đó chạy câu lệnh bên dưới để giúp bảo mật Mysql server của bạn bằng cách tạo một mật khẩu root và không cho phép truy cập từ xa:

sudo mysql_secure_installation

Khi được hỏi, hãy trả lời theo hướng dẫn sau:

  • Enter current password for root (enter for none): Nhập mật khẩu hiện tại của bạn (enter nếu không có)
  • Set root password? [Y/n]: Thiết lập mật khẩu cho Mysql (Y)
  • New password: Nhập mật khẩu bạn muốn đặt
  • Re-enter new password: Nhập lại mật khẩu
  • Remove anonymous users? [Y/n]: Xóa người dùng ẩn danh (Y)
  • Disallow root login remotely? [Y/n]: Không cho phép đăng nhập từ xa (Y)
  • Remove test database and access to it? [Y/n]:  Xóa database thử nghiệm (Y)
  • Reload privilege tables now? [Y/n]:  Tải lại bảng đặc quyền (Y)

Sau đó restart Mysql. Để test xem đã cài đặt thành công hay chưa, bạn chạy câu lệnh sau:

sudo mysql -u root -p

Sau khi điền mật khẩu như đã tạo ở trên, nếu thành công sẽ hiển thị Mysql welcome như bên dưới:

Cài đặt Magento 2.4
Cài đặt Magento 2.4

Bước 4: Cài đặt PHP 7.4

Chạy câu lệnh bên dưới cài đặt repository bên thứ ba để cài đặt PHP:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Tiếp theo, chạy câu lệnh bên dưới để cài đặt PHP 7.4 và các extension:

sudo apt install php7.4 libapache2-mod-php7.4 php7.4-common php7.4-gmp php7.4-curl php7.4-soap php7.4-bcmath php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd php7.4-xml php7.4-cli php7.4-zip

Đối với Nginx các bạn cài đặt thêm PHP 7.4 FPM nhé

sudo apt install php7.4-fpm

Cấp quyền cho PHP, thay www-data bằng user trên máy của bạn.

sudo nano /etc/php/7.4/fpm/pool.d/www.conf
 
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data

Bước 5: Tạo database

Qua bốn bước trên chúng ta đã cùng nhau cài đặt các gói cần thiết mà Magento yêu cầu. Tiếp tục chúng ta sẽ tiến hành cấu hình server. Đầu tiên chạy câu lệnh bên dưới để tạo một database trống dùng cho project của bạn:

sudo mysql -u root -p

Sau đó tạo một database, ở đây mình đặt là magento2.

CREATE DATABASE magento2;

Tạo một user có tên là magentoUser với password là 123456.

CREATE USER 'magentoUser'@'localhost' IDENTIFIED BY '123456';

Trong một vài trường hợp các bạn sẽ không tạo được user do các bạn đã cài plugin validate password, để khắc phục điều này các bạn cần xóa plugin đó đi với câu lệnh:

uninstall plugin validate_password;

Sau đó cấp quyền truy cập vào database cho user magentoUser.

GRANT ALL ON magento2.* TO 'magentoUser'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

Cuối cùng lưu lại tất cả thay đổi và thoát.

FLUSH PRIVILEGES;
EXIT;

Bước 6: Cài đặt Elasticsearch

Elaticsearch là một nền tảng để tìm kiếm và phân tích dữ liệu trong thời gian thực. Từ phiên bản 2.4 Magento sử dụng Elaticsearch để tìm kiếm thay vì sử dụng Mysql. Để cài đặt Elasticsearch các bạn chạy câu lệnh sau:

Để Elasticsearch có thể hoạt động các bạn cần cài đặt OpenJDK.

sudo apt install openjdk-11-jdk -y

Elaticsearch không có sẵn trong kho lưu trữ của Ubuntu. Để có thể cài đặt các bạn sẽ cần thêm Sourcelist Để bắt đầu, hãy sử dụng cURL để nhập khóa GPG công khai của Elaticsearch.

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Tiếp theo, thêm nguồn Elaticsearch vào thư mục sources.list.d, nơi apt sẽ tìm kiếm các nguồn mới:

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

Sau đó tiến hành cập nhật các gói để apt đọc Elastic source và tiến hành cài đặt Elaticsearch bằng lệnh sau:

sudo apt update
sudo apt install elasticsearch -y

Tiếp theo chúng ta sẽ cấu hình elasticsearch bằng cách sửa file elasticsearch.yml

sudo nano /etc/elasticsearch/elasticsearch.yml

Sau đó tìm dòng network.host bỏ ghi chú và thay đổi thành localhost như bên dưới

Cài đặt Magento 2.4
Cài đặt Magento 2.4

Các câu lệnh bên dưới lần lượt để start, xem status, enable Elasticsearch.

sudo systemctl start elasticsearch
sudo systemctl status elasticsearch
sudo systemctl enable elasticsearch

Sau đó, để test Elasticsearch chúng ta sử dụng câu lệnh

curl -X GET 'http://example.com:9200'
Cài đặt Magento 2.4
Cài đặt Magento 2.4

Bước 7: Download và cài đặt Magento 2.4

Để tải Magento phiên bản mới nhất, bạn có thể sử dụng github repository…Hãy cài đặt Composer, Curl, Git để bắt đầu. Hoặc download trực tiếp tại trang chủ Magento.

sudo apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Sau đó tiến hành download magento đặt trong thư mục var/www/html với câu lệnh:

cd /var/www/html
sudo composer create-project --repository=https://repo.magento.com/ magento/project-community-edition magento2

Nếu được nhắc, hãy nhập authenticate keys của bạn. Để lấy key xác thực bạn có thể vào đây. Public key là username và private key là password của bạn.

Cài đặt Magento 2.4
Lấy public key và private key để download Magento 2.4

Tiếp theo chạy câu lệnh bên dưới để tiến hành cài đặt Magento 2.4:

cd /var/www/html/magento2

php bin/magento setup:install --base-url=http://example.com/ 
--db-host=localhost --db-name=magento2 --db-user=magentoUser --db-password=123456 
--admin-firstname=Admin --admin-lastname=Admin --admin-email=user@example.com 
--admin-user=admin --admin-password=admin123 --language=en_US 
--currency=USD --timezone=America/Chicago --use-rewrites=1 
--search-engine=elasticsearch7 --elasticsearch-host=localhost 
--elasticsearch-port=9200
  • Magento được cài đặt trong thư mục root project của bạn, ở đây là /var/www/html/magento2
  • –base-url: Tên miền của trang web của bạn, chúng ta sẽ thêm sau.
  • –db-host: Máy chủ cơ sở dữ liệu.
  • –db-name: Tên cơ sở dữ liệu mà bạn đã tạo ở trên.
  • –db-user: Tên user của cơ sở dữ liệu.
  • –db-password: Mật khẩu tương ứng với user ở trên.
  • –admin-user: Username dùng để đăng nhập vào backend của project.
  • –admin-password: Mật khẩu để đăng nhập vào phần backend của project.
  • Elasticsearch được cài đặt trên example.com và kết nối trên cổng 9200

Sau đó, chạy câu lệnh bên dưới để cấp quyền cần thiết cho magento hoạt động. Thay www-data thành user trên máy của bạn.

sudo chown -R www-data:www-data /var/www/html/magento2/
sudo chmod -R 777 /var/www/html/magento2/

Tiếp theo, các bạn tạo một tên miền example.com chạy trên IP 127.0.0.1

sudo nano /etc/hosts
Thêm tên miền trong file hosts
Thêm tên miền trong file hosts

Bước 8: Cấu hình Nginx/Apache 2 và hoàn tất quá trình cài đặt Magento 2.4

1. Đối với Apache 2

sudo nano /etc/apache2/sites-available/example.conf
 
<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/magento2/
     ServerName example.com
     ServerAlias www.example.com
 
     <Directory /var/www/html/magento2/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
 
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Sau đó lưu lại và exit, kích hoạt virtual host đã tạo ở trên với câu lệnh:

sudo a2ensite magento2.conf
sudo a2enmod rewrite

2. Đối với Nginx

sudo nano /etc/nginx/sites-enabled/example.com
 
upstream fastcgi_backend {
  server   unix:/run/php/php7.4-fpm.sock;
}
 
server {
    server_name example.com;
    listen 80;
    set $MAGE_ROOT /var/www/html/magento2;
    set $MAGE_MODE developer;
    # or production access_log /var/log/nginx/myMagentoSite.com-access.log;
    error_log /var/log/nginx/example.com-error.log;
    include /var/www/html/magento2/nginx.conf.sample;
}

Cuối cùng restart server của bạn và mở trình duyệt sau đó truy cập http://example.com:

Cài đặt Magento 2.4
Cài đặt Magento 2.4

Vừa rồi chúng ta đã cài đặt Magento 2.4 thành công với Nginx, PHP 7.4 và Mysql trên Ubuntu. Nếu bạn có thắc mắc hoặc bất kỳ lỗi nào liên quan vui lòng để lại bình luận bên dưới nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai.