Máy chủ ảo Apache trỏ đến tài liệu sai


9

Tôi vận hành VPS trên Digital Ocean chạy Ubuntu 12.04.3, với các máy chủ ảo. Tôi đã có thể thiết lập mọi thứ theo hướng dẫn này tại đây: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ub Ubuntu-12-04-lts

Tuy nhiên, sau vài ngày tôi đã điều hướng đến tên miền chính của mình (noelforte.com) để kiểm tra và xem mọi thứ có hoạt động trơn tru không, nhưng thay vì thấy trang đích mà tôi đã tạm thời thiết lập, thay vào đó tôi được chào đón với một danh sách thư mục.

Thật kỳ lạ, tên miền phụ tôi đã cấu hình với Vhost vẫn được trỏ đến thư mục bên phải, tuy nhiên tên miền chính của tôi được hoàn nguyên để chỉ vào gốc tài liệu mặc định của /var/www.

Xóa các tệp cấu hình trong /etc/apache2/sites-availablevà thiết lập lại mọi thứ sẽ mang lại kết quả tương tự: bất kỳ tên miền phụ nào cũng sẽ trỏ đến đúng vị trí, tuy nhiên TLD gốc vẫn bị kẹt chỉ vào /var/www.

Điều gì có thể gây ra một tình huống như thế này, và tại sao sau đó nó lại hoạt động tốt?

Câu trả lời:


12

Giải quyết nó! Chạy sudo apache2ctl -Strả lại như sau:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost media.noelforte.com (/etc/apache2/sites-enabled/media.noelforte.com:1)

Tôi quyết định vô hiệu hóa tất cả các trang web bao gồm mặc định và chỉ kích hoạt các trang web mà tôi cần. Điều đó đã giải quyết vấn đề của tôi.

Nếu ai đó có thể giải thích tại sao noelforte.comlại chạy default-000như đã thấy ở đây:

port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)

điều đó sẽ giúp làm sáng tỏ những gì có thể đã được cấu hình sai. Cảm ơn!


Tôi gặp vấn đề tương tự, đối với tôi đó là vì ServerName được đặt giống như tên miền trong tệp 000 mặc định.
Xứ sở thần tiên sôi sục

1

Tạo một 000-defaulttệp trong /etc/apache2/sites-availablehoặc, nếu nó đã tồn tại, chỉnh sửa nó. Đó là nơi máy chủ web của bạn sẽ trỏ đến nếu không có virtualhost được xác định cho trang web bạn đang tìm kiếm.

Hãy chắc chắn kiểm tra xem tập tin cũng tồn tại /etc/apache2/sites-enabled. Nếu nó không:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/


Có một defaulttập tin đã có trong /etc/apache2/sites-availablethư mục của tôi . Tôi cũng có một máy chủ ảo để noelforte.comthiết lập và kích hoạt, tuy nhiên, nó không trỏ đến gốc tài liệu được xác định trong tệp vhost. Tại sao?
Noel Forte

0

Bạn cần chỉnh sửa /etc/apache2/sites-enables/yourdomain.conf và thêm "Tên máy chủ" vào "tên miền của bạn". Ví dụ :

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.