TYPO3 Multi-Domain-Setup: Eine Basis-Installation für mehrere Webseiten meistern
Erfahren Sie, wie Sie mehrere Webseiten effizient über eine einzige TYPO3-Installation verwalten. Von DNS über Apache bis TYPO3 – die komplette Journey einer HTTP-Anfrage.
Einleitung
Sie stehen vor einer Herausforderung, die viele Unternehmen kennen: Mehrere digitale Präsenzen – von der Haupt-Website über Produktseiten bis hin zu Event-Microsites – sollen zentral verwaltet werden. Die gute Nachricht: Mit TYPO3 ist genau das nicht nur möglich, sondern auch extrem effizient.
Ein Multi-Domain-Setup mit TYPO3 bedeutet: Eine Installation, unbegrenzte Möglichkeiten. Sie sparen Hosting-Kosten, reduzieren Wartungsaufwand und behalten die volle Kontrolle über Ihre digitale Infrastruktur.
In diesem Guide begleiten wir eine HTTP-Anfrage auf ihrer Journey durch das System – von der Browser-Eingabe bis zur finalen Content-Auslieferung. Sie verstehen nicht nur wie die Konfiguration funktioniert, sondern vor allem warum.
Sie meistern die drei zentralen Technologie-Ebenen eines Multi-Domain-Setups: DNS als globales Routing-System, Apache als intelligenter Traffic-Director und TYPO3 als Content-Engine. Am Ende können Sie beliebig viele Domains auf einer Installation betreiben.
Inhaltsverzeichnis
- Einleitung
- Teil 1: Die Anatomie einer URL – Was Ihr Browser wirklich sendet
- Teil 2: DNS – Das globale Adressbuch des Internets
- Teil 3: Apache Virtual Host – Der intelligente Traffic-Director
- Teil 4: TYPO3 Site Management – Die Content-Engine
- Teil 5: Die komplette Request Journey – End-to-End
- Fazit: Ihre digitale Infrastruktur – skalierbar und zukunftssicher
Teil 1: Die Anatomie einer URL – Was Ihr Browser wirklich sendet
Bevor wir Server konfigurieren, müssen wir die Sprache des Webs verstehen. Jede Web-Anfrage beginnt mit einer URL – schauen wir uns an, was wirklich in der Adresszeile passiert.
URL-Komponenten im Detail
Nehmen wir eine komplexe URL auseinander:
Das Fragment (#absatz3) verlässt niemals Ihren Browser. Alle anderen Komponenten werden als HTTP-Request an den Server gesendet. Der Server sieht nur: GET /folder1/folder2/datei.html HTTP/1.1 mit dem Host-Header myserver.at.
Die Request Journey im Überblick
Bevor wir in die Details gehen, hier der Gesamtprozess auf einen Blick:
Schauen wir uns jede Phase im Detail an.
Teil 2: DNS – Das globale Adressbuch des Internets
DNS (Domain Name System) ist das Fundament jeder Web-Kommunikation. Browser verstehen nur IP-Adressen – DNS übersetzt menschenlesbare Domainnamen in maschinenlesbare IPs.
A-Record vs. CNAME-Record: Die entscheidende Wahl
Für Multi-Domain-Setups gibt es zwei DNS-Record-Typen. Die Wahl hat massive Auswirkungen auf Performance und Funktionalität:
| Feature | A-Record | CNAME-Record |
|---|---|---|
| Zeigt auf | IP-Adresse (123.45.67.89) | Anderen Domainnamen |
| DNS-Lookups | 1x (optimal) | 2x+ (langsamer) |
| Performance | ★★★★★ Beste | ★★★☆☆ Verzögert |
| Für Hauptdomain | ✓ | ✕ |
| Mit MX-Records kombinierbar | ✓ | ✕ |
| Empfohlen für Multi-Domain | ✓ | ✕ |
Kritisch: Eine Hauptdomain (z.B. firma-a.de) darf keinen CNAME haben, wenn Sie MX-Records für E-Mail benötigen. DNS-Standards verbieten diese Kombination. Ihr E-Mail-Empfang würde komplett ausfallen!
DNS-Konfiguration: Die praktische Umsetzung
Für unser Multi-Domain-Setup mit firma-a.de und projekt-b.com benötigen Sie folgende DNS-Einträge:
Optimale Konfiguration für Multi-Domain:
; Hauptdomains
firma-a.de. IN A 123.45.67.89
www.firma-a.de. IN A 123.45.67.89
projekt-b.com. IN A 123.45.67.89
www.projekt-b.com. IN A 123.45.67.89
; E-Mail-Records funktionieren parallel
firma-a.de. IN MX 10 mail.firma-a.de.
projekt-b.com. IN MX 10 mail.projekt-b.com.Vorteile:
Minimale DNS-Lookup-Zeit (eine Anfrage)
Kompatibel mit MX/TXT/SPF-Records
Keine DNS-Chain-Dependencies
Beste Performance
Setzen Sie den TTL (Time to Live) auf 3600 Sekunden (1 Stunde) für produktive Systeme. Bei geplanten Änderungen reduzieren Sie ihn 24h vorher auf 300 Sekunden (5 Minuten), um schneller propagieren zu können.
DNS-Propagierung verstehen
DNS-Änderungen sind nicht sofort weltweit sichtbar. Hier ist, was passiert:
DNS-Record-Änderung
ISP-Cache-Refresh
Globale Propagierung
Vollständige Propagierung
Nutzen Sie Tools wie DNS Checker, Google Admin Toolbox Dig oder das CLI-Tool dig, um die globale DNS-Propagierung zu überprüfen:
Web-basierte Tools:

Das Google Admin Toolbox Dig Tool ermöglicht DNS-Lookups direkt im Browser – ideal für schnelle Checks ohne Terminal-Zugriff.
CLI-Tool:
dig firma-a.de +short
# Output: 123.45.67.89Teil 3: Apache Virtual Host – Der intelligente Traffic-Director
DNS hat die IP-Adresse geliefert – jetzt empfängt Apache die HTTP-Anfrage. Seine Aufgabe: Anfragen für hunderte möglicher Domains an die richtigen Verzeichnisse routen.
Virtual Hosts: Ein Server, viele Websites
Stellen Sie sich Apache als Empfangshalle eines Bürogebäudes vor. Die IP-Adresse ist die Hausadresse. Der Host-Header in jedem HTTP-Request ist wie der Firmenname auf einem Briefumschlag. Apache schaut in seiner Konfiguration nach und leitet den Request an das richtige "Büro" (DocumentRoot).
Name-Based Virtual Hosts: Die Konfiguration
Name-based Virtual Hosts ermöglichen mehrere Websites auf einer IP-Adresse – unterschieden nur durch den Domainnamen im HTTP-Header.
Datei: /etc/apache2/sites-available/typo3-multisite.conf
<VirtualHost *:80>
# DocumentRoot: Der zentrale Einstiegspunkt für alle Domains
# Alle Anfragen landen hier, unabhängig von der aufgerufenen Domain
DocumentRoot /var/www/typo3
# ServerName: Die primäre Domain dieses Virtual Hosts
# Apache nutzt diese, wenn keine andere Domain passt
ServerName www.firma-a.de
# ServerAlias: Alle weiteren Domains, die ebenfalls hier landen
# Durch Leerzeichen getrennte Liste aller zusätzlichen Domains
ServerAlias firma-a.de www.projekt-b.com projekt-b.com
# Logging für Debugging und Monitoring
ErrorLog ${APACHE_LOG_DIR}/typo3_error.logDie drei wichtigsten Direktiven erklärt:
ServerName: Die Hauptdomain für diesen Virtual Host
- Definiert die primäre Domain, die Apache mit diesem Virtual Host verbindet
- Wird als Fallback verwendet, wenn keine exakte Domain-Übereinstimmung gefunden wird
- Beispiel:
ServerName www.firma-a.de - Apache nutzt dies auch für Redirects und self-referential URLs
- Wenn ein Request ohne oder mit ungültigem Host-Header kommt, greift der erste Virtual Host mit passendem ServerName
ServerAlias: Zusätzliche Domainnamen für dieselbe Website
- Erlaubt mehrere alternative Domains, die auf denselben Virtual Host zeigen
- Perfekt für www-Varianten oder mehrere Domainnamen für eine Website
- Beispiel:
ServerAlias firma-a.de www.projekt-b.com projekt-b.com - Domains werden durch Leerzeichen getrennt
- Apache prüft zuerst ServerName, dann ServerAlias – die erste Übereinstimmung gewinnt
- Wildcard möglich:
ServerAlias *.firma-a.de(für alle Subdomains)
DocumentRoot: Der Dateisystem-Pfad zu den Website-Dateien
- Der absolute Pfad auf dem Server, wo die Website-Dateien liegen
- Beispiel:
DocumentRoot /var/www/typo3 - Alle Anfragen, die zu diesem Virtual Host passen, werden aus diesem Verzeichnis bedient
- Apache sucht nach der angefragten Datei relativ zu diesem Pfad
- Bei TYPO3: Hier liegt die
index.php, die alle Requests verarbeitet - Wichtig: Muss ein existierendes Verzeichnis sein, auf das Apache lesend zugreifen kann
Zusammenspiel in der Praxis:
- Browser sendet Request an
www.projekt-b.com - Apache empfängt Request und liest den
Host: www.projekt-b.comHeader - Apache durchsucht alle Virtual Hosts nach
ServerNameoderServerAlias=www.projekt-b.com - Match gefunden! → Apache verwendet den konfigurierten
DocumentRoot /var/www/typo3 - Alle weiteren Datei-Zugriffe erfolgen relativ zu
/var/www/typo3
Wenn AllowOverride None gesetzt ist, ignoriert Apache die .htaccess von TYPO3. Symptom: 404-Fehler für alle Seiten außer der Startseite. Lösung: Setzen Sie AllowOverride All.
Multi-Domain mit separaten DocumentRoots
Manchmal möchten Sie unterschiedliche TYPO3-Installationen pro Domain. Hier die erweiterte Konfiguration:
# Virtual Host 1: Firma A
<VirtualHost *:443>
DocumentRoot /var/www/firma-a
ServerName www.firma-a.de
ServerAlias firma-a.de
<Directory /var/www/firma-a>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# Virtual Host 2: Projekt B
<VirtualHost *:443>- Eine Installation: Shared Hosting, gemeinsame Extensions, zentrale Wartung
- Separate Installationen: Vollständig isolierte Projekte, unterschiedliche TYPO3-Versionen, separate Teams
Teil 4: TYPO3 Site Management – Die Content-Engine
Apache hat den Request weitergeleitet – jetzt übernimmt TYPO3. Das CMS muss entscheiden: Welche Webseite soll für diese spezifische Domain ausgeliefert werden?
Das Fundament: Der TYPO3-Seitenbaum
TYPO3 verwaltet alle Inhalte in einem hierarchischen Seitenbaum (Page Tree). Für jede unabhängige Website benötigen Sie eine Root Page (Wurzel-Seite).
Site Management Modul: Die moderne Konfiguration
Seit TYPO3 v9 ersetzt das Site Management Modul komplexe TypoScript-Konfigurationen. Es definiert Entry Points – die Verknüpfung zwischen Domain und Root Page.
Root Pages erstellen
Site Management öffnen
Site-Konfiguration anlegen
Entry Point definieren
Sprachen konfigurieren
Wiederholen für weitere Sites
Die config.yaml im Detail
Jede Site-Konfiguration wird als YAML-Datei gespeichert. Hier die Struktur für unsere Firma A:
# typo3conf/sites/firma_a/config.yaml
rootPageId: 1
base: 'https://www.firma-a.de/'
# Sprach-Konfiguration
languages:
-
title: Deutsch
enabled: true
languageId: 0
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: DeutschKey Concepts:
• rootPageId: Die Page-UID der Root Page
• base: Der Entry Point – TYPO3 matcht HTTP-Requests gegen diesen Wert
• languages: Multi-Language-Support
• errorHandling: Custom Error Pages
• routes: Statische Routes (robots.txt, sitemap.xml)
Die config.yaml-Dateien sollten versioniert werden (Git). So können Sie:
- Änderungen tracken
- Rollbacks durchführen
- Configs über Umgebungen synchronisieren (Dev → Staging → Prod)
- Code-Reviews für Infrastruktur-Änderungen
TYPO3 Request-Matching: Der Algorithmus
So entscheidet TYPO3, welche Site für eine Anfrage zuständig ist:
Wichtig: TYPO3 prüft base UND baseVariants. Die erste passende Konfiguration gewinnt. Bei mehreren Matches hat die alphabetisch erste config.yaml Vorrang.
Teil 5: Die komplette Request Journey – End-to-End
Verfolgen wir nun eine vollständige Anfrage für www.projekt-b.com durch alle Schichten:
Request-Details: Die HTTP-Header
Was sendet der Browser wirklich? Schauen wir uns die tatsächlichen HTTP-Header an:
HTTP-Request vom Browser:
GET / HTTP/1.1
Host: www.projekt-b.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-DE,de;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1Wichtig für das Routing:
• Host: www.projekt-b.com – Apache und TYPO3 nutzen diesen Header für Domain-Matching
• Accept-Language: Browser-Präferenz für Sprache (TYPO3 kann darauf reagieren)
• Accept-Encoding: Server kann Response komprimieren (gzip)
Troubleshooting: Häufige Fehler
Der base-Wert in der TYPO3 config.yaml muss mit / enden:
base: 'https://www.firma-a.de/'
base: 'https://www.firma-a.de'
Ohne Trailing Slash funktioniert das Domain-Matching nicht!
Fazit: Ihre digitale Infrastruktur – skalierbar und zukunftssicher
Sie haben die vollständige Architektur eines TYPO3 Multi-Domain-Setups gemeistert. Von der DNS-Ebene über den Apache Virtual Host bis zur TYPO3 Site-Konfiguration – Sie verstehen jetzt, wie die einzelnen Komponenten nahtlos ineinandergreifen.
Was Sie erreicht haben
Performance
Optimale DNS-Konfiguration mit A-Records für minimale Latenz. Keine CNAME-Chains, direktes IP-Routing. Ihre Sites sind weltweit schnell erreichbar.
Kosteneffizienz
Eine TYPO3-Installation für beliebig viele Domains. Reduzierte Hosting-Kosten, gemeinsame Extension-Verwaltung, zentrale Wartung und Updates.
Wartbarkeit
Zentrale Verwaltung aller Websites. Ein Update, ein Backup, eine Monitoring-Konfiguration. Ihre DevOps-Teams werden es lieben.
Security
SSL/TLS-Konfiguration für alle Domains. HSTS, Security-Header und moderne TLS-Cipher. Ihre Besucher sind geschützt.
Skalierbarkeit
Unbegrenzte Erweiterung: Neue Domains in Minuten hinzufügen. Keine komplexen Migrations-Projekte mehr. Ihre Infrastruktur wächst mit Ihrem Business.
Flexibilität
Individuelle Konfigurationen pro Site. Eigene Sprachen, eigene Templates, eigene Extensions – alles aus einer zentralen Installation heraus steuerbar.
Die drei Ebenen im Überblick
Ihre nächsten Schritte
DNS konfigurieren
Apache Virtual Host einrichten
TYPO3 Sites konfigurieren
Monitoring & Optimierung
Best Practices für den Produktivbetrieb
DNS:
- A-Records für alle Domains und www-Subdomains
- TTL auf 3600 Sekunden (1 Stunde)
- CAA-Records für SSL-Provider (Let's Encrypt)
- SPF/DKIM/DMARC für E-Mail-Domains
Apache:
- SSL/TLS mit automatischer Renewal (certbot)
- HTTP/2 aktiviert (
a2enmod http2) - Gzip/Brotli-Kompression (
a2enmod deflate) - Security-Header (HSTS, X-Frame-Options, CSP)
- Log-Rotation konfiguriert
TYPO3:
- Site-Configs versioniert (Git)
- Separate config.yaml pro Site
- baseVariants für Staging/Dev
- Error-Handling mit Custom-Pages
- robots.txt & sitemap.xml per Site
- Multi-Language konfiguriert
Monitoring:
- Uptime-Checks für alle Domains (z.B. UptimeRobot)
- SSL-Zertifikat-Expiry-Alerts
- DNS-Monitoring (z.B. DNSPerf)
- Apache-Logs aggregiert (z.B. ELK Stack)
- TYPO3-Error-Logging zentralisiert
Support & Weiterführende Ressourcen
Offizielle Dokumentation:
Tools:
- DNS Checker – Globale DNS-Propagierung prüfen
- SSL Labs – SSL-Konfiguration testen
- GTmetrix – Performance-Analyse
Kontaktieren Sie uns für ein unverbindliches Gespräch.
E-Mail: office@webconsulting.at