+3

Các bước để triển khai trang Web trên Ubuntu VPS với tên miền thực tế

Phần 2: Mở Rộng Kết Nối: Cấu Hình Port và Triển Khai Tên Miền Công Khai

1. Giới Thiệu

Phần 1, chúng ta đã thiết lập thành công môi trường localhost hoặc mạng LAN (Local Area Network) và tìm hiểu các lệnh cơ bản để quản lý máy chủ Nginx trên Ubuntu.

Trong Phần 2, chúng ta sẽ tiếp tục mở rộng khả năng truy cập website bằng cách:

  • Cấu hình mạng sâu hơn để mở IP public, cho phép người dùng từ bất kỳ đâu truy cập vào
  • Hướng dẫn mua tên miền và trỏ về IP public của VPS

Việc mở rộng này không chỉ giúp website của bạn dễ dàng tiếp cận hơn mà còn là bước tiến quan trọng để triển khai một website hoàn chỉnh ra toàn cầu. Chúng ta cùng tìm hiểu thêm về một số lý thuyết cơ bản trước khi bắt đầu thiết lập nhé!

2. Tìm Hiểu về IP và Port

2.1 Port là gì?

Port (cổng) là một khái niệm trong mạng máy tính, đóng vai trò như một "cửa ngõ" giúp máy tính giao tiếp với các thiết bị hoặc dịch vụ khác qua mạng. Mỗi port gắn với một ứng dụng hoặc dịch vụ cụ thể, giúp định hướng dữ liệu đến đúng nơi.

Một số cổng phổ biến

Cổng 80 (HTTP):

  • Sử dụng cho các giao thức HTTP, phục vụ trang web không mã hóa (không bảo mật).
  • Đây là port mặc định cho các website cơ bản.

Cổng 443 (HTTPS):

  • Dùng cho các giao thức HTTP qua SSL/TLS, giúp bảo mật dữ liệu truyền tải trên mạng.
  • Các trang web hiện đại thường sử dụng port này để đảm bảo an toàn thông tin.

Cổng 20 - 21 (FTP):

  • Dùng cho giao thức truyền tệp (FTP), hỗ trợ việc upload hoặc download dữ liệu từ server.

Cổng 22 (SSH):

  • Cung cấp giao thức Secure Shell, cho phép quản trị viên kết nối an toàn vào VPS để quản lý từ xa.

2.2 Địa chỉ IP là gì?

IP (Internet Protocol) Address là một chuỗi số duy nhật được gán cho mỗi thiết bị trong mạng.

Mỗi địa chỉ IP bao gồm 2 thành phần chính:

  • Network ID: Xác định mạng mà thiết bị thuộc về.
  • Host ID: Xác định thiết bị cụ thể trong mạng đó.

Ví dụ:

  • IPv4: 192.168.1.1
  • IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Để kiểm tra IP trên thiết bị của bạn, hãy kiểm tra bằng lệnh:

ifconfig
Example output:

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.221  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::8e42:2ec0:47fb:6a2d  prefixlen 64  scopeid 0x20<link>
        inet6 fd00:db80::5  prefixlen 128  scopeid 0x0<global>
        inet6 fd00:db80::8e82:9b45:d8fd:1972  prefixlen 64  scopeid 0x0<global>
        inet6 2405:4802:80c3:88e0:ceea:13fb:3553:c7b5  prefixlen 64  scopeid 0x0<global>
        inet6 2405:4802:80c3:88e0::5  prefixlen 128  scopeid 0x0<global>
        inet6 2405:4802:80c3:88e0:bd52:fd58:9baf:f9a9  prefixlen 64  scopeid 0x0<global>
        inet6 fd00:db80::c173:6ff3:2152:e89b  prefixlen 64  scopeid 0x0<global>
        ether 10:e7:c6:7e:e6:0a  txqueuelen 1000  (Ethernet)
        RX packets 30445  bytes 5329671 (5.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21437  bytes 5290517 (5.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

inet 192.168.100.221 đây là địa chỉ IPv4, inet6 fe80::8e42:2ec0:47fb:6a2d đây là địa chỉ IPv6

Phân loại địa chỉ IP

  1. Private IP (IP nội bộ):
    • Là địa chỉ IP được sử dụng trong các mạng nội bộ như mạng gia đình, văn phòng. Kết nối qua LAN bằng IP nội bộ, không thể truy cập trực tiếp từ bên ngoài internet.
  2. Public IP (IP công cộng):
    • Là địa chỉ IP được cung cấp bởi nhà cung cấp dịch vụ internet (ISP). Dùng để định danh thiết bị hoặc server trên internet, cho phép truy cập bất kỳ đâu.

Sau khi đã hiểu rõ về lý thuyết cơ bản về Port và IP, bây giờ chúng ta sẽ bắt đầu thực hiện các bước cấu hình router tại nhà của bạn.

3. Thiết Lập và Cấu Hình Router cho Truy Cập Internet Công Khai

Lưu ý: Đảm bảo rằng router của bạn đã được nhà cung cấp dịch vụ mạng (ISP) mở IP Public.

Cách kiểm tra IP public đã được mở:

  1. Truy cập trang ping.eu
  2. Xem phần "Your IP" - đây chính là địa chỉ IP public của bạn⁠⁠
  3. Thực hiện kiểm tra:
    • Nhập địa chỉ IP của bạn vào ô nhập liệu
    • Nhập mã xác nhận (Code)
    • Nhấn nút "Go"
  4. Kiểm tra kết quả:
    • Nếu nhận được phản hồi: IP public đã được mở thành công
    • Nếu hiện thông báo "close": IP public chưa được mở, bạn cần liên hệ với nhà cung cấp dịch vụ internet để được hỗ trợ⁠.⁠

Hình ảnh ví dụ khi mở thành công

3.1 Mở Port trên Router (Port Forwarding)

Port forwarding là quá trình chuyển hướng lưu lượng từ một port cụ thể trên địa chỉ IP Public đến địa chỉ IP nội bộ của VPS hoặc máy chủ.

Các bước thực hiện:

  1. Đăng nhập vào giao diện quản lý router:
    • Mở trình duyệt và nhập địa chỉ IP của router (thường là 192.168.1.1 hoặc 192.168.0.1). Bạn có thể kiểm tra trên VPS bằng lệnh

      ip route | grep default
      
      Example output: 
      default via 192.168.1.1 dev wlan0 proto dhcp metric 600
      
    • Đăng nhập bằng tài khoản quản trị (username và password mặc định thường được ghi ở mặt sau router).

  2. Tìm mục Port Forwarding/Virtual Server:
    • Tùy theo router, mục này có thể nằm trong NAT Settings hoặc Advanced Settings.
    • Với router của tôi, Network → Access → Port Forwarding.
  3. Thêm cấu hình port:
    • Ví dụ, để trỏ lưu lượng HTTP và HTTPS về VPS:

    • Protocol: TCP

    • External Port: Là port mà người dùng bên ngoài sử dụng để truy cập.

    • Internal IP: Là địa chỉ IP nội bộ của VPS/máy chủ.

    • Internal Port: Là port mà dịch vụ (Nginx) đang chạy trên VPS.

  4. Lưu lại cấu hình.

3.2 Kiểm Tra Port Forwarding

  1. Sử dụng công cụ online như canyouseeme.org để kiểm tra port.
    • Nhập port 80 hoặc 443 để kiểm tra kết nối.

    • Nếu báo "Success", cấu hình đã hoạt động.

Tiếp theo bạn hãy thử truy cập trình duyệt your_public_ip:80

Như vậy, bạn đã thành công cấu hình và mở quyền truy cập IP Public thông qua cổng 80. Tiếp theo chúng ta cùng tìm hiểu thêm về Tên Miền và DNS.

4. Tên Miền và DNS

Tên miền là gì?

Tên miền (Domain Name) là một chuỗi ký tự dễ nhớ được sử dụng để thay thế cho địa chỉ IP. Thay vì phải nhớ một dãy số phức tạp, người dùng có thể truy cập website thông qua tên miền như "example.com".

Cấu trúc của tên miền:

  • Top-level domain (TLD): Phần cuối của tên miền (ví dụ: .com, .org, .net, .vn)
  • Second-level domain: Tên chính của website (ví dụ: google trong google.com)
  • Subdomain: Tên phụ được thêm vào trước tên miền chính (ví dụ: mail trong mail.google.com)

DNS là gì?

DNS (Domain Name System) là hệ thống phân giải tên miền, có nhiệm vụ chuyển đổi tên miền thành địa chỉ IP tương ứng.

Các bản ghi DNS phổ biến:

  • A Record: Liên kết tên miền với địa chỉ IPv4
  • AAAA Record: Liên kết tên miền với địa chỉ IPv6
  • CNAME Record: Tạo bí danh cho tên miền còn gọi là Subdomain

Bây giờ chúng ta sẽ chuyển sang phần thực hành: Mua một tên miền với chi phí hợp lý để tạo website cho riêng mình.

5. Hướng Dẫn Mua Tên Miền

Các bước để mua tên miền:

🌐 Bước 1: Đăng ký tài khoản

  • Truy cập tenten.vn và tiến hành đăng ký tài khoản. Sau khi đăng ký thành công, quay lại trang chủ.

🔍 Bước 2: Tìm kiếm tên miền

  • Sử dụng khung tìm kiếm để nhập Second-level domain (tên chính của website) mà bạn muốn đặt, sau đó nhấn tìm kiếm.

💡 Bước 3: Chọn Top-level domain

  • Lựa chọn Top-level domain (phần đuôi tên miền). Khuyến nghị chọn các đuôi tên miền có giá rẻ như .online hoặc .click, khoảng 30k, phù hợp với ngân sách và mục đích học tập.

💳 Bước 4: Thanh toán

  • Thực hiện thanh toán tên miền. Đảm bảo thanh toán thành công để sở hữu tên miền.

🖥️ Bước 5: Quản lý tên miền

  • Truy cập id.tenten.vn để quản lý tên miền. Chọn mục "Dịch vụ đang sử dụng → Tên miền" để xem thông tin chi tiết tên miền của bạn.

Trạng thái Hoạt Động thì bạn đã thành công mua được tên miền cho mình rồi, Bây giờ đến bước tiếp theo trỏ tên miền về địa chỉ IP public của bạn.

6. Trỏ tên miền về IP public

Sau khi mua thành công tên miền, bước tiếp theo là trỏ tên miền đó về địa chỉ IP Public của VPS. Việc này giúp người dùng truy cập website bằng một tên miền dễ nhớ (ví dụ: www.example.com) thay vì một địa chỉ IP dài và khó nhớ.

Các bước để trỏ tên miền về IP public:

  1. Đăng nhập

  2. Chọn theo các bước sau

    • Dịch vụ đang sử dụng → Tên miền → Thao tác (bấm vào hình bánh răng) → Cài DNS
  3. Cài DNS

    • Chọn Thêm nó sẽ hiện ra bảng:

      Screenshot 2024-12-04 101640.png

    Chú ý khi cấu hình bản ghi DNS:

    • Nếu chọn bản ghi là: A thì giá trị phải là địa chỉ IP, ví dụ: 209.85.5.35
    • Nếu chọn bản ghi là: CNAME thì giá trị phải là tên miền, ví dụ: hostingtocdo2.top
    • Nếu chọn bản ghi là: MX thì giá trị phải là tên mail server, ví dụ: mail
    • Nếu chọn bản ghi là: REDIRECT thì giá trị phải là tên miền , ví dụ: hostingtocdo2.top
    • Nếu chọn bản ghi là: FRAME thì giá trị phải là tên miền , ví dụ: hostingtocdo2.top

    Ở Đây mình muốn trỏ tên miền về IP Public thì nhập như sau:

    • Tên: @
    • Loại: A
    • Giá trị: là IP public của bạn và nhấn lưu.

    Thiết lập bản ghi DNS sẽ có hiệu lực nhanh nhất trong vòng 3 giờ. Chậm nhất 24 giờ.

    Bạn có thể kiểm tra bằng terminal của VPS bằng lệnh sau:

    ping Domain
    
    Example:
    ping example.online
    

    Nếu thấy có phản hồi thì bạn đã trỏ thành công về IP public của mình rồi nhé. Bây giờ bạn có thể trực tiếp truy cập website bằng tên miền.

    Screenshot 2024-12-04 104625.png

Như vậy, chúng ta đã hoàn tất việc trỏ tên miền về IP Public. Bây giờ, website của bạn đã có thể truy cập từ bất kỳ đâu trên thế giới thông qua tên miền cá nhân. Đây là một cột mốc quan trọng, không chỉ giúp bạn chia sẻ sản phẩm, dịch vụ hoặc ý tưởng của mình đến cộng đồng, mà còn nâng cao tính chuyên nghiệp và thương hiệu cá nhân.

Nhưng đó chưa phải là điểm dừng! Một website chuyên nghiệp cần đảm bảo an toàn và tối ưu trải nghiệm người dùng.

Trong Phần 3, chúng ta sẽ khám phá sâu hơn về:

  • Cách cấu hình Nginx để phục vụ nhiều subdomain trên cùng một VPS.
  • Các bước cài đặt HTTPS (SSL/TLS) để bảo mật kết nối và tăng sự tin tưởng từ người dùng.
  • Hãy sẵn sàng để website của bạn trở nên chuyên nghiệp hơn nữa!

7. Lời cảm ơn

Cảm ơn bạn đã dành thời gian đồng hành cùng mình trong hành trình thiết lập website trên VPS Ubuntu. Hy vọng bài viết này đã mang lại những thông tin hữu ích, giúp bạn tự tin hơn trong việc triển khai và quản lý website của mình. Mình rất trân trọng những ý kiến đóng góp từ bạn, vì nó sẽ giúp mình cải thiện và mang đến những nội dung chất lượng hơn trong tương lai. Đừng ngần ngại chia sẻ những thắc mắc hoặc trải nghiệm của bạn trong phần bình luận.

Chúc bạn thành công trên con đường xây dựng và phát triển các dự án công nghệ của mình! Hẹn gặp lại ở Phần 3 (10/12/2024)! 🙌


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí