banner-news

Trong bài này

    Virtual Hosts là gì? 06 Bước tạo Virtual Hosts trên Apache

    15/11/2023

    Ngoài việc lưu trữ tên miền, hiện nay Virtual Hosts đã có thêm nhiều tính năng khác nhau phục vụ cho doanh nghiệp. Vậy cụ thể thì Virtual Hosts là gì? Chúng có cách thức hoạt động như thế nào? Cùng tìm hiểu kỹ hơn thông qua bài viết bên dưới.

    Virtual Hosts là gì?

    Virtual Hosts là gì

    Virtual Hosts còn có tên gọi khác là Virtual Hosting, đây là một công cụ giúp quản lý nhiều Website khác nhau trên cùng một Web Server duy nhất. Điều này có nghĩa là doanh nghiệp có thể vận hành và phát triển nhiều trang Web khác nhau trên cùng một máy chủ, mỗi Website có một địa chỉ domain riêng nhưng chúng sử dụng cùng một IP.

    Khi có yêu cầu truy cập vào bất kỳ trang Web nào, máy chủ Web sẽ kiểm tra địa chỉ domain và IP để xác định người dùng cần truy cập vào trang Web nào. Quá trình này giúp đảm bảo phân chia lưu lượng truy cập dễ dàng và cho phép nhiều trang Web có thể chạy trên cùng một Server mà không ảnh hưởng đến hiệu suất.

    So với việc dùng nhiều địa chỉ domain trên một địa chỉ IP của máy chủ thì công cụ Virtual Hosts là một công cụ lý tưởng cho nhiều doanh nghiệp. Ngoài việc mang lại hiệu suất cao và tối ưu chi phí, Virtual Hosts còn mang lại nhiều lợi ích khác, ví dụ như:

    • Doanh nghiệp dễ dàng truy cập vào bất kỳ thư mục code nào, không cần phải copy code vào trong giao diện XAMPP, giúp tiết kiệm thời gian.
    • Ở bước cấu hình, nếu doanh nghiệp lưu trữ code tại một thư mục nhất định thì ở các bước tiếp theo, chúng ta không cần phải đồng bộ lại dữ liệu.

    Dưới đây, cùng tìm hiểu về cách thức vận hành của Virtual Hosts là gì để hiểu hơn về khái niệm này.

    Cách thức vận hành của Virtual Host

    Virtual Hosts có khá nhiều cách thức vận hành khác nhau, dưới đây là một số cách thức chính:

    IP Based

    IP Based là một trong những cách thức vận hành đơn giản nhất và được nhiều doanh nghiệp áp dụng. Trong đó, Web Server sẽ ánh xạ IP được yêu cầu đến đúng địa chỉ trang Web mà người dùng cần truy cập. Để tránh bị nhầm lẫn, mỗi một Website sẽ có 1 địa chỉ IP duy nhất.

    Port – Based

    Port Based có khá nhiều điểm tương tự với IP Based. Tuy nhiên, điểm khác biệt là Port Base hỗ trợ quản lý nhiều trang Web khác nhau dựa trên số Port đã được cấu hình kèm theo domain và địa chỉ IP.

    Name Based

    Máy chủ Web này sử dụng cùng 1 địa chỉ IP cho tất cả ác tên miền. Khi có trình duyệt khách yêu cầu truy cập Website, trình duyệt này sẽ gửi thông báo về tên miền cần truy cập cho máy chủ để được trả về kết quả chính xác.

    Cách thức vận hành của Virtual Host

    Phân biệt Server, Host, Virtual Host và VPS

    Virtual Hosts không giống với Server, Host hay VPS. Bảng dưới đây tóm tắt một số điểm khác biệt chính giữa Server, Host, VPS và Virtual Hosts là gì để doanh nghiệp nắm rõ:

    Server

    Đây là một máy tính vật lý hoặc máy tính ảo, có vai trò cung cấp tài nguyên hoặc dịch vụ cho các thiết bị khác trong mạng sử dụng.

    Host

    Nhà cung cấp dịch vụ sử dụng các máy tính để cung cấp tài nguyên, cơ sở hạ tầng, Server cho khách hàng.

    Virtual Host

    Một máy chủ duy nhất cho phép lưu trữ nhiều Website hoặc dịch vụ.

    VPS

    Một máy chủ ảo mô phỏng lại máy chủ chuyên dụng, cho phép doanh nghiệp sử dụng tài nguyên độc lập nhưng chi phí rẻ hơn.


     

    Trường hợp sử dụng Virtual Host

    Dưới đây là một số trường hợp phổ biến cần dùng đến Virtual Host:

    • Shared Hosting: Vì các Virtual Host triển khai nhiều Website hoặc ứng dụng chỉ trên một Server duy nhất, nên chúng thường được dùng trong môi trường Shared Hosting để cung cấp Website, tài khoản email và các tài nguyên khác riêng biệt cho từng người dùng.
    • Phát triển và kiểm thử: Các nhà phát triển sử dụng Virtual Host để tạo ra nhiều môi trường khác nhau, phục vụ mục đích phát triển và kiểm thử, đo lường ứng dụng phần mềm hoặc dự án học tạo ra.
    • Các nền tảng thương mại điện tử: Nền tảng mau bán online sử dụng Virtual Host để cung cấp các cửa hàng độc lập cho từng người dùng. Mỗi một cửa hàng sẽ được triển khai trên một tên miền riêng, tài nguyên riêng độc lập, không cần chia sẻ hay dùng chung với các cửa hàng khác.
    • Hệ thống quản lý nội dung (CMS): Các hệ thống quản lý nội dung như Wordpress, Joomla hoặc Drupal sử dụng Virtual Host để quản lý nhiều trang Web đa dạng trên cùng 1 Server. Qua đó, mỗi một Website có được quyền admin, nội dung và thiết kế riêng.
    • Website nhiều ngôn ngữ: Với Virtual Host, các chủ Website có thể tạo một Website đa ngôn ngữ với nhiều domain và cung cấp nội dung phù hợp cho từng vùng miền, mang lại trải nghiệm tốt nhất cho người dùng và đối tượng khách hàng mục tiêu.

    Cách tạo Virtual Host trên Apache đơn giản 

    Để tạo Virtual Host, chúng ta cần dùng đến Apache. Dưới đây, cùng tìm hiểu chi tiết cách tạo Virtual Host chi tiết:

    Apache là một chương trình Web Server mã nguồn mở, được thiết kế nhằm giúp các Server giao tiếp với nhau thông qua HTTP.

    Bước 1: Tạo cấu trúc thư mục

    Cấu trúc này giúp lưu trữ dữ liệu của người dùng khi truy cập vào Website. Cấu trúc như sau:

    sudo mkdir -p /var/www/test1.com/public_html
    sudo mkdir -p /var/www/test2.com/public_html

    Bước 2:  Cấp quyền truy cập

    Mặc định, thư mục vừa tạo thuộc tài khoản Root. Chúng ta cần cấp quyền để có thể sửa đổi các tập tin trong thư mục:

    sudo chown -R $USER:$YOUR_USER_NAME /var/www/test1.com /public_html
    sudo chown -R $USER:$ YOUR_USER_NAME /var/www/test2.com /public_html

    Bước 3: Tạo trang mẫu cho từng Virtual Host

    Bạn hãy mở trình soạn thảo và thực hiện các HTML:  vi /var/www/test1.com/public_html/index.html. Sau đó, hãy viết một đoạn HTML đơn giản để tạo trang mẫu và thoát khỏi trình chỉnh sửa:

    <html>
    <head>
    <title>Home Page of Test1.com<title>
    </head>
    <body>
    <h1>Success! The test1 virtual host is working!</h1>
    </body>
    </html>

    Tương tự, chúng ta tạo thêm một vài trang mẫu khác cho Website, chẳng hạn như test2 và test 3:

    vi /var/www/test2.com/public_html/index.html
    vi /var/www/test2.com/public_html/index.html

    Bước 4: Tạo tập tin mới

    Các tập tin trong Virtual Host chứa các thông tin và cấu hình cho mỗi domain Website khác nhau, như sau:

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sitesavailable/test1.conf
    

    Sau đó, hãy mở trình chỉnh sửa, chúng sẽ hiển thị như bên dưới:

    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

    Lúc này, chúng ta cần đổi địa chỉ Email thành Email của người quản trị Server:

    ServerAdmin admin@test1.com

    Bước tiếp theo là thêm Servername (tên miền Website) và ServerAlias:

    ServerName test1.com
    ServerAlias www.test2.com

    Bước cuối cùng, chúng ta thay đổi vị trí của Document root:

    DocumentRoot /var/www/test1.com/public_html.

    Bước 5: Kích hoạt tập tin Virtual Host

    Ở bước trên, chúng ta đã tạo tập tin Server ảo, bây giờ chúng ta cần kích hoạt nó theo lệnh sau:

    sudo a2ensite test1.com.conf
    sudo a2ensite test2.com.conf

    Sau đó, bạn có thể khởi động lại Apache bằng câu lệnh dưới để hoàn tất:

    sudo service apache2 restart

    Quá trình cài Virtual Hosts trên Apache đã hoàn tất! Bạn hãy thử mở lại Website và kích hoạt tên miền cho từng trang Web, bạn sẽ thấy thông báo đã thực hiện thành công.

    Bài viết trên đây đã cung cấp các thông tin cơ bản nhất về khái niệm Virtual Hosts là gì, các trường hợp cần dùng cũng như cách tự tạo một Virtual Hosts cho doanh nghiệp dựa trên Apache. Chúc doanh nghiệp thực hiện thành công.

    CMC Cloud - Giải pháp Điện toán đám mây Toàn diện & Linh hoạt nhất. Cho phép tùy biến sử dụng và quản trị 25+ dịch vụ

    Website: https://cmccloud.vn 

    Facebook: https://facebook.com/cmccloud.vn 

    Hotline: 1900.2010

    content-banner
    News Detail - Footer Email MKT

    Đăng ký nhận thông tin

    Bạn muốn cập nhật thông tin mới nhất từ CMC Cloud?! Hãy để lại địa chỉ email của bạn ngay để nhận những bản tin bổ ích

    back to top

    logo

    © 2023, CMC Cloud. All rights reserved.

    Business Registration Certificate

    Giấy ĐKKD: 0102900049. Nơi cấp: Sở Kế hoạch & Đầu tư Thành phố Hà Nội

    Chịu trách nhiệm nội dung: Đặng Tùng Sơn