Hướng dẫn tạo Apache Virtual Hosts trên Ubuntu 20.04

1. Virtual host là gì?

Virtual host là một cấu hình của Apache cái mà cho phép bạn chạy nhiều website cùng một lúc trên một Server. Với Virtual host, bạn có thể thiết lập thư mục, thiết lập bảo mật (security) cho từng website, sử dụng SSL certificates riêng biết và…

Hiểu đơn giản, bạn có một Server, sau đó muốn chạy nhiều domain cùng trỏ về Server này.
Domain ABC.com trỏ về thư mục var/www/abc với các thiết lập xyz nào đó
Domain hanhtrinhtuoitre.com trỏ về thư mục var/www/hanhtrinh với các thiết lập hkt gì đấy

2. Tạo Virtual host như nào?

Giả định bạn có domain hanhtrinhtuoitre.local và bạn muốn trỏ nó vào thư mục /var/www/html/my_code

B1. Hãy chắc chắn bạn đã cài Apache

sudo systemctl status apache2

Nếu hiển thị như dưới đây tức là đã okey rồi.

apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: <strong>active (running)</strong> since Tue 2020-09-15 21:49:25 +07; 35min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 1057 (apache2)
      Tasks: 6 (limit: 19012)
     Memory: 22.7M
     CGroup: /system.slice/apache2.service
             ├─1057 /usr/sbin/apache2 -k start
             ├─1113 /usr/sbin/apache2 -k start
             ├─1114 /usr/sbin/apache2 -k start
             ├─1115 /usr/sbin/apache2 -k start
             ├─1116 /usr/sbin/apache2 -k start
             └─1117 /usr/sbin/apache2 -k start
B2. Tạo Virtual host file

Tạo một file mới (hanhtrinh.conf) và đặt nó tại /etc/apache2/sites-available/hanhtrinh.conf

sudo nano /etc/apache2/sites-available/hanhtrinh.conf

<VirtualHost *:80>
    ServerName hanhtrinhtuoitre.local
    ServerAlias www.hanhtrinhtuoitre.local
    ServerAdmin webmaster@hanhtrinhtuoitre.com
    DocumentRoot /var/www/html/my_code

    <Directory /var/www/html/my_code>
        Options FollowSymLinks
        AllowOverride All
        DirectoryIndex index.php
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/hanhtrinhtuoitre.local-error.log
    CustomLog ${APACHE_LOG_DIR}/hanhtrinhtuoitre.local-access.log combined
</VirtualHost>
B3. Enable site

sudo a2ensite hanhtrinh.conf
sudo systemctl restart apache2

3. Thiết lập Local host file (nếu bạn làm cho môi trường local)

Nếu bạn không có một domain thực sự, bạn chỉ đang chạy trên môi trường local với một domain ảo thì hãy sửa lại file hosts bằng cách thêm dòng “127.0.1.1 hanhtrinhtuoitre.local”

sudo nano /etc/hosts

127.0.0.1   localhost
127.0.1.1   guest-desktop

127.0.1.1   hanhtrinhtuoitre.local

4. Kiểm tra thành quả

Truy cập vào trang hanhtrinhtuoitre.local, nếu hiển thị website của bạn là thành công rồi!

Join the Conversation

2 Comments

Leave a comment

Leave a Reply to asda Cancel reply

Your email address will not be published.