Apache được chia thành các đơn vị có thể được tùy chỉnh và cấu hình riêng lẻ. Những phần này được gọi là máy chủ ảo.
Máy chủ ảo cho phép quản trị viên sử dụng một máy chủ để lưu trữ nhiều tên miền bằng một IP. Điều này hữu ích cho bất kỳ ai muốn lưu trữ nhiều hơn một trang web trên cùng một VPS, không bao giờ chỉ ra rằng cùng một máy chủ cũng đang lưu trữ các trang web khác. Quá trình này có thể được lặp lại không giới hạn, tùy thuộc vào tải mà máy chủ của bạn có thể xử lý.
Để thực hiện các bước này, bạn sẽ cần phải có:
- Một người dùng không root.
- Đã cài đặt Apache.
- Thiết lập tên miền của bạn để trỏ đến VPS của bạn.
Cấu hình của tôi sẽ làm cho máy chủ ảo cho test1.com
và test2.com
. Bạn nên thay thế chúng bằng tên miền của riêng bạn.
Tạo các thư mục
Tài liệu gốc sẽ được đặt thành các /var/www
thư mục riêng lẻ trong thư mục. Tạo một thư mục ở đây cho cả hai máy chủ ảo, như thế này:
sudo mkdir /var/www/test1
sudo mkdir /var/www/test2
Quyền
Các thư mục mà bạn đã tạo được sở hữu bởi người dùng root. Bạn phải thay đổi quyền sở hữu cho người dùng thông thường để có thể sửa đổi các tệp. $USER
là người dùng mà bạn hiện đang đăng nhập.
sudo chown -R $USER:$USER /var/www/test1
sudo chown -R $USER:$USER /var/www/test2
Bạn cũng nên sửa đổi quyền đối với thư mục web chung và tất cả các tệp và thư mục trong đó.
sudo chmod -R 755 /var/www
Tạo trang cho mỗi máy chủ ảo
Tạo một index.html
trang cho mỗi trang web.
nano /var/www/test1/index.html
Trong tệp HTML này, bạn có thể đặt nội dung đơn giản chỉ để cho biết rằng cấu hình của bạn hoạt động. Ví dụ, tập tin của tôi trông như thế này.
<html>
<head>
<title>test1</title>
</head>
<body>
<h1>test1.com virtual host !</h1>
</body>
</html>
Lưu và đóng tệp khi bạn hoàn thành.
Bây giờ sao chép tập tin này vào trang web thứ hai.
cp /var/www/test1/index.html /var/www/test2/index.html
Sau đó bạn có thể mở và sửa đổi nó.
nano /var/www/test2/index.html
<html>
<head>
<title>test2</title>
</head>
<body>
<h1>test2.com virtual host !</h1>
</body>
</html>
Lưu và đóng tệp này khi bạn hoàn thành.
Tạo tập tin máy chủ ảo
Các tệp máy chủ ảo chỉ định cấu hình của các máy chủ ảo của chúng tôi và chỉ ra cách máy chủ web Apache sẽ đáp ứng các yêu cầu miền khác nhau.
Apache đi kèm với một tệp máy chủ ảo mặc định , 000-default.conf
. Sao chép tập tin này và sửa đổi nó cho tên miền đầu tiên.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test1.conf
sudo nano /etc/apache2/sites-available/test1.conf
Các tập tin sẽ trông như thế này (không có ý kiến):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
</VirtualHost>
Thay đổi ServerAdmin
chỉ thị thành email mà quản trị viên trang web có thể nhận email thông qua. Sau đó, bạn cần thêm ba chỉ thị:
- ServerName - tên miền cơ sở cho máy chủ ảo này.
- ServerAlias - định nghĩa các tên khác phải khớp với tên cơ sở, như www.
- DocumentRoot - vị trí của tài liệu gốc cho miền này.
Các tập tin máy chủ ảo nên giống như sau.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test1.com
ServerAlias www.test1.com
DocumentRoot /var/www/test1
</VirtualHost>
Lưu và đóng tập tin.
Bạn có thể làm tương tự với tên miền thứ hai.
sudo cp /etc/apache2/sites-available/test1.conf /etc/apache2/sites-available/test2.conf
sudo nano /etc/apache2/sites-available/test2.conf
Bây giờ bạn cần sửa đổi nó để tham chiếu tên miền thứ hai của bạn.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test2.com
ServerAlias www.test2.com
DocumentRoot /var/www/test2
</VirtualHost>
Lưu và đóng tệp khi bạn hoàn thành.
Cho phép các tệp máy chủ ảo
Công a2ensite
cụ này có thể được sử dụng để cho phép mỗi trang web của chúng tôi như thế này:
sudo a2ensite test1.conf
sudo a2ensite test2.conf
Khi bạn kết thúc, bạn cần khởi động lại Apache để những thay đổi này có hiệu lực:
sudo service apache2 restart
Nếu bạn nhận được tin nhắn này:
*Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set >the 'ServerName' directive globally to suppress this message
... Đừng lo lắng, điều đó không ảnh hưởng đến các trang web của chúng tôi.
Bước cuối cùng
Bây giờ bạn đã cấu hình máy chủ ảo của mình, bạn có thể kiểm tra chúng bằng cách truy cập các tên miền mà bạn đã cấu hình trong trình duyệt web của mình:
- http://test1.com
- http://test2.com
Nếu cả hai trang này đều hoạt động, bạn đã cấu hình thành công hai máy chủ ảo trên cùng một máy chủ.