Virtual Hosting là một phương pháp lưu trữ nhiều tên miền trên một máy chủ. Nếu bạn có nhiều tên miền (chẳng hạn như domain1.com, domain2.com, v.v.) và muốn lưu trữ trên một máy chủ web, Virtual Web Hosting là lựa chọn đúng đắn của bạn. Máy chủ web Apache cung cấp một cách dễ dàng để quản lý Dịch vụ lưu trữ ảo. Dịch vụ lưu trữ ảo có thể dựa trên Tên hoặc Dựa trên IP. Trong Dịch vụ lưu trữ ảo dựa trên tên, nhiều miền có thể được lưu trữ trên một địa chỉ IP. Mặt khác, trong Dịch vụ lưu trữ ảo dựa trên IP, mỗi miền được ánh xạ trên một địa chỉ IP chuyên dụng. Trong bài viết này, tôi sẽ chỉ thảo luận về cách định cấu hình Lưu trữ web ảo dựa trên tên trên CentOS 7 Linux . Lưu trữ ảo dựa trên IP sẽ được thảo luận trong bài viết tiếp theo của tôi.
Cấu hình máy chủ ảo Apache
Bây giờ chúng ta sẽ bắt đầu cấu hình Virtual Hosting với máy chủ web apache. Giả định rằng bạn đã cài đặt Máy chủ CentOS 7 trên máy ảo hoặc vật lý của mình. Nếu bạn chưa cài đặt Máy chủ CentOS 7, hãy xem bài viết trước của tôi về cài đặt và cấu hình CentOS 7 với Máy tính để bàn Gnome và cài đặt CentOS 7 tương ứng, sau đó làm theo bài viết này. Toàn bộ cấu hình Apache Virtual Hosting trên CentOS 7 có thể được chia thành hai phần.
- Cấu hình DNS cho tên miền lưu trữ
- Cấu hình máy chủ web Apache cho Virtual Hosting
Phần 1: Cấu hình DNS cho Hosting Domain
Nếu bạn đã đăng ký miền và muốn lưu trữ chúng trên máy chủ của riêng mình, hãy tạo bản ghi Máy chủ (bản ghi A) với giá trị ký tự đại diện (@) sẽ trỏ đến máy chủ web của bạn. Trong trường hợp này, máy chủ web của bạn phải có địa chỉ IP công cộng.
Đối với cấu hình bài viết này, chúng tôi sẽ sử dụng các miền tùy chỉnh (systemzone.net, systemzone.com và systemzone.org) và các mục nhập miền này sẽ giữ trong Máy chủ DNS cục bộ. Vì vậy, máy chủ web của chúng tôi cũng nằm trên một địa chỉ IP cục bộ.
Trong bài viết trước của tôi, tôi đã thảo luận về cách định cấu hình máy chủ DNS cục bộ trên CentOS 7 với gói BIND . Theo cấu hình đó, các mục nhập vùng DNS nằm trong tệp tên.rfc1912.zones . Vì vậy, hãy mở tệp này và đặt các mục sau (cho ba miền tùy chỉnh) ở dưới cùng.
[root@ns1 ~]# vim /etc/named.rfc1912.zones
zone “systemzone.net” IN {
type master;
file “systemzone.net.for”;
allow-update { none; };
};
zone “systemzone.com” IN {
type master;
file “systemzone.net.for”;
allow-update { none; };
};
zone “systemzone.org” IN {
type master;
file “systemzone.net.for”;
allow-update { none; };
};
Lưu ý rằng ba miền tùy chỉnh đang trỏ cùng một tệp vùng (systemzone.net.for). Vì vậy, hãy mở tệp vùng đó và đặt Bản ghi máy chủ (Bản ghi A) vào tệp này cho các miền tùy chỉnh. Tệp vùng của bạn trông giống như ví dụ sau.
[root@ns1 ~]# vim /var/named/systemzone.net.for
$TTL 1D
@ IN SOA ns1.systemzone.net. root.systemzone.net. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.systemzone.net.
$ORIGIN systemzone.net.
ns1 IN A 192.168.40.100
@ IN A 192.168.40.101
www IN A 192.168.40.101
$ORIGIN systemzone.com.
@ IN A 192.168.40.101
www IN A 192.168.40.101
$ORIGIN systemzone.org.
@ IN A 192.168.40.101
www IN A 192.168.40.101
Lưu ý rằng ký tự đại diện của miền tùy chỉnh (@) Bản ghi máy chủ đang trỏ đến máy chủ web apache của chúng tôi có địa chỉ IP là 192.168.40.101.
Bây giờ chúng tôi sẽ định cấu hình Lưu trữ ảo trong máy chủ web apache của chúng tôi để chúng tôi có thể nhận ba trang khác nhau cho ba miền.
Phần 2: Cấu hình máy chủ web Apache cho Virtual Hosting
Mặc dù tôi đã thảo luận về cấu hình máy chủ web hoàn chỉnh với Apache, MariaDB và PHP trong bài viết trước, nhưng tôi sẽ trình bày phần cơ bản về cài đặt và cấu hình máy chủ web apache cho Virtual Hosting tại đây. Vì vậy, hãy đưa ra lệnh sau để cài đặt máy chủ web apache trong CentOS 7 Linux của bạn.
Gói httpd sẽ được cài đặt trong vòng vài giây. Sau khi cài đặt gói apache httpd, chúng ta phải khởi động dịch vụ Apache bằng lệnh sau.
Dịch vụ Apache hiện đang hoạt động và đang chạy và chờ các yêu cầu máy chủ web (http) đến. Trình nền bây giờ sẽ trả lời mọi yêu cầu http đến.
Nhưng nếu máy chủ của bạn được khởi động lại trong bất kỳ trường hợp nào, trình nền httpd sẽ không được nêu tự động. Vì vậy, hãy chạy lệnh sau để tự động khởi động dịch vụ apache nếu xảy ra bất kỳ sự khởi động lại hệ thống nào.
Chạy các lệnh tường lửa sau để cho phép dịch vụ http thông qua tường lửa của bạn. Nếu không thì không thể truy cập máy chủ web của bạn từ PC từ xa.
[root@webserver ~]# firewall-cmd –zone=public –add-service=http
[root@webserver ~]# firewall-cmd –permanent –zone=public –add-service=http
[root@webserver ~]# firewall-cmd –reload
Bây giờ chúng ta sẽ khai báo Virtual Hosting trong file cấu hình apache nằm trong thư mục /etc/httpd/conf. Vì vậy, hãy chuyển đến thư mục đó và mở tệp cấu hình apache (httpd.conf ) và thêm các dòng sau vào cuối.
<VirtualHost 192.168.40.101>
DocumentRoot /var/www/html/systemzone.net
ServerName systemzone.net
ServerAlias www.systemzone.net
</VirtualHost>
<VirtualHost 192.168.40.101>
DocumentRoot /var/www/html/systemzone.com
ServerName systemzone.com
ServerAlias www.systemzone.com
</VirtualHost>
<VirtualHost 192.168.40.101>
DocumentRoot /var/www/html/systemzone.org
ServerName systemzone.org
ServerAlias www.systemzone.org
</VirtualHost>
Trong các dòng trên, chúng tôi đã khai báo ba VIrtualHost trên máy chủ web của chúng tôi (192.168.40.101) cho ba miền tùy chỉnh. Mỗi VirtualHost có ba thuộc tính sau.
Property Name | Description |
DocumentRoot | The root directory from where web document will be retrieved. |
ServerName | The name of domain for this virtual host. |
ServerAlias | Alternative ServerName that can be used to access the virtual host. More than one ServerAlias can be used or multiple names can be declared with space separated value or wildcard (*) character can be used before the root ServerName. |
Để xem có lỗi nào xảy ra hay không trong tệp cấu hình httpd, hãy thực hiện lệnh sau.
[root@webserver conf]# httpd -t
Syntax OK
Vì chúng tôi đã khai báo ba thư mục gốc cho ba miền tùy chỉnh, bây giờ chúng tôi sẽ tạo các thư mục này trước. Vì vậy, hãy đưa ra lệnh sau để tạo ba thư mục được khai báo trong thư mục html.
[root@webserver conf]# cd /var/www/html
[root@webserver html]# mkdir systemzone.net systemzone.com systemzone.org
Bây giờ hãy vào thư mục systemzone.net và tạo một tệp chỉ mục (index.html) rồi đặt nội dung html sau.
<html>
<head>
<title>systemzone.net</title>
</head>
<body>
<h1> Welcome to systemzone.net </h1>
</body>
</html>
Tương tự, vào thư mục systemzone.com và tạo tệp chỉ mục và đặt nội dung html sau.
<html>
<head>
<title>systemzone.com</title>
</head>
<body>
<h1> Welcome to systemzone.com </h1>
</body>
</html>
Tương tự, vào thư mục systemzone.org và tạo tệp chỉ mục và đặt nội dung html sau.
<html>
<head>
<title>systemzone.com</title>
</head>
<body>
<h1> Welcome to systemzone.com </h1>
</body>
</html>
Bây giờ hãy mở trình duyệt của bạn và nhập tên miền tùy chỉnh của bạn vào thanh URL. Nếu mọi thứ đều ổn, bạn sẽ nhận được nội dung được tôn trọng của từng miền.
Nếu bạn gặp bất kỳ sự nhầm lẫn nào để thực hiện đúng các bước trên, hãy xem video sau đây về Dịch vụ lưu trữ ảo Apache trên CentOS 7 . Tôi hy vọng nó sẽ làm giảm bất kỳ sự nhầm lẫn của bạn.
Cách cấu hình Apache Virtual Hosting trên CentOS 7 Linux đã được thảo luận trong bài viết này. Tôi hy vọng bây giờ bạn có thể tạo Dịch vụ lưu trữ ảo Apache cho miền của mình theo đúng các bước trên. Tuy nhiên, nếu bạn gặp phải bất kỳ sự nhầm lẫn nào khi tạo Máy chủ ảo với máy chủ web Apache, vui lòng thảo luận trong nhận xét hoặc liên hệ với tôi từ trang Liên hệ .