Cấu hình Apache virtual host trên nhiều domains dùng Ubuntu 20.04

Cấu hình Apache virtual host trên nhiều domains dùng Ubuntu 20.04

Trong hướng dẫn này, chúng tôi sẽ cài đặt và định cấu hình Apache trên Máy chủ Ubuntu 20.04. Bạn có thể sử dụng hướng dẫn này cho một hoặc nhiều tên miền bằng Máy chủ ảo.

Install Apache

Cập nhật danh sách gói và cài đặt Apache trên Ubuntu 20.04.

Dưới đây chúng tôi có hai lệnh được phân tách bằng &&. Lệnh đầu tiên sẽ cập nhật danh sách gói để đảm bảo bạn có được phiên bản mới nhất cho Apache. Lệnh thứ hai sẽ tải xuống và cài đặt Apache.

Nhấn yENTER để tiếp tục.

sudo apt update && sudo apt install apache2

Quá trình cài đặt có thể mất vài phút. Sau khi cài đặt, tiếp tục đến tiếp theo để cấu hình tường lửa.

Cấu hình tường lửa (Firewall)

Chúng tôi khuyên bạn nên cấu hình tường lửa để tăng cường bảo mật.

Chúng tôi sẽ bắt đầu bằng cách thêm các quy tắc tường lửa cho dịch vụ SSH. Lý do là nếu bạn định cấu hình máy chủ từ xa, bạn không muốn bị khóa truy cập qua SSH khi tường lửa đang hoạt động. Nếu bạn đã thực hiện điều này trong hướng dẫn Khởi tạo máy chủ Ubuntu 20.04, việc thêm lại nó một lần nữa là một biện pháp phòng ngừa. Nếu đã cấu hình tường lửa, hãy bỏ qua nó

sudo ufw allow OpenSSH

Nếu bạn gặp lỗi “ERROR: could find a profilematch openSSH”, điều này có thể có nghĩa là bạn không định cấu hình máy chủ từ xa và có thể bỏ qua nó.

Bây giờ chúng ta có thể thêm các quy tắc tường lửa cho Apache.

sudo ufw allow in "Apache Full"

Bật tường lửa nếu nó chưa có.

sudo ufw enable

Nhấn y nếu bạn thấy thông báo “Command may disrupt existing ssh connections”.

Nếu tường lửa được kích hoạt chính xác, bạn sẽ thấy “Firewall is active and enabled on system startup”.

Bạn cũng có thể kiểm tra trạng thái tường lửa hiện tại bằng:

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

Ở trên chúng ta có thể thấy tường lửa đang hoạt động và có hai quy tắc cho mỗi dịch vụ. v6 là viết tắt của IPv6.

Test Apache

Để xem Apache đã được cài đặt chính xác, chúng ta có thể kiểm tra trạng thái dịch vụ Apache hiện tại.

sudo service apache2 status

Bạn sẽ thấy trạng thái đang hoạt động màu xanh lục.

● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Sat 2020-03-31 08:44:04 CEST; 15min ago
Main PID: 5727 (apache2)
Tasks: 55 (limit: 4915)
CGroup: /system.slice/apache2.service
├─5727 /usr/sbin/apache2 -k start
├─5728 /usr/sbin/apache2 -k start
└─5729 /usr/sbin/apache2 -k start

Mar 31 08:44:04 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
Mar 31 08:44:04 ubuntu2004 apachectl[5675]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. 
Mar 31 08:44:04 ubuntu2004 systemd[1]: Started The Apache HTTP Server.

Cấu hình Virtual Host

Nếu bạn muốn lưu trữ nhiều tên miền trên máy chủ Ubuntu 20.04 của mình, bạn nên thiết lập một máy chủ ảo.

Tạo một thư mục mới trong /var/www/ cho tên miền của bạn. Chỉ cần thay thế mydomain.com bằng tên miền của bạn.

sudo mkdir -p /var/www/mydomain.com/public_html

Tạo file index.html để test.

sudo nano /var/www/mydomain.com/public_html/index.html
Nhập đoạn html sau
<html>
   <head>
     <title>Welcome!</title>
   </head>
   <body>
      <h1>Welcome to mydomain.com!</h2>
   </body>
</html>

Lưu lại và thoát (nhấn CTRL + X, nhấn Y rồi nhấn ENTER)

Tạo tệp cấu hình máy chủ ảo thay thế mydomain.com bằng tệp của riêng bạn.

sudo nano /etc/apache2/sites-available/mydomain.com.conf

Nhập thông tin sau, thay thế mydomain.com bằng tên miền của bạn.

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /var/www/mydomain.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Lưu lại và thoát (nhấn CTRL + X, nhấn Y rồi nhấn ENTER)

Kiểm tra lỗi.

apachectl configtest

Bật máy chủ ảo trên 1 tên miền dựa vào tệp đã cấu hình trước đó

sudo a2ensite mydomain.com.conf

Vô hiệu hóa trang web Apache mặc định, nếu không nó sẽ ghi đè lên cấu hình trước đó của bạn.

sudo a2dissite 000-default

Khởi động lại Apache

sudo systemctl reload apache2

Nếu bạn đã trỏ bản ghi A cho tên miền của bạn tới IP của máy chủ, kiểm tra trang web trong trình duyệt.

Cấu hình Apache virtual host trên nhiều domains dùng Ubuntu 20.04

Bây giờ bạn có thể thêm nhiều tên miền hơn bằng cách lặp lại các bước trên.

Cấu hình khác trên Apache

Enable mod_rewrite

sudo a2enmod rewrite Restart Apache
sudo systemctl restart apache2
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x