Host virtuale Apache che punta a DocumentRoot errato


9

Gestisco un VPS su Digital Ocean con Ubuntu 12.04.3, con host virtuali. Sono stato in grado di impostare le cose seguendo questo tutorial qui: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

Tuttavia, dopo alcuni giorni sono passato al mio dominio principale (noelforte.com) per verificare se tutto funzionava senza intoppi, ma invece di vedere la pagina di destinazione che avevo impostato temporaneamente, sono stato invece accolto da un elenco di directory.

Stranamente, il sottodominio che avevo configurato con VHosts era ancora indirizzato alla directory giusta, tuttavia il mio dominio principale è tornato a puntare alla radice del documento predefinita di /var/www.

L'eliminazione dei file di configurazione /etc/apache2/sites-availablee l'impostazione di nuovo tutto ha prodotto gli stessi risultati: qualsiasi sottodominio punterà nella posizione corretta, tuttavia il TLD radice rimane bloccato puntando a /var/www.

Cosa potrebbe causare una situazione del genere, e perché allora inizialmente ha funzionato correttamente?

Risposte:


12

Risolto! L'esecuzione ha sudo apache2ctl -Srestituito quanto segue:

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)

Ho deciso di disabilitare tutti i siti incluso quello predefinito e di attivare solo i siti di cui avevo bisogno. Ciò ha risolto il mio problema.

Se qualcuno potesse spiegare perché noelforte.comstava funzionando default-000come visto qui:

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

ciò contribuirebbe a far luce su ciò che potrebbe essere stato configurato erroneamente. Grazie!


Ho avuto lo stesso problema, per me è stato perché ServerName è stato impostato come il dominio nel file 000-default.
Hard-Boiled Wonderland

1

Crea un 000-defaultfile /etc/apache2/sites-availableo, se esiste già, modificalo. È dove indicherà il tuo server web se non è stato definito un host virtuale per il sito che stai cercando.

Assicurati di controllare che il file esista anche in /etc/apache2/sites-enabled. In caso contrario:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/


C'è un defaultfile già nella mia /etc/apache2/sites-availabledirectory. Ho anche un host virtuale per la noelforte.comconfigurazione e l'abilitazione, tuttavia, non punta alla radice del documento definita nel file vhost. Perché?
Noel Forte,

0

Devi modificare /etc/apache2/sites-enabled/yourdomain.conf e aggiungere "ServerName" a "tuodominio". Es:

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.