Cách thiết lập server ảo Apache trên Ubuntu 18.04 [Quickstart]
Hướng dẫn này sẽ hướng dẫn bạn cài đặt nhiều domain và trang web bằng cách sử dụng server ảo Apache trên server Ubuntu 18.04. Trong quá trình này, bạn sẽ học cách cung cấp các nội dung khác nhau cho những khách truy cập khác nhau tùy thuộc vào domain họ đang yêu cầu.Để có version chi tiết hơn của hướng dẫn này, với giải thích rõ hơn về từng bước, vui lòng tham khảo Cách cài đặt server ảo Apache trên Ubuntu 18.04 .
Yêu cầu
Để hoàn thành hướng dẫn này, bạn cần truy cập vào phần sau trên server Ubuntu 18.04:
- Một user sudo trên server của bạn
- Web server Apache2 mà bạn có thể cài đặt với
sudo apt install apache2
Bước 1 - Tạo cấu trúc folder
Trước tiên, ta sẽ tạo một cấu trúc folder chứa dữ liệu trang web mà ta sẽ phục vụ cho khách truy cập trong folder Apache cấp cao nhất của ta . Ta sẽ sử dụng các domain mẫu, được đánh dấu bên dưới. Bạn nên thay thế chúng bằng domain thực của bạn.
- sudo mkdir -p /var/www/example.com/public_html
- sudo mkdir -p /var/www/test.com/public_html
Bước 2 - Cấp quyền
Bây giờ ta nên thay đổi quyền cho user không phải root hiện tại của ta để có thể sửa đổi các file .
- sudo chown -R $USER:$USER /var/www/example.com/public_html
- sudo chown -R $USER:$USER /var/www/test.com/public_html
Ngoài ra, ta sẽ đảm bảo quyền truy cập đọc được phép vào folder web chung và tất cả các file và folder mà nó chứa để các trang có thể được phân phối chính xác.
- sudo chmod -R 755 /var/www
Bước 3 - Tạo các trang demo cho từng server ảo
Hãy tạo một số nội dung để phục vụ, ta sẽ tạo một trang index.html
trình diễn cho mỗi trang web. Ta có thể mở index.html
trong editor cho trang web đầu tiên của ta , sử dụng nano chẳng hạn.
- nano /var/www/example.com/public_html/index.html
Trong file này, hãy tạo trang HTML dành riêng cho domain , như sau:
<html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>Success! The example.com virtual host is working!</h1> </body> </html>
Lưu file , sau đó sao chép file này để sử dụng làm cơ sở cho trang web thứ hai của ta :
- cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
Mở file và sửa đổi các phần thông tin có liên quan:
- nano /var/www/test.com/public_html/index.html
<html> <head> <title>Welcome to Test.com!</title> </head> <body> <h1>Success! The test.com virtual host is working!</h1> </body> </html>
Lưu file này.
Bước 4 - Tạo file server ảo mới
Apache đi kèm với một file server ảo mặc định được gọi là 000-default.conf
mà ta sẽ sử dụng làm mẫu. Ta sẽ sao chép nó để tạo file server ảo cho từng domain của ta .
Tạo file server ảo đầu tiên
Bắt đầu bằng cách sao chép file cho domain đầu tiên:
- sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
Mở file mới trong editor ( ta đang sử dụng nano bên dưới) với quyền root:
- sudo nano /etc/apache2/sites-available/example.com.conf
Ta sẽ tùy chỉnh file này cho domain riêng của ta . Sửa đổi văn bản được đánh dấu bên dưới cho các trường hợp của bạn .
<VirtualHost *:80> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Đến đây, hãy lưu file .
Sao chép server ảo đầu tiên và tùy chỉnh cho domain thứ hai
Bây giờ ta đã cài đặt file server ảo đầu tiên, ta có thể tạo file thứ hai bằng cách sao chép file đó và điều chỉnh nó nếu cần.
Bắt đầu bằng cách sao chép nó:
- sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
Mở file mới với quyền root trong editor :
- sudo nano /etc/apache2/sites-available/test.com.conf
Đến đây bạn cần sửa đổi tất cả các phần thông tin để tham chiếu đến domain thứ hai của bạn . Tệp cuối cùng sẽ trông giống như thế này, với văn bản được đánh dấu tương ứng với thông tin domain có liên quan của bạn .
<VirtualHost *:80> ServerAdmin admin@test.com ServerName test.com ServerAlias www.test.com DocumentRoot /var/www/test.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Lưu file khi bạn hoàn tất.
Bước 5 - Bật file server ảo mới
Với các file server ảo của ta đã được tạo, ta phải kích hoạt chúng. Ta sẽ sử dụng công cụ a2ensite
để đạt được mục tiêu này.
- sudo a2ensite example.com.conf
- sudo a2ensite test.com.conf
Tiếp theo, vô hiệu hóa trang web mặc định được xác định trong 000-default.conf
:
- sudo a2dissite 000-default.conf
Khi hoàn tất, bạn cần khởi động lại Apache để những thay đổi này có hiệu lực và sử dụng systemctl status
để xác minh việc khởi động lại thành công.
- sudo systemctl restart apache2
Server của bạn bây giờ sẽ được cài đặt để phục vụ hai trang web.
Bước 6 - Cài đặt file server lưu trữ local (Tùy chọn)
Nếu bạn chưa sử dụng domain thực tế mà bạn sở hữu để kiểm tra quy trình này và thay vào đó đang sử dụng một số domain mẫu, bạn có thể kiểm tra công việc của bạn bằng cách tạm thời sửa đổi file hosts
trên máy tính local của bạn.
Trên máy Mac hoặc máy Linux local , hãy nhập như sau:
- sudo nano /etc/hosts
Đối với máy Windows local , hãy tìm hướng dẫn về cách thay đổi file server của bạn tại đây .
Sử dụng các domain được sử dụng trong hướng dẫn này và thay thế IP server của bạn cho văn bản your_server_IP
, file của bạn sẽ trông giống như sau:
127.0.0.1 localhost 127.0.1.1 guest-desktop your_server_IP example.com your_server_IP test.com
Lưu và đóng file . Điều này sẽ hướng bất kỳ yêu cầu nào cho example.com
và test.com
trên máy tính của ta và gửi chúng đến server của ta .
Bước 7 - Kiểm tra kết quả của bạn
Đến đây bạn đã cấu hình các server ảo của bạn , bạn có thể kiểm tra cài đặt của bạn bằng cách truy cập các domain bạn đã cấu hình trong trình duyệt web của bạn :
http://example.com
Bạn sẽ thấy một trang trông như thế này:
Bạn cũng có thể truy cập trang thứ hai của bạn và xem file bạn đã tạo cho trang thứ hai của bạn .
http://test.com
Nếu cả hai trang web này hoạt động như mong đợi, bạn đã cấu hình hai server ảo trên cùng một server .
Nếu bạn đã điều chỉnh file server của máy tính tại nhà, hãy xóa các dòng bạn đã thêm.
Hướng dẫn liên quan
Dưới đây là các liên kết đến các hướng dẫn bổ sung khác liên quan đến hướng dẫn này:
- Cách cài đặt server ảo Apache trên Ubuntu 18.04
- Miền và DNS trên DigitalOcean
- Cách viết lại URL bằng mod_rewrite cho Apache trên Ubuntu 18.04
Các tin liên quan
Các bước được đề xuất để ngăn chặn HTTP Apache trên FreeBSD 12.02020-02-12
Cách thiết lập server ảo Apache trên Ubuntu 18.04
2020-02-10
Cách thiết lập xác thực mật khẩu với Apache trên Ubuntu 18.04 [Quickstart]
2020-02-04
Cách thiết lập xác thực mật khẩu với Apache trên Ubuntu 18.04
2020-02-03
Cách cài đặt Apache Kafka trên Debian 10
2019-12-20
Cách sử dụng Ansible để cài đặt và thiết lập Apache trên Ubuntu 18.04
2019-12-06
Cách bảo mật Apache bằng Let's Encrypt trên FreeBSD 12.0
2019-11-08
Cách cài đặt Apache Tomcat 9 trên Debian 10
2019-10-24
Cách cấu hình báo cáo MTA-STS và TLS cho miền của bạn bằng Apache trên Ubuntu 18.04
2019-09-06
Cách viết lại URL bằng mod_rewrite cho Apache trên Debian 10
2019-08-22