Mehrere Domains auf einer IP hosten (bspw. auf einem Hetzner Root Server)

Wer z.B. bei Hetzner einen Rootserver hat, der hat auch gleich mehrere IPs. Wem diese dennoch nicht ausreichen, oder wenn ein anderer Rootserver mit nur einer IP für Dich ackert, Du aber mehrere Domains darauf hosten möchtest, dann kannst Du Virtuelle Server in Betracht ziehen.

Virtuelle Server

Mit Apache2 lassen sich ziemlich einfach Virtuelle Server aufsetzen. Dazu bedarf es nicht einer virtuellen Maschine oder ähnlichem. Die komplette Verwaltung übernimmt ausschließlich der Apache.

Hierzu muss als aller erstes Apache mitgeteilt werden, welche IP ein virtueller Host sein soll. Das geschieht in der /etc/apache2/ports.conf. Syntax: NameVirtualHost IP:Port

NameVirtualHost 88.xxx.153.10:80
Listen 80

Die eingetragene IP ist jetzt also ein virtueller Host und lauscht auf verschiedene DNS Aufrufe.

Zudem muss in der /etc/apache2/sites-available/default die Vhost Beschreibung für diese IP hinterlegt werden. In dem folgendem Beispiel laufen (www.)domain1.com und (www.)domain2.com auf der gleichen IP. Je nach DNS wird dann entweder der ein oder der andere DocumentRoot aufgerufen:

<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain1.com
        ServerName www.domain1.com
        DocumentRoot /var/www/domain1.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>
<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain1.com
        ServerName domain1.com
        DocumentRoot /var/www/domain1.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>
<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain2.com
        ServerName www.domain2.com
        DocumentRoot /var/www/domain2.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>
<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain2.com
        ServerName domain2.com
        DocumentRoot /var/www/domain2.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>

Nicht vergessen, Apache neu starten. Bspw. mit /etc/init.d/apache2 restart

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.