Blog

Làm website miễn phí với GitHub Pages và gắn tên miền riêng

Chính website bạn đang đọc được làm như thế này! Hướng dẫn đưa web tĩnh lên GitHub Pages và trỏ tên miền .vn mua tại Mắt Bão.

Làm website miễn phí với GitHub Pages và gắn tên miền riêng
Nội dung bài viết
  1. Bạn cần chuẩn bị
  2. Bước 1: Đẩy code lên GitHub
  3. Bước 2: Bật GitHub Pages
  4. Bước 3: Khai báo tên miền trên GitHub
  5. Bước 4: Cấu hình DNS tại Mắt Bão
  6. Bước 5: Kiểm tra và bật HTTPS
  7. Giới hạn cần biết

Bạn có một trang web tĩnh (HTML, CSS, JavaScript) và muốn đưa lên mạng nhưng không muốn trả tiền hosting? GitHub Pages cho phép bạn làm điều đó miễn phí, kèm chứng chỉ HTTPS, và còn hỗ trợ gắn tên miền riêng. Chính HọcFree.vn đang chạy theo cách này.

Bạn cần chuẩn bị

  • Một tài khoản GitHub (miễn phí).
  • Website tĩnh có file index.html ở thư mục gốc.
  • Git đã cài trên máy (xem bài Git & GitHub cho người mới).
  • Một tên miền, ví dụ mua tại Mắt Bão, PA Việt Nam, Tenten…

Bước 1: Đẩy code lên GitHub

git init
git add .
git commit -m "Phiên bản đầu tiên"
git branch -M main
git remote add origin https://github.com/ten-ban/ten-repo.git
git push -u origin main

Bước 2: Bật GitHub Pages

  1. Vào repository → Settings → Pages.
  2. Tại mục Source, chọn Deploy from a branch.
  3. Chọn nhánh main, thư mục / (root) rồi bấm Save.
  4. Sau 1–2 phút, web sẽ chạy tại https://ten-ban.github.io/ten-repo/.

Bước 3: Khai báo tên miền trên GitHub

Tạo file tên CNAME (không có đuôi) ở thư mục gốc, nội dung chỉ một dòng là tên miền của bạn:

hocfree.vn

Hoặc nhập tên miền vào ô Custom domain trong Settings → Pages, GitHub sẽ tự tạo file này.

Bước 4: Cấu hình DNS tại Mắt Bão

Đăng nhập trang quản lý tên miền của Mắt Bão, vào mục Quản lý DNS của tên miền và thêm các bản ghi sau:

LoạiTên (Host)Giá trị
A@185.199.108.153
A@185.199.109.153
A@185.199.110.153
A@185.199.111.153
CNAMEwwwten-ban.github.io

Nhớ xóa các bản ghi A/CNAME cũ của @ và www (thường trỏ về trang đỗ tên miền của nhà cung cấp), nếu không tên miền sẽ trỏ lung tung.

Bước 5: Kiểm tra và bật HTTPS

DNS thường cập nhật sau 15 phút đến vài giờ (tối đa 24–48 giờ). Kiểm tra bằng lệnh:

nslookup hocfree.vn

Khi kết quả trả về các IP 185.199.x.153, quay lại Settings → Pages. Đợi GitHub báo "DNS check successful" rồi tích chọn Enforce HTTPS. Chứng chỉ SSL sẽ được cấp tự động và miễn phí.

Giới hạn cần biết

  • Chỉ chạy được web tĩnh: không có PHP, không có cơ sở dữ liệu phía máy chủ.
  • Dung lượng repository khuyến nghị dưới 1 GB, băng thông khoảng 100 GB/tháng.
  • Không dùng cho mục đích thương mại điện tử quy mô lớn.

Với blog, trang cá nhân, tài liệu dự án hay trang chia sẻ kiến thức, GitHub Pages là lựa chọn gần như hoàn hảo: nhanh, ổn định, miễn phí và quản lý phiên bản bằng Git.

Ban biên tập HọcFree

Chúng tôi viết những bài hướng dẫn dễ hiểu, thực tế để ai cũng có thể tự học lập trình và ngoại ngữ, hoàn toàn miễn phí.