Đối với nhưng người quản trị hệ thống thì Apache quả thực là 1 trong những công cụ hỗ trợ hiệu quả nhất hiện nay, với tính linh hoạt và độ ổn định cao, dễ dàng thiết lập, cấu hình, hỗ trợ việc quản lý nhiều domain cho dù hệ thống web server chỉ có 1 địa chỉ IP. Bên cạnh đó, chúng ta cũng có thể sử dụng để lưu trữ nhiều site khác nhau...
Bên cạnh đó, chúng ta cũng có thể sử dụng để lưu trữ nhiều site khác nhau, hoặc đơn giản chỉ thiết lập 1 hệ thống sandbox dành cho việc phát triển ứng dụng. Trong bài viết dưới đây, chúng tôi sẽ trình bày một số thao tác cơ bản để tạo host ảo – virtual host bằng Apache.
Về mặt bản chất, quá trình thiết lập host là 1 “thử thách” không hề đơn giản nhưng trên thực tế thì lại không phải như vậy. Người sử dụng hoàn toàn có thể thiết lập được 1 hệ thống virtual host chỉ với vài thao tác đơn giản như thay đổi tùy chỉnh trong Apache. Cụ thể trong bài thử nghiệm này, chúng tôi sử dụng hệ điều hành Ubuntu server và phiên bản Apache tương ứng.
Tạo cấu trúc thư mục:

Trước khi bắt tay vào quá trình cấu hình thì các bạn phải hoàn tất bước cấu trúc thư mục dành cho các site ảo. Tại đây chúng ta sẽ làm việc với Apache được cài đặt trên hệ thống Ubuntu server, do vậy phần tài liệu root của Apache sẽ xuất hiện tại Về bản chất, cấu trúc thư mục dành cho website mới có thể được tạo tại bất kỳ đâu, có thể trong thư mục , hoặc Để đơn giản hóa tối đa bài thử nghiệm này, chúng tôi sẽ thiết lập virtual host trong phần tài liệu root của Apache (trong Ubuntu sẽ là thư mục), với bước làm này, chúng ta sẽ không cần thiết phải thay đổi mức của những thư mục được tạo sau này hoặc thư mục gốc có chứa virtual host.
Cụ thể, trong bài thử nghiệm này chúng tôi sẽ thiết lập host ảo và gõ lệnh sau để tạo thư mục chứa virtual host:
sudo mkdir /var/www/test_site
sudo chmod -R 755 /var/www/test_site

Khi đó, thư mục gốc của virtual host đã được tạo thành công, và đây cũng là thời điểm thiết lập Apache để bắt đầu quá trình tạo website mới. Sau khi hoàn tất bước cấu hình Apache này, toàn bộ website sẽ được xây dựng bên trong
Cấu hình Apache:

Bước đầu tiên trong quá trình thiết lập Apache để đảm bảo rằng Apache “biết” rằng virtual host đã được kích hoạt. Cụ thể, trong phần cấu hình của Ubuntu, các bạn hãy tìm đến đoạn sau trong file
Include sites-enabled/

Hãy chắc chắn rằng dòng mã này vẫn đang ở trạng thái hoạt động (không bắt đầu bằng ký tự ). Cấu trúc lệnh sites-enabled sẽ được trỏ tới . Khi tìm kiếm trong thư mục đó, chúng ta sẽ thấy có file – có chứa nhiều thông tin về tất cả các thư mục cần thiết cho site ảo sẽ được tạo sau này. Và để tạo mới virtual host, chúng ta cần tạo 1 file mới bên trong thư mục có sẵn, đó là . Cụ thể, nội dung của file đó sẽ trông tương tự như sau:
<VirtualHost test.domain.com>
ServerAdmin webmaster@localhost
#We want to be able to access the web site using www.test.domain.com or test.domain.com
ServerAlias www.test.domain.com
DocumentRoot /var/www/test_site
#log file for this server
CustomLog /var/log/apache2/www.test.domain.com-access.log combined
</VirtualHost>

Đoạn mã trên được dùng trong trường hợp giả sử rằng domain.com sẽ là domain được dùng (thay thế giá trị này với tên miền bạn sử dụng). Và bên cạnh đó, chúng ta cần thực hiện thêm 2 bước đơn giản dưới đây trước khi khởi động lại Apache. Trước tiên là việc khởi tạo đường dẫn kết nối trong tới file vừa được tạo:
- Truy cập thư mục với lệnh
- Tạo đường dẫn kết nối bằng lệnh
Bên cạnh đó, chúng ta cũng có thể tạo được đường dẫn kết nối tự động bằng lệnh , và sau đó tạm thời tắt bỏ hoạt động của virtual site, xóa bỏ kết nối với lệnh
Và bước cuối cùng để đảm bảo rằng server “biết” về sự tồn tại của virtual site chứ không phải là qua Internet. Cụ thể, chúng ta cần làm như sau:
- Mở file bằng chương trình soạn thảo text bất kỳ với quyền Administrator
- Thêm dòng mã
- Lưu và đóng file đó lại.
Khởi động lại Apache với lệnh sudo và kiểm tra virtual host bằng cách gõ địa chỉ vào trình duyệt.
Với những hệ thống server non – debian:

Nếu hệ thống server lưu trữ virtual site không phải là distributor dựa trên Debian thì một số bước thiết lập sẽ khác biệt 1 chút. Cụ thể như sau:
- Tạo thư mục chứa virtual site trong file – tương tự như với hệ thống sử dụng Debian.
-Đảm bảo rằng file cấu hình Apache “nhận biết” được sự tồn tại của virtual host bằng cách giữ nguyên chức năng hoạt động của dòng mã
- Tạo file virtual host mới (thường gọi là ) trong thư mục
- Gán thêm virtual site vào file
- Khởi động lại Apache bằng lệnh
Thư mục lưu trữ của chúng ta (đối với hệ thống non – Debian) sẽ trông tương tự như dưới đây:
<VirtualHost *:80>
ServerName test.domain.com
DocumentRoot /var/www/html/test_site
</VirtualHost>

Còn file virtual host được đề cập tới tại phần trên sẽ trông như sau:
<VirtualHost 127.0.0.1>
DocumentRoot /var/http/www/test_site
ServerName www.test.domain.com
</VirtualHost>

<VirtualHost 127.0.0.1>
DocumentRoot /var/http/www/test_site
ServerName test.domain.com
</VirtualHost>

Đây cũng là thời điểm virtual host đã được thiết lập và hoạt động ổn định, và việc tiếp theo là xây dựng website bên trong thư mục. Chúng ta có thể thực hiện việc này với nhiều hệ thống virtual host theo ý muốn, hoặc bằng những công cụ như Drupal, Xoops hoặc Joomla. Chúc các bạn thành công!

Nguồn từ Quản trị mạng