Cách Cài Đặt ReactJS Trên Cpanel Hosting Đơn giản

ReactJS là một thư viện JavaScript hiện đại, thường được sử dụng để xây dựng các ứng dụng web phía client (SPA - Single Page Application). Tuy nhiên, ứng dụng React không tự chạy được như PHP thông thường — nó cần được build trước và sau đó triển khai như một website tĩnh. Với hosting CPanel (shared hosting), chúng ta không thể chạy Node.js trực tiếp, nhưng vẫn có thể triển khai ứng dụng React. Cùng LANIT tìm hiểu cách cài đặt ReactJS trên cPanel Hosting ngay trong bài viết dưới đây nhé!

Điều kiện trước khi cài đặt

Trước khi cài đặt bạn cần có Hosting cPanel. Đồng thời Hosting cPanel phải có hỗ trợ Node.js (Setup Node.js App hoặc Node.js Selector).

Ngoài ra có mã nguồn ReactJS, nếu chưa có thể tạo local như hướng dẫn sau:

Nếu bạn muốn chạy React bằng ExpressJS (ví dụ khi có backend hoặc xử lý route phía server). Tạo file index.js trong mục reactsite với nội dung:

const express = require('express');
const path = require('path');
const app = express();
const port = process.env.PORT || 3000;

app.use(express.static(path.join(__dirname, 'build')));

app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

app.listen(port, () => {
console.log(Server is running on port ${port});
});

Tiếp theo, trong terminal của Node.js App trên cPanel, chạy:

npm install express

Chuẩn bị trước khi cài đặt Reactjs
Chuẩn bị trước khi cài đặt Reactjs

Cài đặt ReactJS trên Cpanel Hosting

Để cài đặt ReactJS, bạn cần thực hiện theo 3 bước:

  • Bước 1: Tạo Project ReactJS trên máy tính
  • Bước 2: Upload dự án lên Hosting
  • Bước 3: Tạo Node.js App trong cPanel

Bước 1: Tạo Project ReactJS trên máy tính

Đầu tiên bạn mở terminal (đối với hệ điều hành macOS/Linux) hoặc CMD (hệ điều hành Windows, đã cài Node.js + npx). Sau đó chạy lệnh sau:

npx create-react-app my-app
cd my-app
npm run build

Cài đặt ReactJS trên Cpanel Hosting

Sau khi chạy xong, bạn có thư mục build/ chứa website React đã tạo.

Bước 2: Upload dự án lên Hosting

Đăng nhập vào cPanel. Sau đó mở File Manager.

Cài đặt ReactJS trên Cpanel Hosting

Sau đó bạn tạo thư mục mới. Ví dụ: reactsite trong thư mục home/username/

Cài đặt ReactJS trên Cpanel Hosting

Tải lên toàn bộ nội dung bên trong thư mục build/ vào mục reactsite/

Cài đặt ReactJS trên Cpanel Hosting

Bước 3: Tạo Node.js App trong cPanel

Lúc này, bạn cần truy cập mục “Setup Node.js App” trong cPanel.

Cài đặt ReactJS trên Cpanel Hosting

Bấm nút “Create Application“.

Cài đặt ReactJS trên Cpanel Hosting

Bây giờ hãy điền đầy đủ các thông tin sau:

  • Node.js Version: Chọn phiên bản mới nhất có thể (ví dụ: 18.20.2)
  • Application Mode: Chọn Development (nếu bạn đang thử nghiệm). Chọn Production (nếu đã hoàn thiện và đưa lên thực tế).
  • Application Root: Nhập thư mục bạn đã upload mã nguồn, ví dụ: reactsite
  • Application URL: Chọn domain hoặc subdomain bạn muốn truy cập website.
  • Application Startup File: Nếu bạn dùng file Node backend để phục vụ React, nhập index.js. (Nếu chỉ chạy frontend tĩnh, có thể bỏ qua mục này).

Cuối cùng bấm Create để khởi tạo ứng dụng Node.js.

Cài đặt ReactJS trên Cpanel Hosting

Chú ý

Nếu bạn chỉ dùng React Frontend tĩnh thì bạn không cần tạo Node.js App mà chỉ cần:

  • Upload thư mục build/ vào thư mục public_html hoặc thư mục con.
  • Truy cập bằng đường dẫn: domain.com/reactsite

Các lỗi phổ biến khi cài đặt ReactJS

Trong quá trình cài đặt, bạn có thể gặp một số lỗi. Tuy nhiên đừng lo lắng vì cách xử lý rất đơn giản.

Không thấy giao diện sau khi upload

Một trong những vấn đề thường gặp khi upload ứng dụng React lên hosting là giao diện không hiển thị mặc dù bạn đã tải lên đúng các tệp tin từ thư mục build. Điều này có thể xảy ra vì một số lý do như sau:

  • Chưa chỉ định đúng thư mục chứa các tệp build: Khi sử dụng cPanel, bạn cần đảm bảo rằng tất cả các tệp trong thư mục build (bao gồm các tệp HTML, CSS, JS) đã được upload vào đúng thư mục trên server (thường là thư mục public_html hoặc một thư mục con tùy vào cấu hình của bạn).
  • Thiếu tệp index.html: Một số cấu hình có thể khiến tệp index.html bị bỏ sót trong quá trình upload. Bạn cần kiểm tra lại để chắc chắn rằng tệp index.html có mặt và nằm đúng vị trí trong thư mục gốc của dự án.
  • Cấu hình tệp .htaccess không đúng: React sử dụng react-router để điều hướng các trang trong ứng dụng. Nếu server không cấu hình đúng các yêu cầu URL, bạn có thể gặp lỗi không hiển thị giao diện. Cần thêm một tệp .htaccess đúng cấu hình để chuyển hướng các yêu cầu đến index.html.
Trong quá trình cài đặt Reactjs, bạn có thể gặp một số lỗi
Trong quá trình cài đặt Reactjs, bạn có thể gặp một số lỗi

Lỗi 404 Not Found khi dùng Router trong React

Bạn có thể gặp lỗi “404 Not Found” khi tải lại trang hoặc truy cập trực tiếp vào một đường dẫn cụ thể.

Nguyên nhân: Đây là vấn đề liên quan đến cách ReactJS xử lý routing. Khi bạn sử dụng react-router, URL sẽ thay đổi mà không tải lại trang hoàn toàn. Tuy nhiên, khi người dùng tải lại trang hoặc vào một URL cụ thể, máy chủ sẽ không nhận diện đường dẫn đó vì không có tệp tương ứng.

Cách khắc phục:

Cấu hình .htaccess: Để giải quyết vấn đề này, bạn cần tạo hoặc chỉnh sửa tệp .htaccess để đảm bảo rằng mọi yêu cầu được chuyển hướng đến index.html. Thêm dòng mã sau vào tệp .htaccess trong thư mục gốc của dự án:

RewriteEngine On
RewriteRule ^ index.html [QSA,L]

Sử dụng BrowserRouter thay vì HashRouter: BrowserRouter sử dụng URL sạch và không có dấu #, tuy nhiên, nếu server của bạn không hỗ trợ rewrite URL, bạn có thể sử dụng HashRouter để tránh gặp phải lỗi 404.

Lỗi 404 Not Found khi dùng Router trong React
Lỗi 404 Not Found khi dùng Router trong React

Hosting không hỗ trợ NodeJS (nếu dùng SSR)

Nếu bạn đang sử dụng Server-Side Rendering (SSR) với React và muốn chạy NodeJS trực tiếp trên hosting của mình. Một số nhà cung cấp hosting (bao gồm cPanel) có thể không hỗ trợ NodeJS hoặc yêu cầu một cấu hình đặc biệt.

Nguyên nhân: CPanel thường không hỗ trợ NodeJS trên các tài khoản hosting tiêu chuẩn. Do đó bạn không thể chạy ứng dụng SSR (React Server-Side Rendering) trực tiếp trên đó.

Cách khắc phục:

  • Sử dụng VPS hoặc Dedicated Server: Nếu bạn cần sử dụng SSR, bạn có thể chuyển sang sử dụng VPS (Virtual Private Server) hoặc Dedicated Server để có quyền truy cập đầy đủ vào NodeJS.
  • Sử dụng dịch vụ hosting hỗ trợ NodeJS: Một số dịch vụ hosting chuyên biệt cho các ứng dụng NodeJS có thể hỗ trợ SSR và giúp bạn triển khai ứng dụng React sử dụng SSR dễ dàng.

Lời kết

ReactJS hoàn toàn có thể triển khai trên hosting cPanel nếu biết cách xử lý. Đối với project lớn hoặc cần backend, nên dùng giải pháp chuyên biệt như VPS. Tại LANIT có gói VPS giá rẻ rất phù hợp với nhu cầu của doanh nghiệp và cá nhân. Trên đây là hướng dẫn cài đặt ReactJS trên cPanel Hosting. Hy vọng bài viết mang lại kiến thức hữu ích đến bạn.

Tham khảo thêm các bài viết cùng chủ đề:

Nguyễn Đức Hòa

Xin chào, mình là Nguyễn Đức Hoà, hiện đang đảm nhận vị trí Trưởng phòng kỹ thuật tại LANIT. Với 8 năm kinh nghiệm trong mảng System, Network, Security, mình luôn hướng đến việc tìm kiếm và áp dụng các giải pháp kỹ thuật tiên tiến nhất cho mọi dự án. Công việc của mình không chỉ dừng lại ở việc quản lý mà còn mang đến cho khách hàng những giải pháp lưu trữ dữ liệu tốt nhất hiện nay. Rất hy vọng những kinh nghiệm và chia sẻ của mình sẽ mang lại nhiều giá trị hữu ích cho các bạn.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!