Più domini su un VPS con Apache
Domanda
Sto pensando di ottenere un VPS presto e hanno due siti che desidera ospitare. Io ho la mia messa a punto vhosts locale per il mio ambiente di sviluppo utilizzando il file host per la porta in modo corretto.
La mia domanda è si spera semplice: Quando si configura con due domini separati che punto a quello del server VPS è Apache abbastanza intelligente, come sull'ambiente locale, per filtrare automaticamente eventuali richieste di domain.com al VHOST corretta come fa a livello locale? Vorrei solo per essere sicuri:)
Grazie!
Esempio di ciò che sto chiedendo:
Say Domain1.com e Domain2.com sono entrambi sul mio VPS.
Quando qualcuno richiede www.Domain1.com apache vede questo e passa attraverso il file vhost domain1.com. Quando le richieste qualcuno www.Domain2.com apache vede e passa attraverso il file vhost domain2.com.
Soluzione
La semplice risposta è 'sì', Apache è così intelligente. Se siete abituati ad usare un file vhost locale, in combinazione con il file hosts per simulare domini locali, la stessa tecnica può essere applicata su un VPS. La parte che si sta facendo con il file hosts sta creando essenzialmente un name server locale, diverso da quello che Apache non conosce la differenza. È sufficiente impostare la direttiva ServerName per ogni vhost di nome e si dovrebbe trovare a lavorare lo stesso, come fa a livello locale.
Altri suggerimenti
Repasting la mia risposta da Hosting due domini utilizzando un solo VPS ? come in questo caso è ancora più rilevante.
Come principiante, ho cercato di ospitare più domini su un Apache VPS. Tutorial avevano troppe informazioni che mi portano a confusione.
Qui di seguito descrivo, per principianti, come ospitare più domini su un server VPS con Ubuntu e Apache.
ATTENZIONE! , è necessario conto l'uso di root per eseguire la maggior parte delle operazioni.
ATTENZIONE! Se sono state cercando di apportare alcune modifiche alla configurazione prima di apache, annullarle.
Creazione VirtualHosts
Creare cartelle per i domini sul server. Ad esempio:
/home/apache/domain1
/home/apache/domain2
Mettere file index.html in ogni cartella con qualsiasi testo.
This is domain1
This is domain2
Vai alla cartella /etc/apache2/sites-available
.
Crea file di domain1.conf
sudo nano domain1.conf
<VirtualHost *:80>
DocumentRoot /home/apache/domain1
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>
Crea file di domain2.conf
sudo nano domain2.conf
<VirtualHost *:80>
DocumentRoot /home/apache/domain2
ServerName domain2.com
ServerAlias www.domain2.com
</VirtualHost>
È possibile creare sottodomini stesso modo.
sudo nano blog.conf
<VirtualHost *:80>
DocumentRoot /home/apache/blog
ServerName blog.domain.com
ServerAlias www.blog.domain.com
</VirtualHost>
Abilita siti creati
sudo a2ensite domain1.conf
sudo a2ensite domain2.conf
Riavviare apache
sudo service apache2 reload
Reindirizzamento dominio server
VirtualHosts creati funziona solo se si reindirizza il tuo nome di dominio per IP del server. I domini sono solo nomi che può essere tradotto in numeri IP.
Computer locale
Per testare la configurazione sul computer locale, è necessario modificare i file di host.
sudo nano /etc/hosts
Si dovrebbe assomigliare a questa.
127.0.0.1 localhost domain1.com domain2.com
file Hosts dice al computer che le esigenze dominio vengano reindirizzati alla macchina locale.
ATTENZIONE! Se si crea voce nel file hosts per il dominio esistente, ad esempio
127.0.0.1 stackoverflow.com
si perderanno l'accesso a questo sito web.
Server
Al fine di dominio reindirizzamento a voi web server, è necessario creare o modificare record DNS di tipo "A" per la data dominio all'indirizzo IP del server. Puoi farlo da pannello di controllo fornito dal registrar.
Se non si conosce l'indirizzo IP del server, accedere al server e digitare riga di comando:
ifconfig