Odpowiedzi:
Prawdopodobnie będziesz chciał skorzystać z wirtualnego hostingu Apache. Jest to dobrze obsługiwana metoda hostowania wielu domen pod jednym adresem IP.
http://httpd.apache.org/docs/2.2/vhosts/
W szczególności wirtualne hosty oparte na nazwach: http://httpd.apache.org/docs/2.2/vhosts/name-based.html
Apache2 obsługuje serwowanie różnych treści w zależności od nazw domen, nawet jeśli wszystkie te domeny rozpoznają ten sam adres IP. Każda z nazw domen jest obsługiwana przez host wirtualny , a zatem host wirtualny oparty na nazwie .
Oto przykładowa konfiguracja dla dwóch domen:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:80>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
Oficjalną dokumentację na temat obsługi wirtualnego hosta opartego na nazwie znajdziesz tutaj .
Należy jednak pamiętać, że będzie to działać tylko z zwykłymi połączeniami HTTP, a nie z HTTPS (HTTP przez SSL): hosty wirtualne oparte na nazwie polegają na znajomości żądanej nazwy, ale Apache nie może poznać tych informacji, dopóki nie zaszyfrowany SSL połączenie jest ustanowione.
Jeśli chcesz, aby Twoja konfiguracja działała również z HTTPS, musisz polegać na rozszerzeniu protokołu SSL o nazwie Server Name Indication (SNI) ( RFC4366 ). Zasadniczo klienci z włączoną obsługą SNI (np. Przeglądarki internetowe) dodają dodatkowe informacje tekstowe podczas ustanawiania szyfrowanego połączenia SSL, co pozwala serwerowi poznać nazwę, o którą prosi się, zanim połączenie SSL będzie gotowe.
Wszystkie przeglądarki nie obsługują jeszcze SNI. W momencie pisania i według Wikipedii te:
Hostowanie kilku wirtualnych hostów opartych na nazwie dostępnych przez HTTPS wymaga włączenia mod_ssl i dodania podobnej konfiguracji jak w powyższym przykładzie:
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>
Pamiętaj, że korzystanie z SSL wymaga zakupu certyfikatów SSL dla twoich domen - lub wygenerowania niektórych automatycznie podpisanych i skonfigurowania Apache do używania ich do połączeń SSL.
sudo service apache2 restart