Voraussetzungen
• Ubuntu 22.04 Server
• SSH-Root-Zugang
• Apache2
• MySQL
• PHP8.2 PHP
Für Typo3 12.4 sollten außerdem folgende PHP-Module installiert sein:
sudo apt install php libapache2-mod-php php-cli php-common php-gmp php-curl php-mysql php-json php-intl php-mbstring php-xmlrpc php-gd php-xml php-zip php-imap
Wenn alle Packete installiert sind, nehme ich in der php.ini für Typo3 ein paar Änderungen vor:
vim /etc/php/8.2/apache2/php.ini
Folgende Werte trage ich ein:
max_execution_time = 240 memory_limit = 256M upload_max_filesize = 64M post_max_size = 64M max_input_vars = 1500
Die Installation mit Hilfe von Composer unterscheidet sich grundlegend von der bisherigen Typo3-Installation. Sie ist schneller und weniger fehleranfällig. Dazu muss zunächst Composer installiert sein, wie es z.B. diese Anleitung beschreibt: Composer installieren.
Wenn Composer installiert ist, begebe ich mich unter Ubuntu 22.04 ins Verzeichnis var/www. Dort will ich die Webseite für meine Domain mywebsite.de anlegen. Ich weiß von der Seite typo3.org, dass die aktuelle Typo3 12er-Version die Version 12.4 ist. So gebe ich folgendes Kommando ein:
sudo su
composer create-project "typo3/cms-base-distribution:^12.4" mywebsite
Ich erhalte auch die Warnmeldung
Do not run Composer as root/super user! See getcomposer.org/root for details
aber auf der Seite wird auch nicht gesagt, wie es ohne sudo su geht. Wenn ich nicht sudo su bin, bekomme ich bei der Installation „Permission denied“-Fehler. Jetzt wird einiges an Daten heruntergeladen, installiert, und das Verzeichnis mywebsite wurde erstellt.
Es gibt eine Neuerung hinsichtlich der Document Root. Die liegt nun nicht mehr im Verzeichnisnamen, in unserem Beispiel mywebsite, sondern eine Ebene tiefer. Ich lege im Verzeichnis mywebsite das Verzeichnis public an. Das ist der Document Root. Die Rechte an diesem Verzeichnis benötigt der Apache-User www-data, deshalb gebe ich ein:
chown -R www-data:www-data /var/www/mywebsite
Im Verzeichnis /etc/apache2/sites-available/ lege ich eine Datei mit dem Namen mywebsite.conf an. Die Document Root und der Name der Webseite werden entsprechend eingetragen:
sudo vim /etc/apache2/sites-available/mywebsite.conf
Darin trage ich ein:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName mywebsite.de ServerAlias *.mywebsite.de DocumentRoot /var/www/mywebsite/public ErrorLog ${APACHE_LOG_DIR}/mywebsite.de-error.log CustomLog ${APACHE_LOG_DIR}/mywebsite-access.log combined </VirtualHost>
Anschließend muss die Conf-Datei noch aktiviert werden:
sudo a2ensite mywebsite.conf
Ich überprüfe in der Datei
vim /etc/apache2/apache2.conf
ob folgender Eintrag vorhanden ist:
Directory /var/www/ Options Indexes FollowSymLinks AllowOverride None Require all granted
Falls ja, ändere ich in ab zu:
Directory /var/www/ Options Indexes FollowSymLinks AllowOverride All Require all granted
Das alles schließe ich ab mit
sudo systemctl reload apache2
damit Apache die neue Konfiguration einliest.
Ich überprüfe, ob alle Systeme ordnungsgemäß laufen:
sudo systemctl status apache2 sudo systemctl status mysql php -v
Bei meinem Domainanbieter überprüfe ich, ob meine Domain mywebsite.de auch auf die IP meines Ubuntu-Servers weist, z. B. auf die IP 123.45.67.89.
Ich gehe jetzt in meinen Webbrowser und gebe ein mywebsite.de, und ein Typo3-Installations-Info erscheint. Da werde ich aufgefordert, in meine Document Root (also im Verzeichnis public) die Datei FIRST_INSTALL anzulegen, dem ich nachkomme:
sudo touch FIRST_INSTALL
Anschließend drücke ich im Browser F5, und die Typo3-Installation beginnt. Aber als erstes erhalte ich eine Fehlermeldung:
PHP max_input_vars very low
max_input_vars=1000
This setting can lead to lost information if submitting forms with lots of data in TYPO3 CMS (as the install tool does). It is highly recommended to raise this to at least 1500: max_input_vars=1500
Um den Fehler zu beheben, öffne ich die php.ini (liegt in /etc/php/8.2/apache2)
sudo vim php.ini
und setze die max_input_vars wie empfohlen auf 1500. Dann starte ich Apache2 neu:
sudo systemctl reload apache2
Nach erneutem drücken der Taste F5 im Browser ist die Fehlermeldung verschwunden und die Installation läuft weiter:
Datenbank erstellen:
Username: root
Password: [wie oben erstellt]
Host: 127.0.0.1
Port: 3306
Create a new database: Datenbankname vergeben. Am besten ohne Bindestrich, Unterstrich ist ok.
Create user and import base data
Username und Passwort für den Zugriff aufs Typo3-Backend kreieren.
Im Backend anmelden.
Im Install Tool alle Funktionen ckecken. Falls der Mailversand nicht funktionieren sollte, siehe folgenden Absatz.
Mailfunktion
Der Test der Mailfunktion innerhalb von Typo3 schlug fehl, weil sendmail noch nicht installiert war, was ich nachhole:
sudo apt install sendmail
Anschließend muss sendmail noch konfiguriert werden:
Bei "Select database" vergebe ich einen Benutzernamen und Passwort für die Datenbank. Die anderen Voreinstellungen lasse ich unverändert.
Beim nächsten Schritt wähle ich "Create a new database" und vergebe einen aussagekräftigen Namen wie z.B. "mywebsite_db". Ich vergebe dann einen Benutzernamen und Passwort, mit dem ich mich in Typo3-Backend einwählen kann.
Die "Site name" meine neuen Seite kann ich auch umbenennen. Im letzten Schritt kann ich noch auswählen, ob ich eine leere Startseite haben möchte (die Startseite ist nicht komplett leer).
Bemerkungen :