So installierst du TYPO3 CMS auf Rocky Linux 9

TYPO3 ist ein kostenloses und quelloffenes Content Management System für Unternehmen. Es bietet zahlreiche Funktionen auf Enterprise-Niveau, wie z.B. ein skalierbares CMS mit Multisite-Unterstützung, mehrsprachige Installationen, starke Sicherheitsimplementierungen, ist rasend schnell und kann überall eingesetzt werden.

Mit TYPO3 CMS kannst du flexible und zuverlässige Websites erstellen. Hinter dem TYPO3 CMS steht eine lebendige professionelle Community. Das TYPO3 CMS ist ein Plug-in-fähiges Content Management System mit einer anpassungsfähigen und entkoppelten Architektur.

In dieser Anleitung wirst du TYPO3 CMS – ein Content Management System für Unternehmen – auf dem Rocky Linux 9 Server installieren. Du wirst TYPO3 CMS mit dem Webserver httpd, der Datenbank MariaDB und der neuesten Version von PHP 8.0 einrichten. Diese Anleitung beinhaltet die Implementierung von HTTPS über Certbot und Letsencrypt, die zur Absicherung des TYPE3 Einsatzes verwendet werden.

Voraussetzungen

Um diesen Leitfaden zu erstellen, musst du zunächst die folgenden Voraussetzungen erfüllen:

  • Einmal Rocky Linux 9 Server – In diesem Beispiel wird ein Rocky Linux mit dem Hostnamen ‚TYPO3-Rock‚ verwendet.
  • Ein Nicht-Root-Benutzer mit sudo/root-Rechten.
  • Ein SELinux, das im permissiven Modus läuft.
  • Ein Domainname, der auf eine Server-IP-Adresse zeigt – In diesem Beispiel wird die Domain ‚hwdomain.io‚ verwendet.

Das war’s. Wenn alle Voraussetzungen erfüllt sind, kannst du jetzt mit der Installation beginnen.

Installation des httpd Webservers

TYPO3 ist ein unternehmenstaugliches CMS (Content Management System) und eine Webanwendung, die in PHP geschrieben wurde. Es kann mit verschiedenen Arten von Webservern betrieben werden. In diesem Beispiel wirst du TYPO3 CMS mit dem httpd-Webserver installieren und ausführen.

Bevor du ein Paket installierst, gibst du den folgenden dnf-Befehl ein, um das EPEL (Extra Package for Enterprise Linux) Repository zu deinem System hinzuzufügen. Dieses Repository wird später für die Installation weiterer Pakete benötigt.

sudo dnf install epel-release

Führe nun den folgenden dnf-Befehl aus, um den Webserver httpd zu installieren. Wenn du dazu aufgefordert wirst, bestätige mit y und drücke ENTER, um fortzufahren.

sudo dnf install httpd

httpd installieren

Sobald httpd installiert ist, gibst du den folgenden systemctl-Befehl ein, um den httpd-Webserver zu starten und zu aktivieren. Dadurch wird der httpd-Webserver gestartet und kann beim Systemstart automatisch gestartet werden.

sudo systemctl start httpd
sudo systemctl enable httpd

Überprüfe den Status des httpd-Webservers mit dem folgenden systemctl-Befehl. Du solltest eine Ausgabe wie„enabled“ erhalten, die bestätigt, dass der httpd-Dienst beim Systemstart automatisch gestartet wird. Und der Status des httpd-Webservers ist „running“.

sudo systemctl is-enabled httpd
sudo systemctl status httpd

httpd verifizieren

Bevor du auf deine httpd-Installation zugreifen kannst, musst du die HTTP- und HTTPS-Protokolle auf deinem Rocky-Linux-System über firewalld öffnen.

Gib den folgenden firewall-cmd-Befehl ein, um sowohl HTTP- als auch HTTPS-Ports zur firewalld hinzuzufügen. Lade dann die Firewalld neu, um die Änderungen zu übernehmen.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Die Ausgabe„success“ bestätigt den Erfolg der Operation. Du kannst nun die Liste der Firewalld-Regeln mit dem folgenden Befehl überprüfen.

sudo firewall-cmd --list-all

Im Abschnitt „Dienste“ solltest du sehen, dass sowohl HTTP- als auch HTTPS-Protokolle zur Firewalld hinzugefügt wurden.

firewalld einrichten

Nun hast du den Webserver httpd installiert und die Firewalld konfiguriert. Als Nächstes startest du die Installation des MariaDB Datenbankservers.

Installation von MariaDB Server

In diesem Abschnitt installierst du den MariaDB-Datenbankserver und sicherst den Einsatz automatisch mit dem Befehl „mariadb-secure-installation“.

Gib zunächst den folgenden dnf-Befehl ein, um den MariaDB-Datenbankserver zu installieren.

sudo dnf install mariadb-server

Gib y ein, wenn du dazu aufgefordert wirst, und drücke ENTER, um fortzufahren.

mariadb installieren

Starte und aktiviere nun den MariaDB-Dienst mit dem folgenden systemctl-Befehl. Der MariaDB-Dienst sollte jetzt laufen und auch aktiviert sein, d.h. der MariaDB-Dienst wird beim Hochfahren automatisch gestartet.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Gib den folgenden systemctl-Befehl ein, um den MariaDB-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Die Ausgabe„enabled“ bestätigt, dass der MariaDB-Server aktiviert ist und beim Systemstart automatisch gestartet wird. Die Ausgabe„active (running)“ bestätigt, dass der MariaDB-Server ausgeführt wird.

start verify mariadb

Zum Schluss führst du den folgenden Befehl „mariadb-secure-installation“ aus, um die MariaDB-Installation zu sichern.

sudo mariadb-secure-installation

Du wirst nun nach den folgenden Konfigurationen gefragt – Du kannst y zur Bestätigung oder n für no eingeben.

  • Ändere die Authentifizierung auf unix_socket? gib n ein.
  • Ändern des MariaDB-Root-Passworts? gib zur Bestätigung y ein, gib das neue Passwort für deinen MariaDB-Server ein und wiederhole das Passwort.
  • Deaktiviere die Remote-Root-Anmeldung? Gib zur Bestätigung y ein – der Root-Benutzer sollte keine Remote-Verbindung herstellen dürfen.
  • Anonymen Benutzer entfernen? gib zur Bestätigung y ein.
  • Die Standarddatenbank „test“ entfernen? gib zur Bestätigung y ein und entferne die Testdatenbank.
  • Gib schließlich y ein, um die Berechtigungen für die Tabellen neu zu laden und die neuen Änderungen anzuwenden.

Wenn die Einrichtung von MariaDB abgeschlossen ist, kannst du eine neue Datenbank und einen neuen Benutzer für die Einrichtung von TYPO3 CMS erstellen.

MariaDB-Datenbank und -Benutzer anlegen

In diesem Abschnitt erstellst du eine neue MariaDB-Datenbank und einen neuen Benutzer, die für die TYPO3 CMS-Installation verwendet werden sollen.

Melde dich zunächst mit dem Befehl„mariadb“ in der MariaDB-Shell an. Gib dein MariaDB-Root-Passwort ein und drücke ENTER.

sudo mariadb -u root -p

Führe nun die folgenden MariaDB-Abfragen aus, um eine neue Datenbank und einen neuen Benutzer anzulegen. In diesem Beispiel wirst du eine neue Datenbank„typo3db“ mit dem Benutzer„typo3“ erstellen. Achte darauf, dass du das Passwort in den folgenden Abfragen änderst und dass du den Zeichensatz„utf8mb4“ als Standard für deine Datenbank verwendest.

CREATE DATABASE typo3db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY 'typo3password';
FLUSH PRIVILEGES;

Daten und Benutzer erstellen

Als Nächstes überprüfst du die Liste der verfügbaren Benutzer in MariaDB mit der folgenden Abfrage. Du solltest sehen, dass der neue Benutzer„typo3“ hinzugefügt wurde und auf deinem MariaDB-Server verfügbar ist.

SELECT USER,host FROM mysql.user;

Benutzer verifizieren

Überprüfe schließlich die Berechtigungen des MariaDB-Benutzers„typo3“ mit der folgenden Abfrage. Du solltest sehen, dass der Benutzer„typo3“ alle Berechtigungen für die Datenbank„typo3db“ hat.

SHOW GRANTS FOR typo3@localhost;

Benutzerrechte anzeigen

Tippe nun quit ein, um dich von der MariaDB-Shell abzumelden.

Damit hast du die Konfiguration der MariaDB-Datenbank für die TYPO3 CMS-Installation abgeschlossen. Gehe zum nächsten Schritt über, um die PHP-Installation zu starten.

Installation von PHP 8.0

TYPO3 CMS ist hauptsächlich in PHP geschrieben und zum Zeitpunkt der Erstellung dieses Artikels unterstützt die neueste Version von TYPO3 CMS PHP 8.x Pakete. In diesem Abschnitt wirst du PHP 8.0 installieren, das standardmäßig im Repository von Rocky Linux 9 verfügbar ist.

Gib den folgenden dnf-Befehl ein, um die PHP 8.0-Pakete zu installieren. Wenn du dazu aufgefordert wirst, gibst du zur Bestätigung y ein und drückst ENTER, um fortzufahren.

sudo dnf install php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

php installieren

Sobald PHP installiert ist, öffne die Konfigurationsdatei „/etc/php.ini“ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/php.ini

Ändere die Standardkonfigurationen der php.ini mit den folgenden Zeilen.

memory_limit = 512M
max_execution_time = 300
max_input_vars = 2000

date.timezone = Europe/Stockholm

post_max_size = 30M
upload_max_filesize = 30M

Speichere und beende die Datei„/etc/php.ini“, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den httpd-Dienst neu zu starten und die neuen Änderungen, die du in der Datei „php.ini“ vorgenommen hast, anzuwenden.

sudo systemctl restart httpd

Du kannst die aktuelle PHP-Version auch mit dem unten stehenden „php“-Befehl überprüfen. Du solltest eine Ausgabe erhalten, dass PHP 8.0 auf deinem System installiert ist.

php --version

php verifizieren

Jetzt hast du die PHP 8.0 Pakete installiert und die php.ini Datei konfiguriert. Im nächsten Schritt installierst du Composer – den Abhängigkeitsmanager für PHP – der für die Installation der PHP-Abhängigkeiten des TYPO3 CMS verwendet wird.

Installation von Composer

Composer ist ein PHP-Abhängigkeitsmanager auf Anwendungsebene. Er kann manuell über das offizielle Installer-Skript oder über das EPEL-Repository installiert werden.

Gib den folgenden dnf-Befehl ein, um Composer aus dem EPEL-Repository zu installieren. Wenn du dazu aufgefordert wirst, gib y ein, um zu bestätigen, und drücke ENTER, um fortzufahren.

sudo dnf install composer

Komponist installieren

Sobald Composer installiert ist, gibst du den folgenden Befehl ein, um die Composer-Version zu überprüfen.

sudo -u apache composer -V

Die folgende Ausgabe bestätigt, dass Composer v2.5.1 auf deinem Rocky Linux System installiert ist.

Komponist prüfen

Nach der Installation des Composers musst du als Nächstes Certbot installieren, mit dem du SSL/TLS-Zertifikate von Letsencrypt generieren kannst.

Certbot installieren

Certbot ist ein Kommandozeilen-Tool zur Erstellung von SSL/TLS-Zertifikaten aus Letsencrypt. Bei RHEL-basierten Distributionen kannst du Certbot aus dem EPEL-Repository installieren.

Gib den folgenden dnf-Befehl ein, um die Pakete„certbot“ und„python3-certbot-apache“ auf deinem System zu installieren. Gib y ein, wenn du dazu aufgefordert wirst, und drücke ENTER, um fortzufahren.

sudo dnf install certbot python3-certbot-apache

certbot installieren

Sobald die Installation abgeschlossen ist, führe den folgenden Befehl aus, um deine Installation zu überprüfen.

which certbot
certbot --version

Der Binärpfad des Befehls„certbot“ ist unter„/bin/certbot“ zu finden. Die Version von certbot, die du installiert hast, ist v2.1.0.

certbot verifizieren

Wenn du den Composer und certbot installiert hast, kannst du TYPO3 CMS installieren.

Herunterladen des TYPO3 CMS-Quellcodes

In diesem Abschnitt richtest du das Zielverzeichnis für die Installation und den Download des TYPO3 CMS-Quellcodes ein.

Gib den folgenden Befehl ein, um ein neues Verzeichnis „/var/www/typo3“ zu erstellen. Dieses wird als Stammverzeichnis für die Installation von TYPO3 CMS verwendet.

mkdir -p /var/www/typo3

Ändere den Eigentümer des Verzeichnisses„/var/www/typo3“ auf den Benutzer und die Gruppe„apache„. Außerdem musst du sicherstellen, dass der Eigentümer dieses Verzeichnisses Lese- und Schreibrechte hat. Damit gibst du dem Webserver httpd, der standardmäßig mit dem Benutzer„apache“ läuft, Zugriff auf den Quellcode des TYPO3 CMS.

sudo chown -R apache:apache /var/www/typo3
sudo chmod u+rw /var/www/typo3

Gehe nun in das Verzeichnis‚/var/www/typo3‚ und lade den TYPO3 CMS-Quellcode mit dem folgenden composer-Befehl herunter.

cd /var/www/typo3
sudo -u apache composer create-project typo3/cms-base-distribution:^11 .

Ausgabe:

Quellcode herunterladen

Sobald der TYPO3 CMS-Quellcode heruntergeladen ist, gibst du den folgenden Befehl ein, um die Liste der Dateien und Verzeichnisse im Verzeichnis„/var/www/typo3“ zu überprüfen.

ls -lah /var/www/typo3

Die folgende Ausgabe bestätigt, dass der Quellcode von TYPO3 CMS heruntergeladen wurde. Außerdem musst du sicherstellen, dass der Eigentümer des TYPO3 CMS-Quellcodes der Benutzer und die Gruppe„apache“ ist.

Quellcode verifizieren

Nachdem du den TYPO3 CMS-Quellcode heruntergeladen hast, musst du als Nächstes die httpd Virtual Host-Konfiguration erstellen und einrichten, die für den Betrieb von TYPO3 CMS verwendet wird.

Virtuellen httpd-Host einrichten

In diesem Abschnitt erstellst du eine neue httpd Virtual Host-Konfiguration, die zum Betrieb von TYPO3 CMS verwendet werden soll. Außerdem generierst du SSL/TLS-Zertifikate von Letsencrypt über den Befehl Certbot.

Bevor du beginnst, vergewissere dich, dass der Domainname auf die IP-Adresse deines Servers zeigt und dass du eine E-Mail-Adresse hast, mit der du dich bei Letsencrypt registrieren kannst.

Erstelle eine neue Konfigurationsdatei für den virtuellen httpd-Host„/etc/httpd/conf.d/typo3.conf“ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/httpd/conf.d/typo3.conf

Füge die folgenden Zeilen in die Datei ein und achte darauf, dass du den Domainnamen der TYPO3 CMS-Installation änderst.

<VirtualHost *:80>
    ServerAdmin admin@hwdomain.io
    DocumentRoot /var/www/typo3/public
    ServerName hwdomain.io

Protocols h2 http/1.1

<Directory /var/www/typo3/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog /var/log/httpd/typo3-error.log
CustomLog /var/log/httpd/typo3-access.log combined

<Directory /var/www/typo3/public/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>

Speichere und beende die Datei „/etc/httpd/conf.d/typo3.conf“, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um sicherzustellen, dass du die richtige httpd-Konfiguration hast. Wenn er erfolgreich war, solltest du eine Ausgabe wie„syntax OK“ erhalten.

sudo apachectl configtest

Gib nun den folgenden systemctl-Befehl ein, um den httpd-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart httpd

Damit hast du die Konfiguration des virtuellen httpd-Hosts für TYPO3 CMS abgeschlossen.

Gib nun den folgenden certbot-Befehl ein, um SSL/TLS-Zertifikate für deinen TYPO3 CMS-Domainnamen zu generieren. Achte darauf, dass du den Domainnamen und die E-Mail-Adresse im folgenden Befehl änderst.

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d hwdomain.io

Wenn du fertig bist, sind deine SSL/TLS-Zertifikate im Verzeichnis„/etc/letsencrypt/live/yourdomain.com/“ verfügbar. Außerdem wird dein virtueller httpd-Host automatisch mit SSL-Zertifikaten und der automatischen Umleitung von HTTP zu HTTPS konfiguriert.

Damit hast du die Konfiguration des httpd-Webservers für TYPO3 CMS abgeschlossen. Außerdem hast du SSL/TLS-Zertifikate für deinen TYPO3 CMS-Domainnamen generiert. Du kannst nun auf deine TYPO3 CMS-Installation zugreifen.

TYPO3 Installation starten

Bevor du mit der TYPO3 CMS-Installation beginnst, musst du eine neue leere Datei„FIRST_INSTALL“ im Verzeichnis„/var/www/typo3/public/“ erstellen. Dies weist darauf hin, dass du das TYPO3 CMS zum ersten Mal auf diesem Server installierst.

Gib den folgenden Befehl ein, um eine neue Datei„FIRST_INSTALL“ im Verzeichnis „/var/www/typo3/public/ zu erstellen.

sudo -u apache touch /var/www/typo3/public/FIRST_INSTALL

Öffne nun deinen Webbrowser und gib den Domainnamen deiner TYPO3 CMS-Installation ein (z.B.: https://hwdomain.io/).

Das TYPO3 CMS-Installationsprogramm wird auf der ersten Seite deine Systemumgebung prüfen und verifizieren. Vergewissere dich, dass du die Schaltfläche„Keine Probleme festgestellt, mit der Installation fortfahren“ erhältst, die bestätigt, dass dein System für die Installation von TYPO3 CMS bereit ist.

Installationsbeginn

Gib nun die Daten des MariaDB-Benutzers ein, der für die TYPO3 CMS-Installation verwendet werden soll.

setupd atabase

Wähle die Option„Eine vorhandene leere Datenbank verwenden“ und wähle die Datenbank„typo3db“ im Dropdown-Menü aus. Klicke dann auf Weiter.

Datenbank auswählen

Gib nun den Benutzernamen, die E-Mail-Adresse und das Passwort für den TYPO3 CMS-Admin-Benutzer ein. Achte darauf, dass du ein sicheres Passwort verwendest.

Klicke auf Weiter, um fortzufahren.

Admin-Setup

Wenn du fertig bist, solltest du eine Meldung wie„Installation abgeschlossen“ erhalten.

Wähle nun die Option„Direkt zum Backend“ und klicke auf die Schaltfläche„TYPO3 Backend öffnen„, um fortzufahren.

Installation beendet

Du wirst nun zur TYPO3 CMS Login-Seite weitergeleitet. Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Login.

login page typo3 cms

Wenn du erfolgreich eingeloggt bist, solltest du das TYPO3 CMS Administrations-Dashboard sehen.

Dashboard typo3 cms

Du kannst die Details der Software, die du für die TYPO3 CMS-Installation verwendest, überprüfen, indem du auf das Menü „Anwendungsinformationen“ auf der linken Seite des Benutzerprofils klickst.

Du solltest ähnliche Details wie im folgenden Screenshot sehen – zum Zeitpunkt dieses Schreibens hast du TYPO3 CMS v11.5 mit httpd/Apache Webservern, PHP 8.0 und dem MariaDB Datenbankserver installiert.

Status der Installation überprüfen

Fazit

In dieser Anleitung hast du das Enterprise Content Management System TYPO3 CMS auf einem Rocky Linux 9 Server installiert. Du hast TYPO3 CMS mit dem Webserver httpd, dem Datenbankserver MariaDB und PHP 8.0 installiert.

Darüber hinaus hast du Certbot installiert, um SSL-Zertifikate von Letsencrypt zu generieren. Außerdem hast du die TYPO3 CMS-Installation über SSL/TLS-Zertifikate gesichert und die automatische Umleitung von HTTP zu HTTPS über Certbot konfiguriert.

Nun kannst du mit der Konfiguration von TYPO3 CMS beginnen, indem du einen Website-Eintrag erstellst, Backend-Benutzer hinzufügst und die Backend-Sprache hinzufügst, um die Mehrsprachigkeit zu aktivieren. Um mehr über TYPO3 CMS zu erfahren, besuche die offizielle TYPO3 Dokumentation.

Das könnte dich auch interessieren …