Magento 2 là một nền tảng thương mại điện tử mã nguồn mở mạnh mẽ, được sử dụng rộng rãi để xây dựng các website bán hàng chuyên nghiệp. Việc cài đặt Magento 2 trên Ubuntu không chỉ giúp tận dụng hiệu suất và sự ổn định của hệ điều hành mã nguồn mở này, mà còn mang lại khả năng tùy biến cao, phù hợp với nhiều quy mô doanh nghiệp. Trong bài viết này, mình sẽ hướng dẫn bạn từng bước cài đặt Magento 2 trên Ubuntu sử dụng Apache, MariaDB và PHP 7.x một cách chi tiết và dễ hiểu.
Những điểm chính
- Cài đặt Apache2, PHP và các tiện ích mở rộng: Nắm được cách triển khai đầy đủ máy chủ web Apache2 kết hợp với PHP 8.1 và các tiện ích mở rộng cần thiết để Magento 2 hoạt động ổn định.
- Cài đặt máy chủ cơ sở dữ liệu: Hiểu cách cài và cấu hình hệ quản trị cơ sở dữ liệu phù hợp để lưu trữ dữ liệu website thương mại điện tử.
- Tạo người dùng MySQL: Biết cách tạo người dùng riêng biệt trong MySQL nhằm tăng tính bảo mật và dễ quản lý cơ sở dữ liệu Magento.
- Cài đặt Composer: Làm quen với công cụ Composer – trình quản lý gói PHP không thể thiếu trong việc tải và cài đặt Magento 2.
- Tải xuống và cài đặt Magento 2: Có được hướng dẫn từng bước để tải xuống và triển khai Magento 2 từ kho chính thức, đảm bảo đúng phiên bản và cách cài đặt chuẩn.
- Lý do nên dùng Ubuntu/Debian: Hiểu được vì sao Ubuntu/Debian là lựa chọn lý tưởng để vận hành Magento 2 với hiệu suất tốt, dễ bảo trì và phổ biến cộng đồng hỗ trợ.
- Biết thêm Vietnix là nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng.
- Câu hỏi thường gặp: Giải đáp các thắc mắc phổ biến khi triển khai Magento 2 giúp bạn tự tin thực hiện hoặc xử lý sự cố.
Cài đặt Apache2 PHP và các tiện ích mở rộng
Để Magento 2 hoạt động ổn định trên Ubuntu, bước đầu tiên là cài đặt máy chủ web Apache2, PHP 8.1 cùng các tiện ích mở rộng cần thiết. Dưới đây là các thao tác chi tiết:
1. Cài đặt máy chủ Apache2
Apache là một máy chủ web mã nguồn mở phổ biến, chạy tốt trên nhiều hệ điều hành, trong đó có Ubuntu. Trước tiên, hãy cập nhật hệ thống và cài đặt Apache bằng lệnh:
sudo apt update
sudo apt install apache2
Sau đó, bạn kích hoạt Apache để tự động khởi động cùng hệ thống:
sudo systemctl enable apache2.service
2. Cấu hình máy chủ ảo Apache2
Tiếp theo, bạn tạo một file cấu hình mới tại /etc/apache2/sites-available/magento2.conf
:
sudo nano /etc/apache2/sites-available/magento2.conf
Bạn thêm nội dung sau, nhớ thay magento2.com
bằng tên miền thật hoặc một tên miền ảo dùng cục bộ:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName magento2.com
DocumentRoot /var/www/html/magento2/pub
</VirtualHost>
Đừng quên cập nhật file hosts
:
sudo nano /etc/hosts
Bạn thêm dòng:
127.0.0.1 magento2.com
Sau đó, bạn kích hoạt Virtual Host và bật chế độ ghi đè URL:
sudo a2ensite magento2.conf
sudo a2enmod rewrite
3. Cài đặt PHP 8.1 và các tiện ích mở rộng
Magento 2 yêu cầu nhiều extension PHP để hoạt động đầy đủ. Bạn chạy lệnh sau để cài đặt:
sudo apt install php8.1 libapache2-mod-php8.1 php8.1-common php8.1-gmp php8.1-curl php8.1-soap \
php8.1-bcmath php8.1-intl php8.1-mbstring php8.1-xmlrpc php8.1-mysql php8.1-gd php8.1-xml \
php8.1-cli php8.1-zip
4. Cập nhật tệp php.ini
Tiếp đến, bạn mở file php.ini
:
sudo nano /etc/php/8.1/apache2/php.ini
Bạn điều chỉnh các giá trị cấu hình như sau:
file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 512M
upload_max_filesize = 128M
max_execution_time = 3600
Cuối cùng, bạn khởi động lại Apache để áp dụng thay đổi:
sudo systemctl restart apache2.service
Cài đặt máy chủ cơ sở dữ liệu
Magento 2 ưu tiên sử dụng MariaDB thay vì MySQL mặc định do khả năng xử lý nhanh và hiệu suất cao hơn. Để cài đặt MariaDB Server và Client trên Ubuntu, bạn chỉ cần chạy lệnh sau:
sudo apt-get install mariadb-server mariadb-client
Sau khi cài đặt, bạn cần đảm bảo dịch vụ MariaDB luôn khởi động cùng hệ thống:
sudo systemctl restart mariadb.service
sudo systemctl enable mariadb.service
Tiếp theo, bạn cần thiết lập bảo mật cơ bản cho MariaDB bằng công cụ mysql_secure_installation
. Chạy lệnh:
sudo mysql_secure_installation
Làm theo hướng dẫn hiển thị và chọn các tùy chọn sau:
- Enter current password for root (enter for none): Nhấn Enter.
- Set root password? [Y/n]: Y.
- New password: Nhập mật khẩu mạnh.
- Re-enter new password: Nhập lại mật khẩu.
- Remove anonymous users? [Y/n]: Y.
- Disallow root login remotely? [Y/n]: Y.
- Remove the test database and access to it? [Y/n]: Y.
- Reload privilege tables now? [Y/n]: Y.
Hoàn thành bước này đồng nghĩa bạn đã sẵn sàng để tạo cơ sở dữ liệu và người dùng phục vụ cho việc cài đặt Magento ở bước tiếp theo.
Tạo người dùng MySQL (Bắt buộc)
Kể từ phiên bản Magento 2.3.x trở đi, quá trình cài đặt Magento yêu cầu sử dụng một tài khoản MySQL riêng biệt thay vì tài khoản mặc định như root
. Việc này giúp tăng tính bảo mật và kiểm soát tốt hơn trong quản lý hệ thống cơ sở dữ liệu. Bạn thực hiện theo các bước sau để tạo người dùng mới:
- Đăng nhập vào MariaDB bằng tài khoản root:
sudo mysql -u root -p
- Tạo một cơ sở dữ liệu mới cho Magento:
CREATE DATABASE magento2;
- Tạo người dùng mới, ví dụ với tên là
mageplaza
:
CREATE USER 'mageplaza'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD';
- Cấp toàn quyền cho người dùng
mageplaza
trên cơ sở dữ liệumagento2
:
GRANT ALL ON magento2.* TO 'mageplaza'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD' WITH GRANT OPTION;
- Làm mới các quyền và thoát khỏi MariaDB:
FLUSH PRIVILEGES;
EXIT;
Vậy là bạn đã hoàn tất việc tạo người dùng MySQL riêng cho Magento – bước bắt buộc để đảm bảo hệ thống hoạt động ổn định và bảo mật.
Cài đặt Composer
Composer là trình quản lý phụ thuộc PHP cần thiết để cài đặt và chạy Magento 2. Bạn có thể cài đặt Composer trực tiếp thông qua dòng lệnh bằng cách sử dụng lệnh sau:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Lệnh trên sẽ tải về trình cài đặt Composer và lưu nó tại đường dẫn /usr/local/bin/composer
, cho phép bạn sử dụng lệnh composer
ở bất cứ đâu trong hệ thống. Sau khi cài đặt xong, bạn hãy kiểm tra Composer đã được cài đặt thành công hay chưa bằng cách chạy:
composer -v
Nếu Composer hoạt động, bạn sẽ thấy đầu ra tương tự như sau:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.8.5 2019-04-09
Nếu bạn thấy đầu ra này, Composer đã được cài đặt thành công và bạn có thể tiếp tục cài đặt Magento 2.
Tải xuống Magento 2 Pack
Để cài đặt Magento 2 trên Ubuntu, bạn cần tải gói mã nguồn Magento từ các nguồn chính thức. Có hai cách để thực hiện:
- Tải trực tiếp:
Bạn có thể truy cập một trong các liên kết sau để tải thủ công phiên bản mới nhất:- GitHub Magento Releases: https://github.com/magento/magento2/releases
- Mageplaza Magento Downloads: https://www.mageplaza.com/download-magento/
- Tải bằng Composer:
Bạn mở terminal và chạy lệnh sau trong thư mục/var/www/html/
để tải Magento phiên bản 2.4.6:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.6 magento2
Sau khi tải xong, bạn sẽ có thư mục magento2
trong /var/www/html/
. Tiếp theo, hãy thiết lập quyền cho thư mục này để đảm bảo Magento hoạt động ổn định:
sudo chown -R www-data:www-data /var/www/html/magento2/
sudo chmod -R 755 /var/www/html/magento2/
Cài đặt Magento 2
Sau khi đã hoàn tất các bước chuẩn bị môi trường và cài đặt các thành phần phụ trợ, bạn có thể bắt đầu quá trình cài đặt Magento 2 bằng giao diện dòng lệnh. Magento cung cấp một lệnh setup:install
cho phép bạn cấu hình toàn bộ hệ thống một cách nhanh chóng và chi tiết ngay từ đầu. Dưới đây là một ví dụ về cú pháp lệnh cài đặt:
php bin/magento setup:install \
--base-url=https://magento2.com/ \
--db-host=127.0.0.1 \
--db-name=magento2 \
--db-user=mageplaza \
--db-password=matkhau \
--admin-firstname=admin \
--admin-lastname=admin \
--admin-email=admin@admin.com \
--admin-user=admin \
--admin-password=admin123 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--backend-frontname="admin" \
--search-engine=elasticsearch7
Giải thích một số tham số quan trọng trong lệnh:
--base-url
: Đường dẫn chính cho website của bạn (nên đảm bảo hoạt động với HTTPS).--db-host
,--db-name
,--db-user
,--db-password
: Thiết lập kết nối với cơ sở dữ liệu đã tạo từ trước.--admin-*
: Các thông tin cho tài khoản quản trị như tên, email, user và mật khẩu.--language
,--currency
,--timezone
: Cấu hình ngôn ngữ, tiền tệ và múi giờ mặc định cho website.--use-rewrites
: Bật tính năng rewrite URL giúp đường dẫn thân thiện hơn.--backend-frontname
: Tùy chỉnh đường dẫn đăng nhập vào trang quản trị.--search-engine
: Chọn công cụ tìm kiếm nội bộ cho Magento, ở đây là Elasticsearch 7.
Lưu ý
Bạn nên kiểm tra trước các yêu cầu hệ thống của Magento tại trang chính thức System Requirements để đảm bảo môi trường cài đặt tương thích.
Kiểm tra kết quả sau khi cài đặt thành công:
- Truy cập website:
https://magento2.com/
- Truy cập trang quản trị:
https://magento2.com/admin
- Tài khoản:
admin
- Mật khẩu:
admin123
- Tài khoản:
Sau bước này, bạn đã hoàn tất quá trình cài đặt Magento 2 và có thể tiếp tục tùy chỉnh giao diện, cài extension hoặc xây dựng nội dung cho website của mình.
Lý do nên sử dụng Ubuntu/Debian để cài đặt Magento 2
Việc lựa chọn hệ điều hành phù hợp là yếu tố quan trọng để Magento 2 hoạt động ổn định và bảo mật. Trong đó, Ubuntu và Debian là hai lựa chọn được khuyến nghị mạnh mẽ bởi chính cộng đồng Magento và các nhà phát triển lâu năm. Dưới đây là những lý do nổi bật:
- Được Magento khuyến nghị sử dụng: Magento được tối ưu để chạy trên các hệ điều hành Linux, trong đó Ubuntu và Debian là hai nền tảng phổ biến, giúp đảm bảo khả năng tương thích cao và hiệu suất hoạt động tốt.
- Tiết kiệm chi phí: Ubuntu và Debian đều là hệ điều hành mã nguồn mở, miễn phí hoàn toàn. Bạn không cần tốn thêm chi phí bản quyền như khi sử dụng Windows hoặc macOS.
- Tính bảo mật cao: Hệ điều hành Linux nói chung – bao gồm Ubuntu và Debian – có cấu trúc bảo mật tốt, ít bị ảnh hưởng bởi virus hay phần mềm độc hại, phù hợp với môi trường server.
- Cộng đồng hỗ trợ mạnh mẽ: Ubuntu và Debian có cộng đồng người dùng rộng lớn và sôi nổi. Khi gặp sự cố, bạn sẽ dễ dàng tìm được hướng dẫn hoặc câu trả lời phù hợp từ các diễn đàn hoặc tài liệu hỗ trợ.

Vietnix – Nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng
Vietnix là đơn vị cung cấp dịch vụ thuê VPS chuyên nghiệp với hạ tầng mạnh mẽ, toàn bộ sử dụng SSD giúp tăng tốc độ truy cập và xử lý. Đặc biệt, VPS Linux tại Vietnix nổi bật với tính ổn định cao, khả năng vận hành mượt mà và linh hoạt tùy chỉnh cấu hình theo nhu cầu. Cơ chế bảo mật nghiêm ngặt cùng hệ thống backup tự động giúp đảm bảo dữ liệu luôn an toàn. Đây là lựa chọn lý tưởng cho cá nhân và doanh nghiệp đang tìm kiếm dịch vụ VPS đáng tin cậy, hiệu quả và tiết kiệm chi phí.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Câu hỏi thường gặp
Có nên dùng swap file khi cài Magento 2 trên server Ubuntu không có đủ RAM?
Có, nên dùng swap file khi cài Magento 2 trên server Ubuntu nếu RAM không đủ, đặc biệt là khi RAM dưới 2GB. Lý do:
– Magento 2 ngốn tài nguyên: Quá trình cài đặt và compile (setup:upgrade, di:compile, deploy) yêu cầu nhiều RAM. Nếu thiếu, hệ thống dễ bị treo hoặc lỗi.
– Swap file giúp server không crash: Nó hoạt động như bộ nhớ tạm khi RAM đầy, giúp hệ thống tiếp tục xử lý thay vì bị lỗi.
– Tạo dễ, không ảnh hưởng hiệu năng lâu dài: Chỉ nên dùng swap để hỗ trợ cài đặt hoặc chạy các tác vụ nặng, không thay thế RAM thật.
Lưu ý:
Dùng swapfile
tạm thời và nên tắt hoặc giảm swappiness sau khi hệ thống hoạt động ổn định.
Với server chạy lâu dài cho Magento, nâng cấp RAM vẫn là giải pháp tốt hơn.
Có nên chạy Magento 2 bằng user riêng (không phải root hay www-data) trên Ubuntu không?
Có, nên chạy Magento 2 bằng user riêng thay vì root hay www-data để tăng bảo mật, tránh lộ quyền hệ thống nếu bị tấn công. Việc này cũng giúp kiểm soát phân quyền chính xác hơn, hạn chế lỗi khi chạy cron jobs hoặc deploy. Ngoài ra, việc tách user giúp bảo trì và quản lý server dễ dàng, đặc biệt khi có nhiều website cùng hoạt động.
Lời kết
Việc cài đặt Magento 2 trên Ubuntu không chỉ giúp bạn tận dụng sức mạnh của một hệ điều hành mã nguồn mở ổn định mà còn tối ưu hóa hiệu suất cho việc phát triển và quản lý cửa hàng trực tuyến. Qua các bước hướng dẫn chi tiết, bạn đã có thể thiết lập một môi trường Magento 2 hoàn chỉnh trên Ubuntu mới nhất. Đừng quên duy trì bảo mật hệ thống và tối ưu hóa server để Magento hoạt động hiệu quả lâu dài. Chúc bạn thành công!