Mam kilka witryn skonfigurowanych jako VirtualHosts przy użyciu Apache, które działały dobrze przez jakiś czas. Niedawno zmieniłem nazwę hosta serwera na jedną z obsługiwanych nazw domen, a także dodałem ją do / etc / hosts wskazując na zewnętrzny adres IP serwera.
Odkąd to zrobiłem, dostęp do domeny z mojego laptopa zabiera mnie do domyślnego „działa” Apache'a! strona. Jeśli usunę 000-default z / etc / apache2 / sites-enabled /, wyświetli właściwą stronę. Próbuję uzyskać dostęp do witryny za pomocą „www”. Prefiks zabiera mnie do właściwej strony, niezależnie od tego, czy 000-default jest włączony.
W związku z tym domyślam się, że domyślna konfiguracja wyświetla domyślną stronę z powodu tego, jak skonfigurowałem nazwę hosta lub / etc / hosts (lub oba), ale nie mogę wymyślić, jak to wyłączyć pozostawiając te ustawienia bez zmian. Wszelkie sugestie mile widziane!
Edycja - Moja obecna konfiguracja VirtualHost wygląda następująco:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@domain.com
DocumentRoot /srv/www/domain
ErrorLog /srv/www/domain/logs/error.log
CustomLog /srv/www/domain/logs/access.log combined
</VirtualHost>
Podsumowując: Mam skonfigurowanych kilka VirtualHostów i tylko to nie działa poprawnie. Mogę uzyskać dostęp do http://www.domain.com w porządku, ale http://domain.com zabiera mnie do domyślnego „Apache działa”! strona. Jeśli wyłączę domyślną konfigurację 000, wyświetli się odpowiednia strona. Zaczęło się to dopiero po ustawieniu nazwy hosta serwera na domain.com i dodaniu linii do / etc / hosts wskazującej domain.com na zewnętrzny adres IP serwera. Jeśli to możliwe, chciałbym je tak zostawić.
Edycja: Uruchomiłem, apache2ctl -S
ponieważ /usr/sbin/apache2 -S
dałem mi „apache2: zła nazwa użytkownika $ {APACHE_RUN_USER}”. Oto wynik:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost other.com (/etc/apache2/sites-enabled/other:1)
port 80 namevhost another.com (/etc/apache2/sites-enabled/another:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
Syntax OK