Ospita più domini su un server o IP con Apache o Nginx

Impariamo come configurare Apache e Nginx per ospitare più siti web.

I siti di hosting sul server Cloud offrono molta flessibilità rispetto all’hosting condiviso. Puoi installare quello che vuoi, aumentare o diminuire le dimensioni e configurare per prestazioni migliori e ottimizzazione dei costi.

Se gestisci più siti aziendali ma non desideri ospitarli separatamente, puoi sfruttare Virtual Server nei server Web. Diamo un’occhiata a questo scenario.

Ho i seguenti due siti che vorrei indicare la mia VM cloud.

Prima dell’implementazione, capiamo come funziona.

Il concetto di avere più siti web su una singola istanza del server web è chiamato Virtual Server. È definito nel file di configurazione insieme all’URL. Quando viene effettuata una richiesta a un URL definito, il server Web servirà il traffico dalla rispettiva Document Root.

Configura l’host virtuale in Apache per ospitare più domini

  • Accedi al server HTTP Apache
  • Vai alla posizione di apache conf. (nell’installazione predefinita – lo troverai qui /etc/httpd/conf/httpd.conf)
  • Eseguire un backup del file httpd.conf
  • Crea un contenitore VirtualHost come di seguito ho fatto per due domini.
<VirtualHost *:80>
ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/lab
   ServerName lab.winadmin.it.com
   ErrorLog logs/lab.winadmin.it.com-error_log
   CustomLog logs/lab.winadmin.it.com-access_log common
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/gf-dev
   ServerName gf.dev
   ErrorLog logs/gf.dev-error_log
   CustomLog logs/gf.dev-access_log common
</VirtualHost>

Nota: modificare il valore per ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog in base alle proprie esigenze.

  • Riavvia Apache HTTP e verifica entrambi gli URL.

Configura l’host virtuale in Nginx per ospitare più domini

  • Accedi al server Nginx
  • Vai alla posizione in cui hai installato Nginx. (nella posizione predefinita – lo troverai qui /etc/nginx/)

Ci sono diversi modi per raggiungere questo obiettivo. O puoi modificare il file nginx.conf o il file personalizzato se ne hai. Puoi anche creare un custom.conf nella cartella conf.d. Scegli ciò che funziona per te e fai un backup se modifichi un file esistente.

  • Crea un blocco del server per entrambi gli URL come ho mostrato di seguito.
server {
listen 80;
   root /opt/htdocs/lab;
index index.html index.htm;
   server_name lab.winadmin.it.com;
   location / {
       try_files $uri $uri/ =404;
   }
}

server {
   listen 80;
   root /opt/htdocs/gf-dev;
   index index.html index.htm;
   server_name gf.dev;
   location / {
       try_files $uri $uri/ =404;
   }
}

Nota: modificare il valore per root, nome_server in base alle proprie esigenze.

  • Riavvia Nginx e testa entrambi gli URL

Non dimenticare di aggiornare il record DNS del tuo URL per mapparlo all’IP del server. Una volta fatto, dovresti essere in grado di accedere agli URL che vengono serviti attraverso la configurazione sopra che hai fatto.

Conclusione

Questa era la guida rapida per ospitare più domini in un’unica istanza di server Web come Apache o Nginx. Una volta che il tuo sito web è attivo, non dimenticare di testarlo contro le vulnerabilità di sicurezza.

Ti è piaciuto leggere l’articolo? Che ne dici di condividere con il mondo?