Giới thiệu về Virtual Host

Virtual Host là một cấu hình trong Apache để cho phép nhiều domain cùng chạy trên một máy chủ. Có một khái niệm khác được đề cập tới trong Nginx cũng có chức năng tương tự như Virtual Host được gọi là Server Block

Cấu hình Virtual Host trong XAMPP

Cách cài XAMPP

B1: Mở <thu_muc_cai_dat_xampp>/apache/conf/httpd.conf

Tìm dòngInclude conf/extra/httpd-vhosts.conf nếu thấy có dấu # ở đầu dòng thì xóa bỏ dấu #

B2: Mở tệp tin<thu_muc_cai_dat_xampp>/apache/conf/extra/httpd-vhosts.conf copy đoạn code bên dưới và paste vào trong file httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@yourdomain.com
    DocumentRoot "<đường dẫn thư mục sẽ được gọi tới khi truy cập vào youdomain.com"
    ServerName  youdomain.com
    ErrorLog "logs/yourdomain.com-error.log"
    CustomLog "logs/yourdomain.com-access.log" common
    <Directory "<đường dẫn thư mục">
        Options FollowSymLinks
        AllowOverride All
        DirectoryIndex index.php
        Require all granted
    </Directory>
</VirtualHost>
  • <VirtualHost></VirtualHost> Đây là cặp thẻ báo hiệu mở đầu và kết thúc của một khai báo về Vhost. Có một lưu ý nhỏ là nếu bạn nào đổi port của Apache (8080,81,v.v...) thì cũng phải đổi số 80 theo port các bạn chuyển sang nhé.
  • ServerAdmin Từ khóa khai báo địa chỉ email của admin (Không bắt buộc).
  • DocumentRoot Đây là từ khóa khai báo đường dẫn của thư mục sẽ được gọi khi người dùng truy cập vào domain được cấu hình. Đường dẫn này có thể nằm ở bất kỳ một phân vùng nào.
  • ServerName Chính là domain mà bạn muốn đặt.
  • ErrorLog Chỉ định đường dẫn của file log khi có lỗi (không bắt buộc) <thu_muc_cai_dat_xampp>/apache/logs là thư mục chứa file log.
  • CustomLog Log lại tất cả các Uri mà người dùng request không bắt buộc) <thu_muc_cai_dat_xampp>/apache/logs là thư mục chứa file log.

  • <Directory></Directory> Đây là cặp thẻ dùng để cấp quyền truy cập cho thư mục nếu thư mục không được cấp quyền sẽ gặp lỗi 403 khi các bạn cố gắng truy cập. Đường dẫn thư mục của bạn có thể là một regular expression. Nếu các bạn không rõ về Regex thì các bạn có thể dùng đường dẫn thư mục giống với khai báo trong DocumentRoot hoặc tham khảo thêm tại: http://httpd.apache.org/docs/2.4/en/mod/core.html#directory

  • Options FollowSymLinks Option này cho phép bạn truy cập theo symbolic link (giống như shortcut trong windows vậy). Ngoài ra còn có nhiều các options khác, các bạn có thể tham khảo thêm tại: http://httpd.apache.org/docs/2.4/en/mod/core.html#options

  • AllowOverride All cho phép bạn overwrite các config bằng file htaccess.

  • DirectoryIndex index.php Khi các bạn truy cập vào thư mục ( không chỉ rõ cụ thể là file nào) thì file index.php sẽ được gọi.

Require all granted là cho phép tất cả các máy khác được truy cập vào thư mục đang được cấu hình. Chú ý: từ phiên bản 2.2 trở về trước thì Apache sử dụng Allow from all để thay thế cho Require all granted

B3: Khởi động lại Apache

Ok vậy là bạn đã cấu hình xong về phần của Apache giờ chỉ việc đăng ký DNS cho domain của bạn nữa là mọi việc hoàn tất.

Các bạn mở file %windir%/system32/drivers/etc/hosts thêm vào cuối file

127.0.0.1 yourdomain.com

Khi các bạn gõ địa chỉ yourdomain.com thì máy sẽ ưu tiên tìm địa chỉ IP của domain đó trong file hosts của hệ điều hành trước tiên.

Nếu không có thì nó sẽ đi tìm địa chỉ IP của domain này thông qua các DNS Server trên Internet. Vì bạn đã khai báo trong file hosts nên nó sẽ sử dụng địa chỉ IP được khai báo trong đó luôn. Ở đây địa chỉ IP 127.0.0.1 trỏ về chính máy đang truy cập (chính là máy của bạn - còn nếu cấu hình trên server thì đó chính là bản thân máy server luôn). Bạn có thể sử dụng dài IP từ 127.0.0.1 -> 127.255.225.254 đây là dải IP trỏ về máy của bạn ( Nguyên dải luôn chứ không phải chỉ là 127.0.0.1 nhé ).

Giờ các bạn mở trình duyệt và gõ vào thanh địa chỉ thay thế dòng localhost xấu xí bằng một domain của riêng bạn. http://yourdomain.com . Đẹp hơn địa chỉ ip đúng ko nào. Chúc các bạn thành công

Viết câu trả lời

Drop Images

0 Bình luận