Es kann Situation geben, bei denen man mehrere Domains über einen Server laufen lassen möchte. Zum Beispiel könnten sich mehrere Typo3-Instanzen auf dem Server befinden, die auf ein Quellverzeichnis zugreifen, sodass bei einem Update nur dieses eine Quellverzeichnis erneuert werden muss. Selbstverständlich müssen in den einzelnen Typo3-Instanzen die Symlinks noch aktualisiert werden.

Ich gehe hier von einem Server unter Ubuntu 16.04 aus, auf dem mehrere Domains unter Typo3 7.6 laufen sollen.

Um diese Anleitung zu testen, sollte unter Ubuntu die Grundkomponenten von LAMP installiert sein: Apache, PHP und MySQL.

sudo apt install apache2 apache2-doc libapache2-mod-php php php-mysql mysql-server

Es wird nach einem root-Passwort für mySql gefragt, das vergeben werden sollte.

Nehmen wir an, unser Server, der in Zukunft mehrere Domains beherbergen soll, besitzt die IP 123.456.789.0. Um die LAMP-Installation zu testen, gebe ich in meinen Browser 123.456.789.0 ein. Wenn nun die Apache2 Ubuntu Default Page erscheint, hat die Installation geklappt.

Nehmen wir weiter an, unsere Domains, die bald über den Server mit der  IP 123.456.789.0 laufen sollen, heißen mydomain1.de und mydomain2.de. Bei dem Provider, bei dem die Domains mydomain1.de und mydomain2.de angemeldet sind, muss nun die IP 123.456.789.0 unter den sogenannten A-Records eingetragen werden. Die Umstellung kann laut Provider bis zu 24 Stunden dauern.

A-Records überprüfen

Um zu überprüfen, ob der neue Eintrag unter den A-Records auch auf die gewünschte IP zeigt und dorthin weitergeleitet wird, lege ich unter var/www zwei Verzeichnisse an:

sudo mkdir mydomain1
sudo mkdir mydomain2

In jedes Verzeichnis lege ich eine Datei mit dem Namen index.html:

sudo touch index.html

Dem Verzeichnisnamen entsprechend erhält die Index-Datei folgenden Inhalt:

<html>
  <head>
    <title>mydomain1</title>
  </head>
  <body>
    <h1>This is mydomain1</h1>
  </body>
</html>

Die Rechte des Verzeichnisses werden an den Apache-User www-data übergeben, damit Apache auf die Verzeichnisse zugreifen kann:

sudo chown -R www-data:www-data /var/www/mydomain1

Ich lege ebenfalls im Verzeichnis mydomain2 eine Indexdatei an, benenne den Inhalt der Datei entsprechend um und passe die Rechte der Verzeichnisse wie oben schon für mydomain1 beschrieben an.

Ich wechsele in das Verzeichnis /etc/apache2/sites-available. Hier lege eine neue  Config-Datei an:

sudo touch mydomain1.conf

Die Datei erhält folgenden Inhalt:

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName mydomain1.de
  ServerAlias *.mydomain1.de
  DocumentRoot /var/www/mydomain1
  ErrorLog ${APACHE_LOG_DIR}/mydomain1-error.log
  CustomLog ${APACHE_LOG_DIR}/mydomain1-access.log combined
</VirtualHost>

Auch hier wird eine zweite Conf-Datei mit dem Namen mydomain2.conf angelegt, in der nur die Domain-Namen entsprechend geändert werden.
Anschließend müssen alle angelegten Conf-Dateien noch aktiviert werden:

sudo a2ensite mydomain1.conf
sudo a2ensite mydomain2.conf

Anschließend ist ein

sudo service apache2 reload

nötig, damit Apache die neue Konfiguration auch einliest.

Im Verzeichnis /etc/apache2/sites-enabled kann man sich davon überzeugen, dass Simlinks zu den neuen Conf-Dateien gelegt wurden.

Ich rufe im Browser meine Domains mydomain1.de und mydomain2.de auf, und der Text wird angezeigt, den ich oben in die index.html hineingeschrieben habe.

Als nächsten Schritt installiere ich Typo3 für beide Domains. Dazu installiere ich die noch benötigten Programmpakete nach und lege in die document roots von mydomain1 und mydomain2 Symlinks auf den Typo3-Kern. Die benötigten Programmpakete, Symlinks und der Downloadlink zu Typo3 stehen hier. Für eine Typo3-Installation wird die zuvor angelegte index.html-Datei wieder gelöscht.