Cài đặt Apache2 trên Ubuntu 22.04: Virtual Hostings

bởi | LPI, Ubuntu

Home » LPI » Ubuntu » Cài đặt Apache2 trên Ubuntu 22.04: Virtual Hostings

Chuẩn bị

– Đã cài Apache2 như bài: Cài đặt Apache2 trên Ubuntu 22.04
– Đã cài DNS Server tương tự bài: Cài đặt DNS Server trên Ubuntu 22.04: Internal Network. Và tạo thêm domain cùng các bản ghi A và PTR như sau:

root@dns:~# vi /etc/bind/named.conf.internal-zones
zone "virtual.local" IN {
        type master;
        file "/etc/bind/virtual.local.lan";
        allow-update { none; };
};

root@dns:~# vi /etc/bind/virtual.local.lan
$TTL 86400
@   IN  SOA     dns.virtual.local. root.virtual.local. (
        2024052001  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
        IN  NS      dns.virtual.local.
        IN  A      10.0.0.6
        IN  NS      mail.virtual.local.

dns     IN  A       10.0.0.3
mail     IN  A       10.0.0.3

www     IN  CNAME   virtual.local.

root@dns:~# vi /etc/bind/0.0.10.db
6      IN  PTR     virtual.local.

root@dns:~# systemctl restart named

Cấu hình Virtual Hostings

– Configure Virtual Hostings để sử dụng nhiều domain name.
– Ví dụ này, Thêm một Host setting mới có domain name là [virtual.local], có thư mục gốc là [/var/www/virtual.local].

root@www:~# vi /etc/apache2/sites-available/virtual.local.conf
# tạo mới
# cài đặt cho domain mới
<VirtualHost *:80>
    DocumentRoot /var/www/virtual.local
    ServerName virtual.local
    ServerAdmin webmaster@virtual.local
    ErrorLog /var/log/apache2/virtual.local.error.log
    CustomLog /var/log/apache2/virtual.local.access.log combined
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/virtual.local
    ServerName www.virtual.local
    ServerAdmin webmaster@virtual.local
    ErrorLog /var/log/apache2/virtual.local.error.log
    CustomLog /var/log/apache2/virtual.local.access.log combined
</VirtualHost>
root@www:~# a2ensite virtual.local
Enabling site virtual.local.
To activate the new configuration, you need to run:
  systemctl reload apache2

– Reload lại dịch vụ Apache2

root@www:~# systemctl reload apache2

Tạo một test page

– Tạo một trang thử nghiệm và truy cập vào nó từ bất kỳ máy khách nào có trình duyệt web

root@www:~# mkdir /var/www/virtual.local
root@www:~# vi /var/www/virtual.local/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Virtual Host Test Page
</div>
</body>
</html>

– Truy cập: http://www.virtual.local/ hoặc http://virtual.local/ Nếu trang được hiển thị như ảnh thì OK
Cài đặt Apache2 trên Ubuntu 22.04: Virtual Hostings

Tham khảo thêm

Cài đặt ban đầu Ubuntu 22.04: Enable root user

Cài đặt ban đầu Ubuntu 22.04: Network Settings