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ủ web. 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 trước của tôi, tôi đã thảo luận cách định cấu hình Lưu trữ web ảo Apache dựa trên tên trên CentOS 7 Linux . Trong bài viết này, tôi sẽ thảo luận về cách định cấu hình Dịch vụ lưu trữ ảo Apache dựa trên IP trên CentOS 7 Linux .
Cấu hình máy chủ ảo Apache dựa trên IP
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ủ web 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 đị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.zoneszone “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.102
www IN A 192.168.40.102
$ORIGIN systemzone.org.
@ IN A 192.168.40.103
www IN A 192.168.40.103
Lưu ý rằng bản ghi máy chủ lưu trữ ký tự đại diện (@) của mỗi miền tùy chỉnh đang trỏ đến địa chỉ IP khác nhau. Trên thực tế, những địa chỉ IP này là địa chỉ IP của Máy chủ web Apache của chúng tôi.
Bây giờ, chúng tôi sẽ định cấu hình Lưu trữ ảo dựa trên IP trong máy chủ web apache của chúng tôi để mỗi miền có địa chỉ IP khác nhau.
Phần 2: Cấu hình máy chủ web Apache cho dịch vụ lưu trữ ảo dựa trên IP
Trước tiên, chúng tôi sẽ cài đặt và kích hoạt Máy chủ web Apache, sau đó định cấu hình Lưu trữ ảo dựa trên IP. 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
Như chúng tôi đã lên kế hoạch, ba miền tùy chỉnh (systemzone.net, systemzone.com và systemzone.org) sẽ được ánh xạ với ba địa chỉ IP (192.168.40.101, 192.168.40.102 và 192.168.40.103) tương ứng, hãy đặt các địa chỉ IP phụ này vào CentOS 7 Linux với công cụ nmtui. GUI cấu hình nmtui của bạn sẽ giống như hình ảnh sau đây.
Bây giờ chúng ta sẽ khai báo Virtual Host 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.
[root@webserver ~]# cd /etc/httpd/conf[root@webserver conf]# vim httpd.conf
<VirtualHost 192.168.40.101>
DocumentRoot /var/www/html/systemzone.net
ServerName systemzone.net
ServerAlias www.systemzone.net
</VirtualHost>
<VirtualHost 192.168.40.102>
DocumentRoot /var/www/html/systemzone.com
ServerName systemzone.com
ServerAlias www.systemzone.com
</VirtualHost>
<VirtualHost 192.168.40.103>
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 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. |
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
Now go to systemzone.net directory and create an index file (index.html) and then put the following html content.
[root@webserver html]# cd systemzone.net
[root@webserver systemzone.net]# vim index.html
<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.
[root@webserver html]# cd systemzone.com[root@webserver systemzone.com]# vim index.html
<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.
[root@webserver html]# cd systemzone.com[root@webserver systemzone.com]# vim index.html
<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 phải bất kỳ sự nhầm lẫn nào khi làm theo các bước trên một cách cẩn thận, hãy xem video sau đây về Dịch vụ lưu trữ ảo Apache dựa trên IP. 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 định cấu hình Lưu trữ ảo Apache dựa trên IP 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 dựa trên IP 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ệ .