Wenn du Online-Hosting nutzt, möchtest du wahrscheinlich wissen, wie du mehrere Websites auf einem Server betreiben kannst. Auch wenn das kompliziert klingt: Je mehr du dich mit dem Thema beschäftigst, wirst du feststellen, dass es sich mit den richtigen technischen Anleitungen gut umsetzen lässt.
Verschiedene Webserver bieten kostenlose, quelloffene und weltweit verbreitete Dienste an. Bevor wir erklären, wie du mehrere Websites auf einem Server hostest, sollten wir aber zunächst klären, was ein Webserver ist und wie er funktioniert.
- Was ist ein Webserver?
- Mehrere Websites auf einem Server hosten: Apache
- Schritt 1: Verzeichnis für jede Website anlegen
- Schritt 2: Ordnerberechtigungen festlegen
- Schritt 3: Eine Index-Seite einrichten
- Schritt 4: Konfigurationsdatei für jede Website kopieren
- Schritt 5: Konfigurationsdatei für jede Website bearbeiten
- Schritt 6: Konfigurationsdatei aktivieren
- Schritt 7: Apache-Konfigurationen überprüfen
- Mehrere Websites auf einem Server hosten: IIS
- Mehrere Websites mit verschiedenen IP-Adressen auf einem IIS-Server betreiben
- Fazit: Mehrere Websites auf einem Server hosten
- Häufig gestellte Fragen
Was ist ein Webserver?
Ein Webserver speichert Inhalte wie Texte, Bilder, Videos und Anwendungsdaten einer Website und stellt sie bereit. Clients, die diese Inhalte abrufen möchten, erhalten sie über den Webserver. Ein typischer Client ist ein Webbrowser, der Daten von einer Website anfordert, sobald ein Nutzer auf einen Link klickt oder eine Datei herunterlädt.
Ein Webserver kommuniziert mit einem Webbrowser über das Hypertext-Übertragungsprotokoll (HTTP) Die meisten Webseiten sind in Hypertext Markup Language (HTML) codiert. Inhalte können statisch sein, etwa Texte und Bilder, oder dynamisch, wie eine Liste der Artikel, die ein Kunde zum Kauf vorgemerkt hat. Die meisten Webserver unterstützen serverseitige Skriptsprachen um Geschäftslogik in die Kommunikation einzubinden und dynamische Inhalte bereitzustellen. Typische Sprachen sind Active Server Pages (ASP), JavaScript, PHP, Python und Ruby.
Wie funktioniert ein Webserver?
Webserver arbeiten nach dem Client-Server Prinzip. In diesem Modell stellt der Client eine Anfrage an den Server.
Webserver durchlaufen mehrere Schritte, um Anfragen von Web-Clients zu verarbeiten:
- Wenn ein Nutzer Inhalte auf der Website laden möchte, fordert der Webbrowser Zugriff an (HTTP-Anfrage) über das Internet.
- Der Webbrowser sucht nach der IP-Adresse der angeforderten Website. Dabei übersetzt er den URL der Webseiten mithilfe des Domainnamenssystem (DNS) oder durchsucht seinen Cache. Dieser Vorgang hilft dabei, den Webserver zu finden, auf dem die Dateien der Website gespeichert sind.
- Der Webserver empfängt die HTTP-Anfrage und verarbeitet sie über seinen HTTP-Server.
- Sobald der HTTP-Server die Anfrage akzeptiert, durchsucht er die Serverdateien nach den relevanten Daten.
- Der Webserver sendet die Website-Dateien an den Browser zurück, der die Anfrage gestellt hat. Anschließend sieht der Nutzer den Inhalt der Website.
Wichtig: Kann der HTTP-Server die angeforderten Dateien nicht finden oder verarbeiten, erscheint im Browser eine Fehlermeldung. Jetzt, wo Sie mit den grundlegenden Konzepten von Webservern vertraut sind, können Sie auch lernen, wie Sie mehrere Websites auf einem Server betreiben.
Mehrere Websites auf einem Server hosten: Apache
Wenn Sie mehr als eine Website auf einem Server betreiben möchten, sollten Sie die virtuellen Host-Dateien von Apache verwenden, um festzulegen, welche Domain genutzt werden soll. Eine gängige Methode zur Auflösung von Website-Anfragen nennt sich Namensbasierte virtuelle Hosts. Ruft jemand Ihre Website auf, geht die Anfrage an den Server, der anhand des Domainnamens entscheidet, welche Website-Dateien ausgeliefert werden. Mit dieser Methode können Sie mehrere Websites auf einem Server mit derselben IP betreiben. Dieser Artikel erklärt, wie Sie die virtuelle Host-Datei für jede Ihrer Domains einrichten. Bevor wir ins Detail gehen: Stellen Sie sicher, dass Sie als Root angemeldet sind.
Mehr dazu: “Linux vs. Windows Hosting: Was ist die bessere Wahl für Sie?”
Schritt 1: Verzeichnis für jede Website anlegen
Installieren Sie zunächst apache2 mit folgendem Befehl
Für Debian-basierte Systeme
apt install apache2 -y
Für CentOS-basierte Systeme
yum install apache2 -y
Erstellen Sie für jede Website, die Sie betreiben möchten, ein eigenes Verzeichnis (im Ordner /var/www). Verwenden Sie beispielsweise domain.com und domain2.com als Domainnamen.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Schritt 2: Ordnerberechtigungen festlegen
chmod -R 755 /var/www
Schritt 3: Eine Index-Seite einrichten
Damit eine Startseite angezeigt wird, muss die index.html Datei für jede Domain erstellt werden. Als einfachen Inhalt können Sie zum Beispiel Test für domain.com in diese Datei eintragen.
vim /var/www/domain.com/public_html/index.html
Test für domain.com
Speichern und schließen Sie die Datei anschließend mit Flucht Taste und die Eingabe von: wq
Mit dem folgenden Befehl können Sie alle diese Schritte für Ihre zweite Domain wiederholen.
vim /var/www/domain2.com/public_html/index.html
Schritt 4: Konfigurationsdatei für jede Website kopieren
Sie müssen die Standardkonfigurationsdatei für jede Website kopieren, damit Sie immer eine Standardkopie für künftige Websites zur Verfügung haben.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Schritt 5: Konfigurationsdatei für jede Website bearbeiten
Mindestens müssen Sie die hervorgehobenen Zeilen innerhalb der <VirtualHost *:80> und </VirtualHost>-Tags ändern und ergänzen.
Beachten Sie, dass ServerAlias der alternative Name für Ihre Domain ist. In diesem und den meisten anderen Fällen wird www vor den Domainnamen gestellt, damit die Website sowohl über www als auch ohne www erreichbar ist (ServerName).
vim /etc/apache2/sites-available/domain.com.conf

Schließen und speichern Sie erneut mit wq. Diesen Vorgang müssen Sie für Ihre domain2.com.conf Datei wiederholen. Achten Sie darauf, den ServerName, ServerAlias, und DocumentRoot für Ihre zweite Domain anzupassen.
Mehr dazu: “Apache vs NGINX”
Schritt 6: Konfigurationsdatei aktivieren
Ihr Server liest standardmäßig die Datei 000-default.conf. Im vorherigen Schritt haben wir jedoch für jede Domain eine neue Konfigurationsdatei erstellt. Daher muss die Standarddatei deaktiviert und durch die jeweils passende neue Konfigurationsdatei ersetzt werden.
a2dissite 000-default.conf
Sie können Ihren Server den Domains zuordnen, indem Sie jede der neu erstellten .conf-Dateien aktivieren.
a2ensite domain.com.conf
a2ensite domain2.com.conf
Starten Sie nun Apache neu, damit die vorgenommenen Änderungen wirksam werden.
systemctl restart apache2
Schritt 7: Apache-Konfigurationen überprüfen
Nach dem Neustart von Apache können Sie prüfen, ob die Konfigurationen funktionieren, indem Sie Ihre /etc/host-Datei auf Ihrem Computer bearbeiten oder die DNS Ihrer Domain.
Nachdem alle Einstellungen vorgenommen wurden, können Sie Ihre Website im Browser aufrufen, um die in Schritt 3 erstellten index.html-Seiten anzuzeigen.
Weitere Artikel: Vor Ort vs. Cloud
Mehrere Websites auf einem Server hosten: IIS
Ein IIS (Internet Information Services) Webserver lässt sich für Dutzende oder sogar Hunderte von Websites nutzen. Sie können darauf mehrere Websites hosten, die alle auf demselben TCP-Portlauschen und antworten. Die IIS-Manager-Oberfläche zeigt jedoch, dass Sie eine weitere Website hosten können, ohne sie an einen anderen Port wie 8080 zu binden. Dieser Abschnitt erklärt, wie Sie mehrere Websites auf demselben IIS-Server betreiben und sie an denselben Port und dieselbe IP-Adresse oder auch an verschiedene IP-Adressen binden.
Wie installiert man IIS auf einem Windows-Server?
Wenn Sie IIS auf Windows installieren, wird eine leere Standard-Website erstellt, die auf dem Standard-Webport HTTP – TCP 80lauscht. Technisch gesehen ist unsere Website an Port TCP/80 gebunden. Um diese Website zu öffnen, geben Sie im Browser entweder den Namen des IIS-Servers ("http://web-srv1") oder seine IP-Adresse ("http://192.168.1.100") ein.
Schritt 1: IIS-Website binden
Ein IIS-Webserver unter Windows Server ermöglicht das Hosten mehrerer Websites. Damit IIS HTTP-Anfragen korrekt verteilt, muss jede Website über einen eindeutigen Bezeichner verfügen. Eine IIS-Website besitzt drei Attribute, die zusammen eine eindeutige Kombination bilden. Diese Attribute sind:
- eine TCP-Portnummer
- eine IP-Adresse
- ein Host-Header (Hostname)
Die Informationen zu den gehosteten Websites werden im ServerBindings Attribut der IIS-Metabase gespeichert. Das Format ist wie folgt: IP:Port:Hostname. Wenn Sie also mehrere Websites auf einem Server mit demselben Port und derselben IP-Adresse hosten möchten, müssen Sie einen eindeutigen Host-Header.
verwenden. Was ist ein Host-Header? Ein Host-Header ist Bestandteil einer HTTP-Anfrage an den Server und gibt an, an welche Website sie gerichtet ist. Dieser Host-Header muss daher auch auf der Webserver-Seite angegeben werden. Stellen Sie sicher, dass die DNS einen korrekten Eintrag enthält, der den Hostnamen mit der IP-Adresse des IIS-Webservers verknüpft.
Angenommen, Sie haben eine Website, die auf dem IIS-Server läuft und auf Port 80 lauscht. Was tun, wenn Sie eine zweite Website an denselben Port binden möchten?
Schritt 2: Zweite IIS-Website binden
Erstellen Sie im Internet Information Services (IIS) Manager über das Fenster "Website hinzufügen" eine neue Website mit dem Namen TestSite. Diese Website liegt unter C:\inetpub\TestSite. Legen Sie den Hostnamen noch nicht fest.
Nach dem Kopieren des Seiteninhalts in C:\inetpub\Öffne den Internet Information Services (IIS) Manager auf TestSite, und füge im Hostname des Servers die Site hinzu, um den Einrichtungsassistenten zu starten.


Nach dem Klick auf "Ok" siehst du eine Warnung, dass du nicht verwenden kannst binding *:80 für beide dieser Websites.


Sobald du diese Warnung bestätigst, wird eine weitere Website an Port 80 gebunden. Du kannst sie nicht starten, ohne die erste Website vorher zu stoppen. Das folgende Bild veranschaulicht das genauer.

Windows VPS Hosting
Entdecken Sie unsere günstigen Windows VPS Tarife mit leistungsstarker Hardware, geringer Latenz und einem kostenlosen Windows Ihrer Wahl!
Kostenloses Windows sichernMehrere Websites auf einem IIS-Server über Host-Header hosten
Sie müssen einen anderen Namen (Host Name) für die zweite IIS-Website wählen, um eine eindeutige Bindung zu erstellen. Klicken Sie dazu mit der rechten Maustaste TestSite und wähle Bearbeiten Bindings. Wählen Sie die gewünschte Bindung aus und klicken Sie auf Bearbeiten.
Wie im folgenden Bild zu sehen ist, musst du den eindeutigen Hostnamen angeben, den der Benutzer verwendet. In diesem Tutorial verwenden wir TestSite – trag ihn also im Feld "Hostname" ein.

Sie können die IIS-Site-Bindung über die Eingabeaufforderung konfigurieren. Bei IIS 7 oder neuer sieht die Ausgabe nach dem Ausführen des Befehls in etwa so aus:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
Genau wie die erste Website kannst du auch die zweite starten.

An dieser Stelle müssen Sie einen DNS-Alias für den Server (A oder CNAME) anlegen, der auf die IP-Adresse oder den Hostnamen Ihres IIS-Webservers verweist. Wenn Sie eine Active Directory-Domäne verwenden, müssen Sie DNS-Einträge auf dem Domänencontroller erstellen. IIS ermöglicht es Ihnen, einen CNAME Eintrag für den Namen TestSite in der DNS-Konsole (dnsmgmt.msc) zu erstellen und den Domainnamen Ihres IIS-Servers als FQDN-Zielhost festzulegen.

Sie können diesen DNS-Eintrag auch über PowerShell mit dem folgenden Befehl erstellen:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
Versuchen wir, http://TestSite im Browser zu öffnen. Wenn alles korrekt konfiguriert wurde, sollte die Seite erfolgreich laden.

Linux-Hosting leicht gemacht
Möchtest du eine bessere Lösung zum Hosten von Websites und Web-Apps? Arbeitest du an einem neuen Projekt? Oder magst du Windows einfach nicht? Dafür gibt es Linux VPS.
Hol dir dein Linux VPSMehrere Websites mit verschiedenen IP-Adressen auf einem IIS-Server betreiben
Sprechen wir nun darüber, wie Sie zwei Sites auf dem IIS-Webserver mit unterschiedlichen IP-Adressen betreiben. Zuerst müssen Sie ein separates VLAN-Interface auf dem Windows-Server hinzufügen oder der NIC eine zusätzliche IP-Adresse (Alias) zuweisen.
In diesem Tutorial hat der Server die primäre IP-Adresse 192.168.13.100, und wir fügen den IP-Alias 192.168.13.101 auf demselben Netzwerkadapter hinzu:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True
Jetzt müssen Sie auf dem DNS-Server einen A-Eintrag für Ihre neue Site erstellen:
Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr
Öffnen Sie die Site-Binding-Einstellungen und binden Sie die Site an die zusätzliche IP-Adresse Ihres Hosts. Das Binding von Sites auf einem IIS-Server lässt sich über PowerShell steuern. Dazu wird das WebAdministration-Modul verwendet:
Import-Module WebAdministration
Sie können alle verfügbaren IIS-Sites und ihre Bindings anzeigen:
Get-IISSite
Oder nur eine einzelne Site:
(Get-Website -Name NewSite).bindings.Collection

Verwenden Sie den folgenden Befehl, um das Binding dieser Site zu ändern. Damit lassen sich IP-Adressen, Ports oder der Name anpassen:
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'
Mit diesem Befehl fügen Sie einer bestimmten IIS-Site ein neues Binding hinzu:
New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http
Ein Binding wird mit dem folgenden Befehl entfernt:
Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"
Wie Sie gesehen haben, können Sie auf dem IIS-Webserver mehrere Websites betreiben - sowohl auf unterschiedlichen IP-Adressen als auch auf derselben IP-Adresse mit demselben TCP-Port.
Fazit: Mehrere Websites auf einem Server hosten
Dieser Artikel hat sich auf die grundlegenden Konzepte von Servern konzentriert und gezeigt, wie Sie mehrere Websites auf einem einzigen Server hosten. Wir bieten außerdem verschiedene Linux VPS Hosting-Lösungen an, mit denen Sie unterschiedliche Websites auf einem Server betreiben können. Die Tarife von Cloudzy senken die Kosten für den Betrieb mehrerer Server, und Sie können unsere Dienste dabei voll zu Ihrem Vorteil nutzen. Außerdem können Sie die Ressourcen Ihres Servers jederzeit erhöhen, darunter RAM, Speicher, Prozessor und Bandbreite.
Häufig gestellte Fragen
Kann man mehrere Websites auf einem einzigen Webserver hosten?
Wenn Sie einen leistungsstarken Server mit ausreichend HDD-Speicherplatz, RAM und CPU-Rechenleistung haben, können Sie mehrere Websites über virtuelles Hosting betreiben. Die Anzahl der Websites, die Sie auf Ihrem Webserver hosten, ist dabei unbegrenzt.
Wie betreibt man zwei Websites auf einem Server?
Mehrere Websites auf einem einzigen Webserver zu betreiben wird als Virtual Server bezeichnet. Stellen Sie außerdem sicher, dass der gewählte Server genügend Ressourcen für das erwartete Traffic-Aufkommen und den benötigten Speicherplatz bietet.
Wofür wird ein VPS-Server verwendet?
VPS ist ein Hosting-Dienst, der Ihnen dedizierte (private) Ressourcen auf einem Server bereitstellt. Im Gegensatz zu Shared Hosting, bei dem kein eigener Serverbereich reserviert wird, bietet VPS eine sicherere und stabilere Lösung.
Warum nutzen Leute VPS?
VPS-Hosting hat sich als beliebte Wahl etabliert, weil es günstiger als dediziertes Hosting ist und gleichzeitig mehr Zuverlässigkeit, Sicherheit und Leistung bietet als Shared Hosting.