Hướng dẫn cấu hình Virtual Host trên Apache

I. Tổng quan

Virtual Host là một phương thức cho phép bạn chạy nhiều website khác nhau trên một máy chủ web. Virtual Host phân biệt và phục vụ các trang web khác nhau dựa trên địa chỉ IP hoặc tên miền của từng trang web.

Với Virtual Host, bạn có thể cấu hình các thiết lập riêng cho từng trang web, bao gồm cả các tệp cấu hình, định tuyến và các tính năng khác. Việc sử dụng Virtual Host giúp bạn quản lý nhiều trang web trên cùng một máy chủ một cách dễ dàng và tiết kiệm chi phí phát triển và quản lý hệ thống.

Trong bài viết này, Long Vân sẽ hướng dẫn về cách cấu hình Virtual Host trên máy chủ Apache2.

II. Cài đặt Apache2 trên Ubuntu

  1. Truy cập vào server chạy các lệnh sau để cài đặt Apache:
    # apt-get update
    # apt-get install apache2
  2. Sau khi cài xong ta bắt đầu khỏi chạy dịch vụ
    # systemctl enable apache2
    # systemctl start apache2
  3. Mở firewall cho service apache2
    # ufw allow 80
    # ufw allow 443

III. Cấu hình Virtual Host

  1. Tạo 1 đường dẫn source web và cấp quyền cho đường dẫn đó:
    Trong hướng dẫn này, Long Vân sử dụng domain lvtest.com với source được lưu ở thư mục /var/www/html/lvstest/public_html/

    # mkdir -p /var/www/html/lvstest/public_html/
    # chown -R $USER:$USER /var/www/lvstest/public_html/
    # chmod -R 755 /var/www/
  2. Tạo 1 file Virtual Host mới và thêm nội dung
    <VirtualHost *:80>
        ServerAdmin admin@lvstest.com
        ServerName lvstest.com
        DocumentRoot /var/www/html/lvstest/public_html/
        ErrorLog /var/log/apache2/lvstest.error.log
        CustomLog /var/log/apache2/lvstest.access.log combined
    </VirtualHost>
    • Trong đó:
      • ServerAdmin là từ khóa khai báo địa chỉ email của admin
      • ServerName là tên miền mà ta muốn chạy website
      • DocumentRoot là từ khóa khai báo đường dẫn của source code 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.
      • ErrorLog là đường dẫn file log thì có lỗi
      • CustomLog là đường dẫn file log ghi lại tất cả các request và người dùng truy cập.
  3. Kích hoạt Virtual Host
    # a2ensite lvstest.conf
  4. Sau đó ta kiểm tra lỗi cấu hình bằng lệnh sau
    # apache2ctl configtest
  5. Sau đó khởi động lại dịch vụ apache2

IV. Kiểm tra

  1. Tạo một trang web test đơn giản với lệnh
    touch /var/www/html/lvstest/public_html/index.html
  2. Nội dung như sau:
    <html>
        <head>
            <title> website test</title>
        </head>
        <body>
            <h1> Long Van xin chao quy khach!</h1>
        </body>
    </html>
  3. Kiểm tra kết quả bằng cách truy cập tên miền http://lvstest.com

Như vậy, Long Vân đã hoàn thành hướng dẫn Quý khách cách cấu hình Virtual Host trên Apache2. Chúc Quý khách thành công!