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

Chào bạn, mình đã sửa lại TOÀN BỘ bài viết dưới đây.

Mình đã đổi style của tất cả các đoạn code sang giao diện Light (Chữ đen – Nền xám nhạt). Đảm bảo 100% hiển thị rõ ràng, không bao giờ bị lỗi mờ chữ trắng nữa.

Bạn có thể copy toàn bộ nội dung bên dưới để đăng lại nhé:

Hướng dẫn Cài đặt Magento 2 trên Ubuntu: Tối ưu Hiệu năng cùng VPSRE

Triển khai Magento 2 trên môi trường Ubuntu không đơn thuần là việc giải nén source code. Đó là quá trình thiết lập một Stack công nghệ đồng bộ để đảm bảo hiệu năng và khả năng mở rộng (Scalability) cho hệ thống Thương mại điện tử.

Trong bài viết này, đội ngũ kỹ thuật của VPSRE sẽ hướng dẫn các bạn từng bước để xây dựng nền tảng Magento 2 trên Ubuntu một cách chuẩn xác nhất.

1. Magento là gì?

Magento là nền tảng thương mại điện tử mã nguồn mở hàng đầu thế giới, được thiết kế chuyên biệt cho các doanh nghiệp kinh doanh trực tuyến quy mô từ vừa đến lớn. Điểm mạnh của Magento nằm ở khả năng tùy biến vô hạn, hệ thống quản lý sản phẩm mạnh mẽ và khả năng SEO vượt trội.

Để vận hành một website Magento mượt mà, việc tích hợp các công nghệ bên thứ ba (như Elasticsearch, Redis, Varnish) là điều cần thiết. Và Ubuntu chính là môi trường lý tưởng để vận hành hệ sinh thái này.


2. Quy trình Cài đặt Magento 2 trên Ubuntu

Magento Installation

📌 Yêu cầu hệ thống (Prerequisites)

Trước khi bắt đầu, hãy đảm bảo VPS hoặc Server của bạn đáp ứng các tiêu chuẩn sau:

  • Hạ tầng: VPS hoặc Cloud Server từ VPSRE với tối thiểu 4GB RAM (Magento 2 ngốn khá nhiều RAM, 2GB có thể gây lỗi Out of Memory khi chạy lệnh compile).
  • OS: Ubuntu 20.04 hoặc 22.04.
  • PHP: Phiên bản PHP 8.1 hoặc 8.2 (Tương thích tốt nhất với Magento 2.4.6).
  • Database: MySQL 8.0 hoặc MariaDB 10.6.
  • Công cụ khác: Composer 2.x, Elasticsearch 7.x hoặc 8.x.

🚀 Bước 1: Cập nhật hệ thống

Luôn bắt đầu bằng việc đảm bảo hệ thống của bạn đang ở trạng thái mới nhất:

apt update && sudo apt upgrade -y

🚀 Bước 2: Cài đặt Nginx Web Server

Magento hoạt động rất tốt với Nginx. Cài đặt và kích hoạt Nginx bằng các lệnh sau:

apt install nginx -y systemctl start nginx systemctl enable nginx

🚀 Bước 3: Cài đặt PHP và các Extension cần thiết

Magento yêu cầu khá nhiều module PHP để hoạt động. Hãy chạy lệnh sau để cài đặt đầy đủ:

apt-get install php php-dev php-fpm php-bcmath php-intl php-soap php-zip php-curl php-mbstring php-mysql php-gd php-xml -y

Kiểm tra phiên bản PHP đã cài đặt:

php -v

Kết quả trả về thường sẽ là PHP 8.1.x hoặc 8.2.x tùy theo repository của bạn.

🚀 Bước 4 & 5: Tối ưu cấu hình PHP (Quan trọng)

Đây là bước quyết định sự ổn định của quá trình cài đặt. Bạn cần chỉnh sửa file php.ini.

Tìm vị trí file cấu hình:

php --ini | grep "Loaded Configuration File"

Mở file để chỉnh sửa (Ví dụ đường dẫn là /etc/php/8.1/cli/php.ini):

nano /etc/php/8.1/cli/php.ini

Hãy tìm và thay đổi các thông số sau (Bắt buộc):

  • file_uploads = On
  • allow_url_fopen = On
  • short_open_tag = On
  • memory_limit = 512M (Khuyên dùng 2G hoặc 4G nếu server khỏe)
  • upload_max_filesize = 128M
  • max_execution_time = 3600
  • zlib.output_compression = On

Lưu lại (Ctrl+O, Enter) và thoát (Ctrl+X). Sau đó khởi động lại PHP-FPM và Nginx:

systemctl restart php8.1-fpm systemctl restart nginx

🚀 Bước 6 & 7: Cài đặt MySQL và Tạo Database

Cài đặt MySQL Server:

apt install mysql-server -y systemctl start mysql systemctl enable mysql

Đăng nhập vào MySQL và tạo Database cho Magento:

mysql -u root -p

Chạy các lệnh SQL sau (Thay thế MyPassword bằng mật khẩu bảo mật của bạn):

CREATE DATABASE magentodb; CREATE USER 'magentouser'@'localhost' IDENTIFIED BY 'MyPassword'; GRANT ALL ON magentodb.* TO 'magentouser'@'localhost'; FLUSH PRIVILEGES; EXIT;

🚀 Bước 8: Cài đặt Elasticsearch (Bắt buộc cho Magento 2.4+)

Magento 2.4 trở lên yêu cầu Elasticsearch để chạy danh mục sản phẩm.

# Import Key GPG wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Thêm Repository
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

Cài đặt
apt update && apt install elasticsearch -y

Khởi động
systemctl start elasticsearch systemctl enable elasticsearch

Cấu hình Elasticsearch:

Mở file config: nano /etc/elasticsearch/elasticsearch.yml

Thêm hoặc chỉnh sửa dòng sau để tắt bảo mật (chỉ dùng cho môi trường Dev hoặc nếu bạn quản lý firewall tốt):

xpack.security.enabled: false

Sau đó restart lại service: systemctl restart elasticsearch

🚀 Bước 9: Cài đặt Composer

Công cụ quản lý gói thư viện PHP không thể thiếu:

curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer chmod +x /usr/local/bin/composer

🚀 Bước 10: Tải xuống Source Code Magento 2

Di chuyển đến thư mục web và tải source code. Bạn sẽ cần nhập Public Key (Username) và Private Key (Password) lấy từ tài khoản Adobe Commerce (Magento Marketplace) của bạn.

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

🚀 Bước 11: Phân quyền thư mục (File Permissions)

Đây là nguyên nhân gây lỗi phổ biến nhất. Hãy phân quyền chính xác:

cd /var/www/magento2 find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + chown -R www-data:www-data /var/www/magento2 chmod u+x bin/magento

🚀 Bước 12: Chạy lệnh Cài đặt Magento

Thay thế các thông tin bên dưới (domain, database user/pass) cho phù hợp với bạn:

bin/magento setup:install

--base-url=http://your-domain.com/

--db-host=localhost

--db-name=magentodb

--db-user=magentouser

--db-password=MyPassword

--admin-firstname=Admin

--admin-lastname=User

[email protected]

--admin-user=admin

--admin-password=admin123

--language=en_US

--currency=USD

--timezone=Asia/Ho_Chi_Minh

--use-rewrites=1

--elasticsearch-host=localhost

--elasticsearch-port=9200

🚀 Bước 13: Cấu hình Virtual Host cho Nginx

Tạo file cấu hình mới:

nano /etc/nginx/conf.d/magento2.conf

Dán nội dung sau (lưu ý thay đổi domain và đường dẫn sock PHP nếu cần):

upstream fastcgi_backend { server unix:/run/php/php8.1-fpm.sock; }

server { listen 80; server_name your-domain.com www.your-domain.com; set $MAGE_ROOT /var/www/magento2; include /var/www/magento2/nginx.conf.sample; }

Cuối cùng, restart Nginx: systemctl restart nginx


3. Những lưu ý “sống còn” khi vận hành

Đến đây, bạn đã có thể truy cập website. Tuy nhiên, để hệ thống chạy ổn định, VPSRE lưu ý bạn các vấn đề sau:

  • Cấu hình Cron Job (Bắt buộc): Magento 2 sẽ không hoạt động đúng (không gửi mail, không reindex, không cập nhật giá) nếu thiếu Cron. Chạy lệnh:
    bin/magento cron:install
  • Chế độ vận hành (Deploy Mode):
    • Khi Dev/Code: Dùng developer mode.
    • Khi chạy thật (Go Live): Bắt buộc chuyển sang production mode để tối ưu tốc độ.
      bin/magento deploy:mode:set production
  • Bảo mật Elasticsearch: Trong bài viết chúng ta đã tắt bảo mật Elasticsearch để tiện cài đặt. Trên môi trường thực tế, bạn cần cấu hình Firewall (UFW) chặn port 9200 từ bên ngoài, chỉ cho phép Localhost kết nối.
  • Lỗi hiển thị/Cache: Bất cứ khi nào bạn thay đổi cấu hình mà website không cập nhật, câu thần chú là:
    bin/magento cache:flush

Chúc các bạn cài đặt thành công! Nếu cần hạ tầng Cloud Server mạnh mẽ, ổn định để chạy Magento, đừng quên ghé thăm VPSRE.

Kết nối ngay với chúng tôi:

Website: https://vpsre.net/

Hotline: 329 463 530

Facebook: Cộng đồng VPSRE

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *