Ho alcuni siti configurati come VirtualHosts che usano Apache che hanno funzionato bene per un po '. Recentemente ho cambiato il nome host del server in uno dei nomi di dominio che venivano offerti, e l'ho anche aggiunto a / etc / hosts che punta all'indirizzo IP esterno del server.
Da quando l'ho fatto, l'accesso al dominio dal mio laptop mi porta all'impostazione predefinita di Apache "Funziona!" pagina. Se rimuovo 000-default da / etc / apache2 / sites-enabled /, verrà visualizzato il sito corretto. Cercando di accedere al sito con "www". il prefisso mi porta al sito corretto indipendentemente dal fatto che 000-default sia abilitato per i siti.
Sulla base di tutto ciò, immagino che la configurazione predefinita stia offrendo la pagina predefinita a causa di come ho configurato il nome host o / etc / hosts (o entrambi), ma non riesco a capire come disabilitarlo mentre lasciando quelle impostazioni così come sono. Eventuali suggerimenti sono benvenuti!
Modifica - La mia attuale configurazione di VirtualHost è simile alla seguente:
<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>
Riassumendo: ho installato diversi VirtualHosts, e questo è l'unico che non funziona correttamente. Posso accedere a http://www.domain.com bene, ma http://domain.com mi porta all'impostazione predefinita di Apache "Funziona!" pagina. Se disabilito la configurazione predefinita di 000, mostra la pagina corretta. Ciò è iniziato solo dopo aver impostato il nome host del server su domain.com e aggiunto una riga a / etc / hosts che punta domain.com all'indirizzo IP esterno del server. Vorrei lasciarli così se possibile.
Modifica: ho corso da apache2ctl -S
quando /usr/sbin/apache2 -S
mi ha dato "apache2: nome utente errato $ {APACHE_RUN_USER}". Ecco l'output:
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