2011-08-23 10 views
34

Ho due nomi di dominio, due certificati SSL e due indirizzi IP. Sto cercando di configurare i miei file di virtualhost di apache per loro.NameVirtualHost *: 80 non ha VirtualHosts

In primo luogo, ho commentato tutte le istanze di "NameVirtualHost" e "Listen" per le porte 80 e 443. Quindi ho fatto quanto segue con i miei file di host virtuali.

file di VirtualHost per domain1:

NameVirtualHost 1.1.1.1:80 
Listen 1.1.1.1:80 
Listen 1.1.1.1:443 
<VirtualHost 1.1.1.1:80> 
    ServerName domain1.com 
    ... 
</VirtualHost> 
<VirtualHost 1.1.1.1:443> 
    ... 
</VirtualHost> 

VirtualHost programma per domain2:?

NameVirtualHost 2.2.2.2:80 
Listen 2.2.2.2:80 
Listen 2.2.2.2:443 
<VirtualHost 2.2.2.2:80> 
    ServerName domain2.com 
    ... 
</VirtualHost> 
<VirtualHost 2.2.2.2:443> 
    ... 
</VirtualHost> 
+0

* NameVirtualHost * è stato deprecato e non è più necessario è. – andreszs

risposta

27

Da qualche parte nella configurazione, probabilmente nel file di configurazione di default di Apache (credo /etc/apache2/httpd.conf in Ubuntu qualcuno può correggere me nei commenti), è una riga che assomiglia a:

NameVirtualHost *:80 

# Also 
Listen 80 
Listen 443 

li commentare, e nei file di configurazione VirtualHost, aggiungere:

Listen 111.111.111.111:80 
Listen 222.222.222.222:80 
# If also using SSL 
Listen 111.111.111.111:443 
Listen 222.222.222.222:443 

NameVirtualHost 111.111.111.111:80 
NameVirtualHost 222.222.222.222:80 

In molte configurazioni di default di Apache, le direttive e ListenNameVirtualHost sono forniti con caratteri jolly, o globalmente per applicare a tutte le interfacce di rete. Poiché stai utilizzando più indirizzi IP associati a configurazioni diverse, devi essere più specifico nelle tue direttive di configurazione del file di configurazione predefinito della tua distribuzione.

+0

+1 ... sembra giusto. implimenting. fatelo sapere a breve – Jay

+0

/etc/apache2/httpd.conf è vuoto. /etc/apache2/httpd.conf non ha "NameVirtualHost" o "Listen". Ancora in cerca. – Jay

+12

@Jay prova 'grep -r Ascolta/etc/apache2' e' grep -r NameVirtualHost/etc/apache2' –

41

Avevo ignorato lo stesso errore per i 2 mesi in cui ho avuto un server Ubuntu. Ho trovato questo post ben risolto l'errore. Grazie Michael! Come hai fatto con lo Jay, ho trovato il colpevole in /etc/apache2/ports.conf. Ho provato semplicemente questo:

# NameVirtualHost *:80
Ho solo commentato che la linea e altre modifiche e non più

"NameVirtualHost *: 80 non ha VirtualHosts"

+6

Ottimo! Anche a me! Risolto! – flaab

+0

Il suo funzionamento .... Molte grazie –

Problemi correlati