Wirtualny host Apache wskazuje na niewłaściwy DocumentRoot


9

Obsługuję VPS na Digital Ocean z systemem Ubuntu 12.04.3, z wirtualnymi hostami. Udało mi się skonfigurować rzeczy, wykonując ten samouczek tutaj: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

Jednak po kilku dniach przeszedłem do mojej głównej domeny (noelforte.com), aby sprawdzić, czy wszystko działa bezproblemowo, ale zamiast zobaczyć stronę docelową, którą tymczasowo skonfigurowałem, zamiast tego przywitałem się z katalogiem.

Co dziwne, subdomena, którą skonfigurowałem za pomocą VHostów, była nadal wskazywana na właściwy katalog, jednak moja domena główna powróciła do wskazywania domyślnego katalogu głównego dokumentu /var/www.

Usunięcie plików konfiguracyjnych /etc/apache2/sites-availablei ponowne skonfigurowanie wszystkiego przyniosło takie same wyniki: każda subdomena wskaże właściwą lokalizację, jednak główna TLD pozostaje zablokowana, wskazując /var/www.

Co może powodować taką sytuację i dlaczego początkowo działało poprawnie?

Odpowiedzi:


12

Rozwiązałem to! Uruchomienie sudo apache2ctl -Szwróciło:

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)

Postanowiłem wyłączyć wszystkie witryny, w tym domyślne, i po prostu aktywować witryny, których potrzebowałem. To rozwiązało mój problem.

Gdyby ktoś mógł wyjaśnić, dlaczego noelforte.comdziała tak, default-000jak pokazano tutaj:

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

pomogłoby to rzucić nieco światła na to, co mogło być źle skonfigurowane. Dzięki!


Miałem ten sam problem, ponieważ dla mnie nazwa serwera została ustawiona tak samo jak domena w pliku domyślnym 000.
Hard-Boiled Wonderland

1

Utwórz 000-defaultplik w /etc/apache2/sites-availablelub, jeśli już istnieje, edytuj go. W tym miejscu wskaże Twój serwer internetowy, jeśli nie ma zdefiniowanego wirtualnego hosta dla szukanej witryny.

Upewnij się, że plik również istnieje /etc/apache2/sites-enabled. Jeśli nie:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/


W defaultmoim /etc/apache2/sites-availablekatalogu jest już plik . Mam również wirtualny host do noelforte.comskonfigurowania i włączenia, jednak nie wskazuje on katalogu głównego dokumentu zdefiniowanego w pliku vhost. Dlaczego?
Noel Forte

0

Musisz edytować /etc/apache2/sites-enabled/yourdomain.conf i dodać „ServerName” do „yourdomain”. Np .:

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.