BỐ CỤC PHẦN 3 (TỪ CHƯA BIẾT GÌ → WEBSITE GHOST LÊN GG SEARCH)
- 🎠 Tạo database MySQL trên Railway
- 🎭 Deploy Ghost bằng Render (từ GitHub)
- 🌐 Gắn domain Mắt Bão, bật Cloudflare proxy
- ✉️ Cài email (Mailgun/SMTP)
- 💰 Tích hợp Stripe để thu tiền
- 🧙♂️ Đưa web lên Google Search
💎 BƯỚC 1: TẠO DATABASE MYSQL TRÊN RAILWAY
Railway = nền tảng "dễ như ăn bánh", tạo DB MySQL chỉ 3 click.
🔌 B1.1 – Đăng ký Railway
Truy cập: https://railway.app
→ Sign in bằng GitHub
🏗 B1.2 – Tạo MySQL mới:
- Click “New Project”
- Chọn “Provision MySQL”
- Railway sẽ tự tạo DB → chờ 10 giây là xong
🔐 B1.3 – Lấy connection string:
- Vào tab Connect
- Chọn “MySQL”
- Copy dòng giống vầy:
mysql://user:password@containers-us-west-110.railway.app:12345/dbname
NOTE: Dán cái này vô file config.production.json
sau, siêu quan trọng luôn.
🧑🎤 BƯỚC 2: DEPLOY GHOST LÊN RENDER (TỪ GITHUB, KHÔNG GÕ CODE)
💌 B2.1 – Fork repo Ghost trên GitHub
Vào đây:
👉 https://github.com/TryGhost/Ghost
→ Bấm nút Fork → để có bản riêng
🌈 B2.2 – Tạo tài khoản Render
Render là nền tảng kiểu Heroku, cực dễ dùng
👉 https://render.com
→ Đăng ký → Kết nối với GitHub của bạn
🚀 B2.3 – Deploy Ghost
- Vào Render dashboard
- Click "New Web Service"
- Chọn repo Ghost vừa fork
- Chọn:
- Environment: Node
- Build Command:
yarn setup
- Start Command:
yarn start
- Root directory:
.
📁 B2.4 – Tạo biến môi trường (ENV)
Bạn sẽ cần add các biến sau trong tab Environment:
KEY | VALUE |
---|---|
database__client |
mysql |
database__connection__host |
containers-us-west-110.railway.app |
database__connection__user |
user |
database__connection__password |
password |
database__connection__database |
dbname |
url |
https://yourdomain.com |
→ Các giá trị lấy từ Railway (Bước 1)
👑 BƯỚC 3: MUA DOMAIN MẮT BÃO + GẮN CLOUDFLARE
🌟 B3.1 – Mua domain tại Mắt Bão
Vào: https://matbao.net
Tìm 1 domain kiểu emyeuanh.com
hoặc blogcuciu.vn
→ Mua, thanh toán xong vào Quản lý DNS
☁️ B3.2 – Đăng ký Cloudflare
Vào: https://cloudflare.com
→ Thêm website mới → Nhập domain của bạn
→ Cloudflare cho bạn 2 DNS như:
lisa.ns.cloudflare.com
jin.ns.cloudflare.com
→ Quay lại Mắt Bão, thay name server bằng 2 cái trên
🧭 B3.3 – Trỏ domain về Render
Vào Cloudflare → DNS → Add A record:
Type | Name | Value |
---|---|---|
A | @ |
IP của Render App (lấy trong tab Settings > Public IP) |
A | www |
Giống trên |
→ Proxy bật ON (biểu tượng đám mây vàng)
✨ BƯỚC 4: SETUP EMAIL – GỬI MAIL XÁC NHẬN VÀO HỘP THƯ KHÁCH
Ghost dùng Mail để:
- Gửi link xác minh khi user đăng ký
- Gửi newsletter cho subscriber
- Gửi hoá đơn (nếu tích hợp Stripe)
💌 Option 1 – Dễ: Dùng Gmail SMTP
Add vào Environment:
KEY | VALUE |
---|---|
mail__transport |
SMTP |
mail__options__service |
Gmail |
mail__options__auth__user |
youremail@gmail.com |
mail__options__auth__pass |
app_password (không phải pass Gmail!) |
App Password: vào Google → My Account → Security → App Password → tạo pass riêng
🥷 Option 2 – Xịn: Mailgun
- Vào: https://mailgun.com
- Tạo tài khoản free → Thêm domain → Xác thực DNS
- Dùng API key để cấu hình
config.production.json
hoặc Render ENV.
💰 BƯỚC 5: TÍCH HỢP STRIPE ĐỂ THU TIỀN
- Vào: https://dashboard.stripe.com
- Tạo account → Add bank info (nếu muốn nhận tiền)
- Lấy Publishable key & Secret key
- Vào Ghost Admin:
→ Labs → Members → Dán key
Khi khách đăng ký premium, Ghost tự kết nối Stripe để charge.
🔍 BƯỚC 6: ĐƯA WEB LÊN GOOGLE SEARCH
Không có SEO = viết 100 bài blog cũng chỉ mình đọc.
🕵️♀️ B6.1 – Tạo Google Search Console
Vào: https://search.google.com/search-console
→ Add domain → Xác minh bằng DNS (Cloudflare)
🔁 B6.2 – Submit Sitemap
Ghost auto tạo sitemap tại:
→ https://yourdomain.com/sitemap.xml
→ Vào GSC → Add sitemap → Dán link
🌱 B6.3 – Chờ index
Google sẽ quét sau vài tiếng → vài ngày.
Muốn nhanh:
→ Dùng "Inspect URL" → Bấm “Request indexing”
💅 BƯỚC 7: TÙY BIẾN CHO ĐẸP
- Dùng Ghost Marketplace để tải theme xịn: https://ghost.org/themes
- Hoặc chỉnh sửa theme trong repo GitHub (Ghost hỗ trợ Handlebars)
🧚 TỔNG KẾT – BẠN VỪA TẠO GÌ?
- [x] Có Ghost CMS chạy trên Render
- [x] MySQL được host free trên Railway
- [x] Domain riêng đẹp như mơ từ Mắt Bão
- [x] Có email gửi thông báo & Stripe thu tiền
- [x] Web xuất hiện trên Google Search
🤟 BONUS: MẪU BLOG CHO EM GÁI MỚI VÀO NGHỀ
blogfoodie.com
→ chia sẻ món ăndiarycuabeo.com
→ nhật ký thả thínhsennghichcho.com
→ blog về thú cưnghelloemoi.dev
→ viết lách tech life cho Gen Z
Ghi nhớ lời tiên tri:
“Không biết code không phải là lý do để không có web xịn.”
– Một người từng code sai port