Oto błąd, który pojawia się podczas uruchamiania Apache2:
* Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [warn] NameVirtualHost *:80 has no VirtualHosts
Najpierw postąpiłem zgodnie z tym przewodnikiem na temat konfigurowania serwera Apache do obsługi wielu witryn:
Następnie znalazłem podobne pytanie na ServerFault i próbowałem zastosować rozwiązanie, ale to nie pomogło.
Oto przykład mojej ostatecznej konfiguracji VirtualHost:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.xxx.com
ServerAlias xxx.com
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /var/www/www.xxx.com
# Logfiles
ErrorLog /var/www/www.xxx.com/logs/error.log
CustomLog /var/www/www.xxx.com/logs/access.log combined
</VirtualHost>
z domeną X, aby chronić niewinnych :-)
Mam też plik conf.d / virtual.conf wspomniany w przewodniku, który wygląda następująco:
NameVirtualHost *
Dziwne jest to, że wszystko wydaje się działać dobrze dla dwóch z trzech stron.
apache-2.2
virtualhost
rcampbell
źródło
źródło
Odpowiedzi:
Adresy IP o nazwach z
NameVirtualHost
muszą być zgodne z adresami IP w każdymVirtualHost
elemencie.Przykład:
Przeczytać Apache dokumentację wirtualnego hosta dla szczegółów.
źródło
Zamień to:
Z tym:
źródło
Dodając do odpowiedzi, jedną rzeczą, którą zauważyłem, jest to, że nie możesz uruchomić SSL bez wyraźnego zadeklarowania: 80 w każdej dyrektywie NameVirtualHost i VirtualHost, apache nie będzie obsługiwał:
NameVirtualHost *
i
NameVirtualHost *: 443
Pomieszane w tej samej konfiguracji, będziesz otrzymywać błędy podczas słuchania apache na porcie zero, jeśli to zrobisz.
Dla mnie właśnie dodałem: 80 do każdego hosta, aby protokół SSL mógł działać poprawnie.
źródło
Dawny:
<VirtualHost 85.25.97.252:80>
NazwaSerwera domena.com
ServerAlias * .domain.com
ServerAdmin [email protected]
DocumentRoot "/var/www/domain.com/httpdocs/"
<Directory "/var/www/domain.com/ httpdocs / ">
Opcje Indeksy FollowSymLinks
AllowOverride All
Order allow, odmowa
Allow from all
</Directory>
</VirtualHost>
źródło