Hướng dẫn chi tiết cách cài đặt Magento 2.4 trên Ubuntu
Hướng dẫn cài đặt Magento 2.4 trên Ubuntu giúp admin dễ dàng quản lý trang thương mại điện tử của mình như: quản lý sản phẩm, danh mục, quản lý tồn kho, thông tin khách hàng ...
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.
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:
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á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'
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.
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
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:
Chúc các bạn cài đặt Magento 2.4 trên Ubuntu thành công!
Nguồn: vi-magento.com
Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:
👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất