Hướng Dẫn Cài Đặt Strapi Trên VPS Ubuntu 24.04 Nhanh Gọn Cho Người Mới
Cài đặt Strapi trên VPS Ubuntu 24.04 là điều mà nhiều lập trình viên và người làm nội dung tìm đến khi muốn sở hữu một hệ thống quản lý nội dung headless hoàn toàn do mình kiểm soát, thay vì phụ thuộc vào dịch vụ đóng gói sẵn với vô hạn giới hạn. Bài […]
Cài đặt Strapi trên VPS Ubuntu 24.04 là điều mà nhiều lập trình viên và người làm nội dung tìm đến khi muốn sở hữu một hệ thống quản lý nội dung headless hoàn toàn do mình kiểm soát, thay vì phụ thuộc vào dịch vụ đóng gói sẵn với vô hạn giới hạn. Bài viết dưới đây sẽ đồng hành cùng bạn qua từng bước: cập nhật hệ thống, cài Node.js, khởi tạo dự án Strapi, chạy nền bằng PM2 cho đến cấu hình Nginx. Nếu bạn chưa có máy chủ để bắt đầu, có thể tham khảo dịch vụ ThueVPSGiaRe.vn để chọn được cấu hình phù hợp với chi phí dễ chịu.
1. Tổng quan: Strapi là gì và tại sao nên sử dụng?
Strapi là một hệ thống quản trị nội dung phi tập trung (Headless CMS) mã nguồn mở dựa trên nền tảng JavaScript/Node.js, đảm nhiệm toàn bộ tác vụ quản lý dữ liệu ở back-end và phân phối chúng tới bất kỳ giao diện front-end nào qua hệ thống API linh hoạt.
Khác biệt hoàn toàn so với các CMS truyền thống vốn gắn chặt giao diện hiển thị người dùng với cơ sở dữ liệu back-end, kiến trúc headless của Strapi tách rời hai lớp này. Nhờ đó, đội ngũ kỹ thuật có toàn quyền tự do xây dựng giao diện bằng React, Vue, Flutter hay ứng dụng di động mà vẫn dùng chung một kho lưu trữ nội dung duy nhất.
- Tách biệt kiến trúc: Back-end chỉ tập trung lưu trữ, xử lý logic nghiệp vụ và cấp phát API RESTful hoặc GraphQL.
- Đa nền tảng: Dễ dàng phục vụ đồng thời cho Website, Mobile Apps, thiết bị IoT và các hệ thống bên thứ ba.
2. Các tính năng nổi bật của Strapi Headless CMS
Strapi được cộng đồng phát triển phần mềm toàn cầu đánh giá cao nhờ sự cân bằng giữa bảng điều khiển quản trị thân thiện với người dùng không chuyên kỹ thuật và khả năng tùy biến mã nguồn sâu rộng dành cho lập trình viên.
- Quản lý nội dung trực quan: Cung cấp Admin Panel hoàn chỉnh, cho phép người quản trị dễ dàng tạo mới, biên tập nội dung, định nghĩa các Content Types (bài viết, sản phẩm, danh mục) và tinh chỉnh các trường dữ liệu tùy biến theo nhu cầu dự án.
- Phân phối nội dung linh hoạt qua API: Hệ thống tự động tạo các endpoint RESTful và GraphQL chuẩn hóa, hỗ trợ truyền tải nội dung nhanh chóng đến bất kỳ client nào.
- Khả năng tùy biến sâu rộng: Lập trình viên có thể mở rộng logic nghiệp vụ, phát triển API riêng, tích hợp thêm plugin hoặc trực tiếp sửa đổi mã nguồn gốc để đáp ứng yêu cầu đặc thù.
- Hiệu năng cao nhờ nền tảng Node.js: Nhờ xây dựng trên môi trường Node.js non-blocking, Strapi đạt tốc độ phản hồi nhanh, tiêu thụ ít tài nguyên và dễ dàng mở rộng khi lưu lượng truy cập gia tăng.
- Mã nguồn mở và hoàn toàn miễn phí: Strapi cho phép bạn tự do lưu trữ (self-host) mà không phải trả phí bản quyền phần mềm, đồng thời sở hữu cộng đồng hỗ trợ lớn mạnh trên toàn thế giới.
- Hỗ trợ đa dạng hệ quản trị cơ sở dữ liệu: Tương thích tốt với nhiều loại cơ sở dữ liệu phổ biến như SQLite, PostgreSQL, MySQL và MariaDB. Nếu bạn ưu tiên sự bền bỉ của hệ quản trị quan hệ, việc tìm hiểu thêm cấu hình cơ sở dữ liệu qua các bài viết về cài đặt MariaDB trên Linux sẽ giúp hệ thống vận hành tối ưu hơn.
3. Điều kiện cần chuẩn bị trước khi cài đặt Strapi trên VPS Ubuntu 24.04
Trước khi bắt tay vào các thao tác kỹ thuật, bạn cần đảm bảo hệ thống máy chủ ảo của mình đáp ứng đầy đủ các tiêu chuẩn tiên quyết bên dưới:
- Máy chủ ảo VPS: Chạy hệ điều hành Ubuntu 24.04 LTS mới nhất với địa chỉ IP công khai độc lập.
- Quyền quản trị: Tài khoản root hoặc người dùng thường có quyền root trên Linux (sudo privileges) để thực thi các lệnh cài đặt gói hệ thống.
- Tài nguyên phần cứng khuyến nghị: Tối thiểu 2GB RAM (khuyến nghị 4GB RAM trở lên) để quá trình biên dịch admin panel qua lệnh build diễn ra trơn tru mà không bị lỗi tràn bộ nhớ (Out of Memory).
- Kết nối máy chủ: Đã cấu hình và sử dụng thành thạo kết nối an toàn qua hướng dẫn đăng nhập VPS Linux bằng SSH trên máy tính cá nhân.
4. Hướng dẫn từng bước cài đặt Strapi trên Ubuntu 24.04
Dưới đây là trình tự từng bước chi tiết giúp bạn khởi tạo một dự án Strapi hoàn chỉnh trên máy chủ Ubuntu 24.04 từ đầu.
Bước 1: Cập nhật hệ thống máy chủ
Trước khi tải bất kỳ gói phần mềm mới nào, hãy luôn đồng bộ lại danh mục gói và nâng cấp toàn bộ các package đang hoạt động lên phiên bản mới nhất để tránh lỗi phụ thuộc thư viện:
sudo apt update && sudo apt upgrade -y

Bước 2: Cài đặt Node.js (Phiên bản LTS)
Strapi hoạt động ổn định nhất trên các phiên bản Node.js LTS (phiên bản 18.x hoặc 20.x được khuyến nghị). Chúng ta sẽ thêm kho lưu trữ chính thức từ NodeSource để cài đặt Node.js 20.x LTS:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Kiểm tra phiên bản Node.js vừa cài đặt để xác nhận quá trình hoàn tất thành công:
node -v
npm -v

Bước 3: Cài đặt các công cụ biên dịch (Build Tools) cần thiết
Một số thư viện phụ thuộc của Strapi cần biên dịch mã nguồn C++ ngay trong quá trình cài đặt. Hãy đảm bảo máy chủ đã có sẵn các công cụ phát triển cơ bản:
sudo apt install -y build-essential curl git

Bước 4: Cài đặt Yarn (Tùy chọn nhưng khuyến khích)
Trình quản lý gói Yarn hỗ trợ khóa phiên bản thư viện chặt chẽ và tăng tốc độ tải phụ thuộc. Bạn có thể cài đặt Yarn global thông qua npm:
npm install -g yarn

Bước 5: Khởi tạo dự án Strapi
Di chuyển tới thư mục chứa mã nguồn web mong muốn, ví dụ thư mục chuẩn /var/www:
cd /var/www
Sử dụng công cụ chính thức để tạo một ứng dụng Strapi mới:
npx create-strapi-app@latest my-strapi-app

Trong quá trình cài đặt, trình cài đặt sẽ đưa ra một số câu hỏi khảo sát cấu hình (chẳng hạn chọn cài đặt tự động Quickstart với SQLite hoặc cấu hình thủ công Custom với cơ sở dữ liệu khác). Bạn hãy thiết lập tùy chọn phù hợp nhất với yêu cầu dự án của mình.

Bước 6: Chạy Strapi ở chế độ phát triển (Development Mode)
Sau khi quá trình tạo dự án hoàn tất, truy cập vào thư mục vừa tạo và khởi chạy ứng dụng ở chế độ develop:
cd my-strapi-app
npm run develop

Khi màn hình terminal thông báo ứng dụng đã chạy thành công trên cổng 1337, bạn hãy mở trình duyệt web và truy cập theo đường dẫn sau:
http://dia-chi-ip-vps-cua-ban:1337/admin
Trong lần đầu tiên đăng nhập, Strapi sẽ hiển thị giao diện yêu cầu tạo tài khoản Quản trị viên (Super Admin). Bạn chỉ cần điền đầy đủ tên, email, mật khẩu quản trị và nhấp chuột vào nút Let’s start để bắt đầu sử dụng bảng điều khiển.


5. Vận hành môi trường Production và duy trì dịch vụ liên tục với PM2
Chế độ phát triển chỉ dùng cho việc định nghĩa schema và kiểm thử. Khi triển khai thực tế trên Internet, bạn cần chuyển sang môi trường Production và sử dụng trình quản lý tiến trình chuyên dụng.
Biên dịch ứng dụng cho Production
Trước khi chạy chính thức, hãy đóng tiến trình develop (nhấn Ctrl + C) rồi tiến hành build tối ưu mã nguồn giao diện admin:
npm run build
npm start
Duy trì Strapi chạy nền 24/7 bằng công cụ PM2
Nếu bạn thoát cửa sổ dòng lệnh SSH, tiến trình chạy qua npm start sẽ bị dừng ngay lập tức. Công cụ PM2 giải quyết triệt để vấn đề này bằng cách giữ ứng dụng hoạt động liên tục dưới nền và tự động khởi động lại khi máy chủ reboot. Đây cũng là quy trình quen thuộc khi bạn triển khai các ứng dụng web theo cẩm nang deploy ứng dụng Node.js trên VPS.
Cài đặt PM2 toàn cục trên hệ thống:
npm install -g pm2
Khởi tạo tiến trình Strapi với PM2 và lưu trạng thái khởi động cùng hệ điều hành:
pm2 start npm --name "strapi" -- start
pm2 save
pm2 startup
Về bản chất, PM2 giống như một “người trông ứng dụng” chuyên nghiệp: nó khởi chạy Strapi với tên gọi “strapi” để bạn dễ quản lý, lưu lại danh sách tiến trình, và thiết lập cơ chế tự khởi động cùng hệ điều hành. Nếu bạn đang cân nhắc chọn máy chủ riêng cho các ứng dụng Node.js nói chung, bài viết về VPS cho NodeJS và cách deploy API chạy 24/7 với PM2 sẽ bổ sung cho bạn rất nhiều góc nhìn thực tế ngoài những gì hướng dẫn này đề cập.
6. Cấu hình Nginx Reverse Proxy kết nối tên miền
Việc truy cập website qua địa chỉ IP kèm số cổng 1337 không bảo mật và thiếu tính chuyên nghiệp. Cấu hình web server Nginx làm Reverse Proxy sẽ định tuyến các yêu cầu từ cổng 80 (và 443 khi có SSL) về ứng dụng Strapi đang lắng nghe nội bộ tại cổng 1337.
Bước 1: Cài đặt máy chủ Nginx
Cài đặt gói Nginx từ kho phần mềm mặc định của Ubuntu:
sudo apt install nginx -y
Bước 2: Tạo tệp cấu hình Virtual Host cho Strapi
Mở trình soạn thảo để tạo mới tệp cấu hình máy chủ ảo:
sudo vi /etc/nginx/sites-available/strapi
Thêm đoạn cấu hình reverse proxy sau vào tệp (thay thế yourdomain.com bằng tên miền bạn đã trỏ về IP máy chủ theo bài hướng dẫn trỏ tên miền về hosting và máy chủ):
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Trong đó server_name yourdomain.com chính là nơi bạn khai báo tên miền muốn dùng. Nếu chưa có tên miền hoặc chưa biết cách kết nối domain với máy chủ, hãy đọc qua bài cách trỏ tên miền về VPS trong 5 phút rồi quay lại chỉnh dòng này.
Muốn hiểu sâu hơn về vai trò của tầng web server này, tài liệu Nginx là gì và cách web server quốc dân vận hành sẽ giúp bạn nắm được tại sao reverse proxy lại cần thiết cho các ứng dụng backend như Strapi.
Bước 3: Kích hoạt cấu hình và khởi động lại Nginx
Tạo liên kết tượng trưng (symlink) sang thư mục sites-enabled, kiểm tra cú pháp cấu hình và tải lại dịch vụ Nginx:
sudo ln -s /etc/nginx/sites-available/strapi /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Nếu lệnh nginx -t báo kết quả ok và không có lỗi, mọi thứ đã sẵn sàng. Ở thời điểm này, nhiều người sẽ tiếp tục cài chứng chỉ SSL để chuyển từ HTTP sang HTTPS cho an toàn — bạn có thể tham khảo hướng dẫn cài SSL Let’s Encrypt bằng Certbot trên VPS Ubuntu như một bước tối ưu tiếp theo cho bảng điều khiển Strapi của mình.
Quá trình cài đặt Strapi trên VPS Ubuntu 24.04 đòi hỏi bạn thực hiện chuẩn xác từng bước từ chuẩn bị Node.js LTS, biên dịch mã nguồn bảng quản trị, quản lý tiến trình bằng PM2 đến chuyển tiếp lưu lượng qua Nginx Reverse Proxy. Việc làm chủ kiến trúc này mang lại cho bạn một hệ thống CMS tốc độ cao, khả năng mở rộng không giới hạn và hoàn toàn chủ động dữ liệu của doanh nghiệp.
Cần một VPS giá rẻ để bắt đầu?
Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.
Lưu ý: Toàn bộ hướng dẫn trên đây được biên soạn cho mục đích tham khảo kỹ thuật. Các câu lệnh, gói thư viện và thiết lập mạng có thể thay đổi tùy theo bản cập nhật cụ thể của hệ điều hành, phiên bản Node.js cũng như phiên bản Strapi tại thời điểm thực hiện. Người quản trị cần sao lưu dữ liệu cẩn thận, chạy thử nghiệm trên môi trường staging và kiểm soát an toàn trước khi đưa vào vận hành production chính thức.



