2009-12-07 39 views
6

Có cách nào tốt hơn để thiết lập máy chủ ảo mặc định apache khác hơn là chỉ cần chọn cấu hình đầu tiên mà nó tìm thấy không?thiết lập máy chủ ảo apache mặc định

Tôi có một máy chủ có nhiều tên miền, trong đó chỉ một số được định cấu hình với httpd nhưng máy chủ ảo mặc định bị cắt đứt là ví dụ: aaa.com nơi thực sự tôi muốn mặc định là mmm.com?

Giống như tên miền đỗ xe mà không phải lo lắng về việc thiết lập cấu hình cho từng miền - khi đó tôi có thể phân phát trang "nội dung tên miền này chưa được tạo"?

Cheers

Trả lời

8

Bạn có thể tạo một mặc định máy chủ ảo và đặt tên cho nó một cái gì đó giống như 000-default để nó tải đầu tiên và được sử dụng trừ khi một vhost phù hợp với lĩnh vực yêu cầu được tìm thấy. Đây là trần xương 000-default:

<VirtualHost *:80> 
    DocumentRoot /var/www 
    <Directory /var/www > 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

Sau đó, bạn có thể thiết lập một tập tin PHP dưới /var/www để tạo ra một trang bãi đậu xe miền (đây là một ví dụ rất đơn giản):

<?php 

printf('The domain <b>%s</b> is being parked', 
    htmlentities($_SERVER['HTTP_HOST'])); 

?> 
+0

Đã xảy ra một số sự cố với tên '000-default': ERROR: Mặc định trang web không tồn tại! Thay đổi thành 'mặc định' làm cho nó chạy trơn tru. Cảm ơn! –

0

Sử dụng ServerAlias ​​trong một tên dựa trên VirtualHost, bạn sẽ chỉ phải thêm một dòng cho mỗi tên miền mới.

1

Đầu tiên trang web khả dụng tệp conf là mặc định (theo bảng chữ cái). Nên có một tệp 000-default.conf nếu không tạo.

Chỉnh sửa tùy chọn này theo ý thích của bạn và sau đó đảm bảo tùy chọn này được bật a2ensite 000-default.conf. Và apache2 được tải lại sudo service apache2 reload.

Sau đó, mọi yêu cầu không bị các máy chủ lưu trữ khác của bạn đánh cắp sẽ đến đây.

+1

Siêu quan trọng để cho phép sử dụng lệnh a2ensite 000-default.conf. Không hoạt động trừ khi bạn thực sự chạy điều này và chạy tải lại dịch vụ sudo apache2. Cảm ơn câu trả lời. – andromeda

Các vấn đề liên quan