Thứ tư, 19/02/2020 | 00:00 GMT+7

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:

/var/www/example.com/public_html/index.html
<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
/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 .

/etc/apache2/sites-available/example.com.conf
<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 .

/etc/apache2/sites-available/test.com.conf
<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:

/ etc / hosts
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.comtest.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:

Ví dụ về  server  ảo Apache

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 

Kiểm tra  server  ảo Apache

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.

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:


Tags:

Các tin liên quan

Các bước được đề xuất để ngăn chặn HTTP Apache trên FreeBSD 12.0
2020-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