# Website đầu tiên

> Tạo website trên ZoPanel, trỏ DNS, nhận chứng chỉ Let's Encrypt miễn phí, tải file lên bằng Quản lý file hoặc SFTP và cài WordPress.

Source: https://zopanel.net/vi/docs/first-website  
Updated: 2026-10-07

Trang này hướng dẫn host một website từ đầu đến cuối. Website cần thuộc về một tài khoản hosting; nếu chưa tạo, xem [Bắt đầu nhanh](/vi/docs/quick-start).

## 1. Trỏ tên miền về server

Hãy làm bước này trước: Let's Encrypt chỉ cấp chứng chỉ khi tên miền đã trỏ về server của bạn.

Tại nhà cung cấp DNS, tạo các bản ghi sau (thay IP bằng IP server của bạn):

| Loại | Tên | Giá trị |
| --- | --- | --- |
| A | `example.com` | `203.0.113.10` |
| A | `www` | `203.0.113.10` |

Thêm bản ghi AAAA nếu server có IPv6. DNS có thể mất từ vài phút đến vài giờ để cập nhật khắp nơi. Kiểm tra từ máy của bạn:

```bash
dig +short example.com
```

Nếu bạn host DNS ngay trên ZoPanel (thành phần máy chủ DNS), hãy tạo zone ở trang **DNS** và khai báo nameserver tại nhà đăng ký tên miền.

## 2. Tạo website

1. Vào **Website** và bấm **Thêm website**.
2. **Chủ sở hữu**: chọn tài khoản hosting. (Khách hàng tự đăng nhập tài khoản của mình sẽ không thấy mục này.)
3. **Tên miền**: nhập không kèm `http://`, ví dụ `example.com`.
4. Giữ dấu chọn **Đồng thời chạy www.example.com** nếu muốn cả hai địa chỉ đều hoạt động.
5. **Loại website**:

   | Loại | Dùng cho |
   | --- | --- |
   | WordPress | Tự động cài WordPress |
   | PHP | Mọi ứng dụng PHP |
   | Laravel | PHP với thư mục gốc tại `/public` |
   | HTML | File HTML tĩnh |
   | Node / Proxy | Ứng dụng Node.js, Python, Go lắng nghe tại `127.0.0.1` với cổng bạn chọn |
   | Git deploy | Next.js, Node, Python, Go, Laravel… build từ repository |

6. **Phiên bản PHP**: chọn một trong các phiên bản đã cài.
7. Giữ **SSL miễn phí (Let's Encrypt)** ở trạng thái bật.
8. Bấm **Tạo website**.

File của website nằm trong thư mục home của tài khoản:

```text
/home/TÊN-TÀI-KHOẢN/domains/example.com/public_html
```

Khi chưa tải file của bạn lên, khách truy cập sẽ thấy một trang giữ chỗ.

## 3. Nhận chứng chỉ SSL

Khi đã bật **SSL miễn phí (Let's Encrypt)** và DNS đã trỏ về server, chứng chỉ được cấp ngay khi tạo website.

Nếu lúc đó DNS chưa sẵn sàng, bạn không cần làm gì: ZoPanel kiểm tra mỗi giờ và xin chứng chỉ ngay khi tên miền trỏ về server. Để cấp ngay:

1. Mở website và vào tab **SSL**.
2. Bấm **Cấp chứng chỉ**.
3. Bật **Chuyển HTTP sang HTTPS** để mọi khách truy cập đều dùng địa chỉ bảo mật.

Chứng chỉ tự gia hạn trước khi hết hạn 30 ngày. Nếu bạn có chứng chỉ từ nhà cung cấp khác, dán vào mục **Chứng chỉ riêng** trong cùng tab.

## 4. Tải file lên

### Bằng Quản lý file

1. Vào **Quản lý file** (hoặc mở từ trang website).
2. Mở thư mục `domains/example.com/public_html`.
3. Kéo thả file vào trang, hoặc bấm **Tải lên**.
4. Để đưa cả website lên nhanh, tải một file `.zip` hoặc `.tar.gz`, chọn file đó rồi bấm **Giải nén**.

Quản lý file còn cho phép sửa file, đổi quyền (**Phân quyền (chmod)**), nén và đổi tên.

### Bằng SFTP

SFTP dùng được khi gói của tài khoản bật **SFTP**. Dùng bất kỳ phần mềm SFTP nào (FileZilla, WinSCP, Cyberduck hoặc lệnh `sftp`):

| Thiết lập | Giá trị |
| --- | --- |
| Giao thức | SFTP |
| Host | IP hoặc hostname của server |
| Cổng | Cổng SSH của server (thường là 22) |
| Tên đăng nhập | Tên đăng nhập của tài khoản hosting |
| Mật khẩu | Mật khẩu của tài khoản, đặt khi tạo tài khoản |

Kết nối bị giới hạn (chroot) trong thư mục home của tài khoản; hãy tải lên vào `domains/example.com/public_html`. Trang **FTP / SFTP** hiển thị thông tin kết nối. Đổi mật khẩu panel ở **Tài khoản của tôi** không đổi mật khẩu SFTP.

Để đăng nhập bằng key thay cho mật khẩu, thêm public key ở **Tài khoản của tôi → SFTP & SSH key** (khi đăng nhập bằng chính tài khoản đó). Nếu cần FTP truyền thống, hãy cài thành phần FTP server và tạo tài khoản FTP giới hạn trong một thư mục.

## 5. Cài WordPress

### Ngay khi tạo website

Chọn loại **WordPress** và điền **Thiết lập WordPress**: **Tiêu đề website**, **Email quản trị**, **Tài khoản quản trị** và **Mật khẩu quản trị**. ZoPanel tạo database và cài WordPress bằng wp-cli. Tiến trình hiển thị dưới dạng tác vụ.

### Trên website đã có

1. Mở tab **Tổng quan** của website.
2. Ở mục **Ứng dụng**, bấm **Cài WordPress**.
3. Nhập thông tin và bấm **Cài đặt**. Hệ thống tạo database và cài WordPress bằng wp-cli.

### Sau khi cài

Tab **WordPress** của website cho phép vào wp-admin không cần mật khẩu (**Đăng nhập WordPress**), cập nhật core, plugin và theme, áp dụng các thiết lập bảo mật và tạo bản staging.

Để tăng tốc, bật **Page cache** trong tab **PHP & cấu hình**. Người đã đăng nhập, trang quản trị, giỏ hàng và request POST luôn bỏ qua cache. Trên server thử nghiệm, page cache nâng sức chứa từ 100 lên 250 website WordPress trên VPS 4 GB.

## 6. Kiểm tra

- Truy cập `https://example.com`: biểu tượng ổ khoá phải cho thấy chứng chỉ hợp lệ.
- Tab **Nhật ký** hiển thị access log và error log khi có lỗi.
- Tab **Thống kê** hiển thị lượt truy cập và request, tính từ log của web server.

## Xử lý sự cố

| Vấn đề | Cần kiểm tra |
| --- | --- |
| Chưa cấp được chứng chỉ | Bản ghi A của tên miền phải trỏ về server này và cổng 80 phải mở. Chờ DNS cập nhật rồi bấm **Cấp chứng chỉ**. |
| Vẫn thấy trang giữ chỗ | File phải nằm trong `public_html` và có `index.php` hoặc `index.html`. |
| Không tạo được website | Gói của tài khoản hoặc license của server giới hạn số website; thông báo lỗi cho biết giới hạn nào. Xem [Gói hosting và giới hạn](/vi/docs/packages-limits) và [License](/vi/docs/licensing). |
