Risposte:
Probabilmente vorrai usare l'hosting virtuale di Apache. È un metodo ben supportato per l'hosting di molti domini su un singolo indirizzo IP.
http://httpd.apache.org/docs/2.2/vhosts/
In particolare, host virtuali basati sul nome: http://httpd.apache.org/docs/2.2/vhosts/name-based.html
Apache2 supporta la pubblicazione di contenuti diversi a seconda dei nomi di dominio, anche se tutti questi domini si risolvono nello stesso indirizzo IP. Ciascuno dei nomi di dominio è gestito da un host virtuale , quindi l' host virtuale basato sul nome .
Ecco una configurazione di esempio per due domini:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:80>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
Qui troverai la documentazione ufficiale sul supporto host virtuale basato sul nome .
Tuttavia, tieni presente che funzionerà solo con semplici connessioni HTTP, non con HTTPS (HTTP su SSL): gli host virtuali basati sul nome si basano sul sapere quale nome viene richiesto, ma queste informazioni non possono essere conosciute da Apache fino al SSL crittografato connessione stabilita.
Se è necessario che anche la configurazione funzioni con HTTPS, è necessario fare affidamento su un'estensione del protocollo SSL denominata Server Name Indication (SNI) ( RFC4366 ). Fondamentalmente, i client abilitati SNI (ad es. Browser Web) aggiungono informazioni di testo extra chiare quando stabiliscono la connessione SSL crittografata, consentendo al server di conoscere il nome richiesto prima che la connessione SSL sia pronta.
Tutti i browser non supportano ancora SNI. Al momento della stesura e secondo Wikipedia, questi fanno:
L'hosting di più host virtuali basati sul nome accessibili tramite HTTPS richiede di abilitare mod_ssl e aggiungere una configurazione simile come nell'esempio sopra:
Listen 443
NameVirtualHost *:443
# Accept connections for these vhosts from non-SNI clients
# Clients without SNI will be handled by the first defined vhost.
# If you only want SNI-enabled client, put on instead
SSLStrictSNIVHostCheck off
<VirtualHost *:443>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:443>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
Ricorda che l'utilizzo di SSL richiede l'acquisto di certificati SSL per i tuoi domini o la generazione di alcuni autofirmati e la configurazione di Apache per utilizzarli per le connessioni SSL.
sudo service apache2 restart