Virtual Hosts là gì? Cách tạo nhiều Virtual Host trên Apache
16/12/2020Virtual Host là một thuật ngữ đã khá thông dụng với đa số lập trình viên khi Public các trang Web của mình lên Internet. Nhưng cũng có số đông người dùng là khách hàng hoàn toàn chưa hiểu hết về Virtual Host cũng như cách áp dụng thực tế lên trên máy chủ Server. Hãy cùng Viettel IDC tìm hiểu về Virtual Host để có thể lựa chọn và áp dụng phù hợp cho nhu cầu sử dụng của mình nhé!

Virtual Hosts là gì? Cách sử dụng Virtual Host trên Apache chạy cùng lúc nhiều web
Virtual Hosts là gì?
Virtual Hosts là một phương thức lưu trữ cho phép lưu nhiều tên miền khác nhau trên cùng một máy chủ Server. Virtual Hosts có thể được xem như một giải pháp cho phép bạn nhúng rất nhiều tên miền trên một địa chỉ IP của một Server duy nhất. Tùy vào cách cài đặt, Server sẽ tự hiểu tên miền nào đang hoạt động bên trong vị trí lưu trữ của Server.
>> Xem thêm Tìm hiểu hệ thống tên miền DNS – Domain Name System
Virtual Hosts được xem là một giải pháp khá hiệu quả và tiết kiệm chi phí hơn khi sử dụng nhiều tên miền chỉ trên một địa chỉ IP của Server. Ngoài ra, Virtual Host còn mang đến khá nhiều lợi ích trong quá trình sử dụng như:
- Người dùng có thể dễ dàng truy cập vào bất kỳ một thư mục lưu trữ Code nào và hoàn toàn không cần copy Code vào htdocs trong giao diện XAMPP.
- Trong quá trình thiết lập ban đâu, nếu bạn phân vùng lưu trữ Code ở một Folder Code nhất định thì khi cài lại hệ điều hành Window bạn hoàn toàn không cần sao lưu đồng bộ lại dữ liệu trong Folder Code rất tiện lợi.
Apache là gì?
Apache thường được gọi là Apache HTTP Server và được biết đến nhiều hơn khi là chương trình máy chủ cho phép bạn giao tiếp bằng giao thức HTTP và điều khiển hay thiết lập hoạt động của các Website trên hầu hết các hệ điều hành.
Hiện tại trên thế giới, Apache đang chiếm tỷ lệ sử dụng rất cao lên đến khoảng 47% trong tổng số thị phần websites đang hoạt động. Apache mang lại khả năng sử dụng cao khi cho phép quản trị viên có thể tùy chỉnh và đưa nội dung lên Website nên thường hay được gọi luôn thành cái tên “Web Server”.
Không chỉ đơn thuần dùng để sử dụng đặt nội dung lên Website, “Web Server” này còn là cổng giao tiếp phù hợp nhất giữa Server và các trình duyệt Web như: Firefox, Cốc Cốc, Chrome, Safari,… Cho phép bạn có thể thực hiện truyền hoặc nhận dữ liệu theo dạng Client-Server.
Apache là gì?
Cách tạo nhiều Virtual Host trên Apache
Như đã biết Apache là một phần mềm Web Server có thể chia nhiều tên miền trên một địa chỉ IP của Server. Vậy làm thế nào để bạn có thể tạo Virtual Host trên Apache để chạy nhiều Web cùng lúc, chúng ta hãy cùng thực hiện theo các bước hướng dẫn ngay bên dưới đây nhé!
Trước khi đi vào cách tạo Virtual Host trên Apache để chạy nhiều Web, bạn có thể tạo ra vô số Virtual Host để thêm tất cả Domain vào hệ thống VPS, sau đó chạy nhiều Web trên một Server rất dễ dàng. Ở đây, chúng ta cùng nhau tạo 3 Virtual Host để chạy 3 Web cùng lúc trên Server theo các bước sau nhé!
Bước 1: Tạo thư mục lưu trữ cho trang web
Trên phần mềm Apache thường sẽ chọn mặc định sử dụng địa chỉ /var/www làm thư mục chủ để lưu trữ dữ liệu và chứa tập tin trên Web Server. Vì thế ở bước đầu tiên này, bạn phải tạo thư mục lưu trữ cho Virtual Host theo đúng nhu số lượng Web thực tế cần chạy.
Bạn nên tạo thư mục con nằm trong thư mục mặc định của Apache và chúng ta có 3 thư mục gồm /var/www/ViettelIDC1.com, /var/www/ViettelIDC2.com và /var/www/ViettelIDC3.com
Cuối cùng trong bước 1, bạn phải tạo cho trang Web của mình nơi lưu trữ xử lý dữ liệu cho người dùng khi truy cập vào địa chỉ Web , thường nó sẽ được đặt tên là public_html bằng lệnh sau:
$ sudo mkdir -p /var/www/ViettelIDC1.com/public_html
$ sudo mkdir -p /var/www/ViettelIDC2.com/public_html
$ sudo mkdir -p /var/www/ViettelIDC3.com/public_html
Bước 2: Tạo tập tin để cấu hình Virtual Host bằng phần mềm Apache
Các tập tin cấu hình ban đầu Virtual Host của Apache thường nằm trong thư mục /etc/apache2/sites-available của phần mềm. Khi mở vào giao diện, bạn sẽ hiểu ngay hai tập tin của Apache Virtual Host mặc định sẽ là 000-default.conf và default-ssl.conf. Để tạo nên các tập tin mới, bạn phải dựa lên 2 tập tin này để cấu hình ban đầu theo câu lệnh sau:
$ ls -l /etc/apache2/sites-available
Sau đó, hệ thống sẽ tự gọi 2 Virtual Host mặc định có sẵn cho ba tên miền mới tạo:
$sudocp/etc/apache2/sites-available/000-default.conf/etc/apache2/sites-available/ViettelIDC1.com.conf
$sudocp/etc/apache2/sites-available/000-default.conf/etc/apache2/sites-available/ViettelIDC1.com.conf
Mở lên tập tin lên và tiến hành chỉnh sửa để cấu hình Virtual Host mới được tạo bằng cách cấu hình /etc/apache2/sites-available/ViettelIDC1.com.conf
$ sudo nano /etc/apache2/sites-available/ViettelIDC1.com.conf
Một bảng thông tin mới cho ViettelIDC1.com sẽ tự động được hiện ra ngay trước mặt bạn như sau:
Tạo tập tin để cấu hình Virtual Host bằng phần mềm Apache
Trong đó, bạn sẽ cần chỉnh lại khá nhiều các thuộc tính cho Web Server mới tạo để có thể tương thích và chạy một cách ổn định nhất gồm:
- ServerName: Tại thuộc tỉnh này bạn chỉ cần sửa lại tên thành Domain mà bạn mong muốn, như ví dụ chúng ta đang thực hiện ở trên là ViettelIDC1.com. Lưu ý bạn phải bỏ dấu # đặt ở đầu đi mới có thể lưu được nhé!
- ServerAdmin: Ở thuộc tính này bạn nên lựa chọn địa chỉ Email chính của mình để có thể quản lý cho Domain mới tạo này.
- DocumentRoot: Đây là địa chỉ lưu trữ thư mục trang Web mà bạn vừa mới tạo ở trên, như ví dụ chúng ta đang thực hiện ở trên là /var/www/ViettelIDC1.com/public_html.
- ServerAlias: Mặc định khi vào giao diện bạn sẽ không có mục này trong hệ thống. Tuy nhiên, nếu muốn bạn vẫn có thể thêm thuộc tính của nó ở phía dưới ServerName.
Sau khi chỉnh sửa xong bạn sẽ có một tập tin mới cấu hình cho Virtual Host của bạn với nội dung thay đổi được bôi vàng như sau:
Tạo tập tin và cấu hình Virtual Host bằng phần mềm Apache sau thay đổi
Sau bước này, bạn chỉ cần lưu lại những thay đổi là đã có thể tạo thành công cách tạo Virtual Host trên Apache để chạy nhiều Web ngay trên Server và thực hiện tương tự cho cả ví dụ 2, 3 nữa nhé!
Bước 3: Bật Virtual Host lên để các cấu hình vừa cài đặt hoạt động
Sử dụng lệnh như dưới để bật Virtual Host:
$ sudo a2ensiteViettelIDC1.com.conf
$ sudo a2ensite ViettelIDC1.com.conf
Khởi động lại ngay máy chủ Web Server Apache bằng dòng lệnh $ sudo service apache2 restart
Bước 4: Kiểm tra Virtual Host vừa tạo trên Apache hoạt động chưa
Để kiểm tra xem Virtual Host có hoạt động hay không bạn chỉ cần thực hiện tạo thêm 2 tập tin còn lại và chạy trực tiếp trên trình duyệt là sẽ biết được ngay bằng đoạn Code như sau:.
Tạo tập tin index.html trong
/var/www/ViettelIDC1.com/public_html
/var/www/ViettelIDC2.com/public_html
/var/www/ViettelIDC3.com/public_html
$ sudo nano /var/www/ViettelIDC1.com/public_html/index.html
$ sudo nano /var/www/ViettelIDC2.com/public_html/index.html
$ sudo nano /var/www/ViettelIDC3.com/public_html/index.html
Sau khi kiểm tra xong và thực hiện đầy đủ 4 bước như trên, bạn đã tạo thành công Virtual Host ngay trên Web Server và có thể Public ngay lên Internet một cách dễ dàng. Chúng ta hãy cùng Viettel IDC thử ngay cách tạo Virtual Host này ngay trên máy chủ Web Server của bạn và xem xem kết quả nhé!
>> Xem thêm Mua Domain giá rẻ chất lượng, nghĩ đến ngay Viettel IDC
Ngoài ra, nếu bạn đang có nhu cầu muốn thực hiện đăng ký nhiều tên miền với mức giá rẻ tiết kiệm chi phí, Viettel IDC sẽ hỗ trợ bạn với các gói cước mạng ảo giá cực rẻ để có thể Public Website của mình lên internet chỉ với 52.000 đồng. Tại Viettel IDC, mọi yêu cầu của bạn đều được đáp ứng từ nhu cầu thấp đến doanh nghiệp yêu cầu cao để có thể thực hiện được.
Để tìm hiểu thêm về dịch vụ Tên miền (Domain), Web Hosting của Viettel IDC, vui lòng liên hệ:
- Hotline: 1800.8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
- Website: https://viettelidc.com.vn
Viettel IDC – Nhà cung cấp dẫn đầu về giải pháp Trung tâm dữ liệu và Điện toán đám mây tại Việt Nam
Tin liên quan
Lỗi msvcr100.dll là gì? Hướng dẫn cách sửa lỗi msvcr100 dll nhanh chóng
Lỗi msvcr100.dll khiến phần mềm không khởi chạy trên Windows. Xem hướng dẫn khắc phục từng bước để bổ sung thư viện còn thiếu và sửa chữa chương trình bị lỗi.
Top 20 các extension visual studio code hữu ích cho lập trình viên
Các extension Visual Studio Code hữu ích mở rộng khả năng của trình soạn thảo, giúp lập trình viên tối ưu môi trường làm việc và nâng cao hiệu quả viết mã.
Bridge là gì? Cách hoạt động và ứng dụng trong mạng LAN
Bridge là gì? Cầu nối mạng hoạt động dựa trên địa chỉ MAC để kết nối các phân đoạn LAN, kiểm soát luồng dữ liệu và hỗ trợ triển khai mạng vật lý lẫn mạng ảo.
Lỗi Blocked due to other 4xx issue là gì? Nguyên nhân và cách fix lỗi
Lỗi Blocked due to other 4xx issue khiến Google không lập chỉ mục URL, cần xác định đúng mã HTTP và nguyên nhân để khắc phục hiệu quả trong Search Console.
Test case là gì? Cách viết test case và mẫu minh họa cho người mới
Test case là gì và làm sao để viết rõ ràng, đúng yêu cầu? Nắm vững cách xây dựng trường hợp kiểm thử qua ví dụ cụ thể để phát hiện sai lệch trong hoạt động phần mềm.
AI Inference là gì? Cơ chế và vai trò trong vận hành AI
AI inference là gì? Cách mô hình AI tạo kết quả sau huấn luyện, phân biệt với AI training, các hình thức triển khai và ứng dụng thực tế trong doanh nghiệp.
DBeaver là gì? Hướng dẫn cài đặt và kết nối cơ sở dữ liệu với DBeaver
DBeaver là gì? Khám phá tính năng quản lý cơ sở dữ liệu, các phiên bản miễn phí và trả phí cùng hướng dẫn cài đặt, kết nối, chạy truy vấn SQL cho người mới.
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 đơn giản
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 qua Settings, Control Panel, CMD và các công cụ quản trị được hướng dẫn chi tiết theo từng bước dễ thực hiện.
Microsoft Management Console là gì? Cách sử dụng MMC cho người mới
Microsoft Management Console là gì? Đây là nền tảng tập hợp các công cụ quản trị Windows, hỗ trợ quản lý hệ thống, thêm snap-in và lưu console theo nhu cầu sử dụng.
Rủi ro khi sử dụng giả lập online và cách phòng tránh
Rủi ro khi sử dụng giả lập online có thể gây lộ dữ liệu, mất quyền kiểm soát tài khoản, lừa đảo trực tuyến, vi phạm chính sách game, gián đoạn thao tác và phát sinh chi phí.

Bình luận ()