So installierst du Neos CMS unter Debian 11

Neos ist ein freies und quelloffenes Content Management System mit intuitiver Bearbeitung, vollständiger Internationalisierung, maximaler Flexibilität und einfacher Integration mit Systemen von Drittanbietern.

Neos ist ein integriertes Enterprise Content Management mit benutzerdefinierter Inhaltsmodellierung, das eine effektive Möglichkeit zur Bearbeitung und Verwaltung von Inhalten, SEO-Optimierung wie automatische Weiterleitungen und SEO-Metadaten sowie eine leistungsstarke Rollen- und Benutzerverwaltung bietet.

In diesem Tutorial erfahren wir, wie wir die neueste Version von Neos CMS auf einem Debian 11 Server installieren. Für dieses Beispiel werden wir Neos CMS mit dem MariaDB Datenbankserver, PHP 8.1 und dem Apache2 Webserver einrichten.

Voraussetzungen

Für diese Anleitung benötigst du einen Debian 11 Server mit dem Benutzer non-root und den sudo/administrator Rechten sowie der aktivierten UFW Firewall. Außerdem brauchst du einen Domainnamen, der auf die IP-Adresse deines Debian-Servers zeigt, insbesondere wenn du Neos CMS für die Produktion installierst.

Installation des Apache2 Webservers

Das Neos CMS kann auf mehreren Webservern betrieben werden. Für diese Demo wirst du den Apache2 Webserver verwenden.

Bevor du mit der Installation der Pakete beginnst, führe den folgenden apt-Befehl aus, um deine Debian-Repositories zu aktualisieren und aufzufrischen.

sudo apt update

Installiere dann den Apache2-Webserver mit dem unten stehenden apt-Befehl. Du wirst aufgefordert, die Installation zu bestätigen. Drücke y und ENTER, um mit der Installation fortzufahren.

sudo apt install apache2

apache2 installieren

Sobald die Apache2-Installation abgeschlossen ist, überprüfe und verifiziere den Dienst„apache2“ mit dem unten stehenden Befehl systemcl.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Du wirst sehen, dass „apache2“ aktiviert ist und beim Booten automatisch ausgeführt wird. Und der Status des„apache2„-Dienstes lautet „running“.

apache2 prüfen

Zuletzt öffnest du die HTTP- und HTTPS-Ports auf dem Debian-Server und lässt den Datenverkehr mit dem unten stehenden ufw-Befehl zu. Dasufw-Anwendungsprofil „WWW Full“ erlaubt den Zugriff auf HTTP- und HTTPS-Ports.

sudo ufw allow "WWW Full"
sudo ufw status

Du siehst die Ausgabe des aktuellen Status der UFW-Firewall ist aktiv und die Liste der Ports und aktivierten Anwendungsprofile.

ufw-Einrichtung

Installation des MariaDB-Datenbank-Servers

Das Neos CMS unterstützt zwei Datenbanken, MariaDB und PostgreSQL. In diesem Beispiel wirst du das Neos CMS mit dem MariaDB-Datenbankserver betreiben. Zum Zeitpunkt der Erstellung dieses Dokuments benötigte das aktuelle Neos CMS mindestens MariaDB 10.2.2.

Führe den folgenden apt-Befehl aus, um MariaDB auf deinem Debian-Server zu installieren. Die Standard-MariaDB-Version im Debian-Repository ist MariaDB 10.5, die mit der Neos CMS-Installation kompatibel ist.

sudo apt install mariadb-server

Wenn du aufgefordert wirst, den Vorgang zu bestätigen, gib y und ENTER ein, um mit der Installation fortzufahren.

mariadb installieren

Sobald MariaDB installiert ist, überprüfe den MariaDB-Dienst und stelle sicher, dass der Dienst wie unten beschrieben mit dem Befehl systemctl läuft.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Du wirst sehen, dass der MariaDB-Dienst aktiviert ist, d.h. er wird beim Systemstart automatisch ausgeführt. Und der aktuelle Status des MariaDB-Dienstes ist running.

mariadb prüfen

Zum Schluss musst du deine MariaDB Serverinstallation sichern. Dazu kannst du das Skript „mysql_secure_installation“ verwenden, das standardmäßig im MariaDB-Paket enthalten ist.

Führe den folgenden Befehl„mysql_secure_installation“ aus.

sudo mysql_secure_installation

Du wirst Schritt für Schritt durch die Sicherung deiner MariaDB Serverinstallation geführt. Dieser Prozess umfasst auch die Konfiguration des MariaDB Root-Passworts. Achte also darauf, dass du ein sicheres Passwort für deine MariaDB-Server-Installation verwendest.

Bei den nächsten Abfragen wirst du nach der Konfiguration gefragt, z. B. nach dem Entfernen des anonymen Standardbenutzers, dem Verbot der Fernanmeldung für den Root-Benutzer, dem Entfernen des Standarddatenbanktests und dem erneuten Laden von Tabellen. Gib bei all diesen Fragen Y ein und drücke ENTER, um fortzufahren.

MariaDB Datenbank und Benutzer einrichten

Nachdem du den MariaDB-Server installiert und gesichert hast, musst du eine neue MariaDB-Datenbank und einen neuen Benutzer für die Neos CMS-Installation erstellen. Dazu musst du dich in die MariaDB-Shell einloggen.

Führe den folgenden mysql-Befehl aus, um dich mit dem Standardbenutzer root in der MariaDB-Shell anzumelden. Wenn du zur Eingabe des Passworts aufgefordert wirst, gibst du dein MariaDB-Root-Passwort ein.

sudo mysql -u root -p

Führe nun die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für Neos CMS zu erstellen. In den folgenden Abfragen erstellst du die Datenbank neosdb und den MariaDB-Benutzer neos@localhost.

Achte darauf, dass du das Passwort für den Benutzer neos@localhost durch ein storng-Passwort ersetzt.

CREATE DATABASE neosdb;
CREATE USER neos@localhost;
GRANT ALL PRIVILEGES ON neosdb.* TO neos@localhost IDENTIFIED BY 'Password';
FLUSH PRIVILEGES;

Datenbank erstellen

Danach führst du die folgende Abfrage aus, um die Berechtigungen des Benutzers neos@localhost zu überprüfen.

SHOW GRANTS FOR neos@localhost;

Wenn deine Datenbank und dein Benutzer richtig konfiguriert sind, siehst du die Ausgabe, dass der Benutzer neos@localhost die Berechtigung für die Datenbank neosdb hat.

Benutzerberechtigungen prüfen

Zum Schluss gibst du die folgende Abfrage ein, um dich aus der MariaDB-Shell abzumelden.

quit

Installation der PHP 8.1 Pakete

Jetzt installierst du die PHP-Pakete auf deinem Debian-Server. Die neueste Version von Neos CMS benötigt mindestens PHP 7.3. Für dieses Beispiel wirst du PHP 8.1 aus einem Drittanbieter-Repository installieren.

In der folgenden Tabelle kannst du sehen, dass die letzte Version von Neos CMS v8 PHP 8.0 oder 8.1 benötigt.

Neos version    Flow version    compatible PHP version
-------------------------------------------------------
4.3             5.3             7.1 - 7.4*
5.x             6.x             7.2 - 7.4
7.x             7.x             7.3 - 7.4 / 8.0 - 8.1
8.x             8.x             8.0 - 8.1

Bevor du PHP installierst, führe den folgenden apt-Befehl aus, um einige grundlegende Pakete für die Verwaltung von Drittanbieter-Repositories zu installieren. Gib Y ein, wenn du aufgefordert wirst, die Installation zu bestätigen und drücke ENTER, um fortzufahren.

sudo apt install ca-certificates apt-transport-https software-properties-common wget curl lsb-release

Führe nun den folgenden Befehl aus, um das Repository von PHP 8.x zu deinem Debian-Server hinzuzufügen. Dieses Repository stellt mehrere Versionen von PHP-Paketen für Debian-Systeme bereit.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Während des Vorgangs siehst du eine Ausgabe wie die folgende:

php repository hinzufügen

Als Nächstes installierst du die PHP 8.1-Pakete mit dem folgenden apt-Befehl. Diese Befehle installieren einige PHP-Erweiterungen und zusätzliche Pakete wie ImageMagick für die Bildverarbeitung, die von Neos CMS verwendet wird.

sudo apt install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-imagick php8.1-mbstring php8.1-curl libapache2-mod-php php8.1-mysql imagemagick

Gib Y ein, wenn du gefragt wirst, ob du die Installation bestätigen möchtest und drücke ENTER, um fortzufahren.

php 8.1 installieren

Nachdem die PHP-Installation abgeschlossen ist, öffne die Datei„/etc/php/8.1/apache2/php.ini“ mit dem Editor nano.

sudo nano /etc/php/8.1/apache2/php.ini

Ändere die Standardkonfiguration wie unten angegeben.

date.timezone = Europe/Stockholm

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe abschließend den folgenden Befehl aus, um den Apache2-Dienst neu zu starten und die neuen Änderungen an den PHP-Konfigurationen anzuwenden.

sudo systemctl restart apache2

Installation von Composer

Composer ist das Paketmanagement-Tool für PHP-Pakete. Du wirst Composer auf deinem Debian-Server installieren, um die PHP-Abhängigkeiten für Neos CMS zu installieren.

Führe den folgenden Befehl aus, um den Composer auf dem Debian-System zu installieren. Dieser Befehl lädt das Composer-Installationsskript herunter und führt es dann aus. Das Zielverzeichnis für die Installation des Composers ist /usr/bin mit dem Dateinamen composer.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Komponist installieren

Überprüfe nun die Composer-Installation mit dem folgenden Befehl.

sudo -u www-data composer -v

Du wirst die Ausgabe der Composer-Version sehen, die auf deinem Debian-System installiert ist.

Komponist prüfen

Installation der Neos Base Distribution

An dieser Stelle hast du die Installation der Paketabhängigkeiten für Neos CMS abgeschlossen. Dazu gehören der Apache2 Webserver, der MariaDB Datenbankserver, PHP 8.1 und der PHP Composer.

Jetzt lädst du den Quellcode von Neos CMS herunter und installierst die PHP-Paketabhängigkeiten über den Composer-Befehl.

Führe den folgenden git-Befehl aus, um den Neos CMS-Quellcode in das Verzeichnis /var/www/neos herunterzuladen.

git clone https://github.com/neos/neos-base-distribution.git /var/www/neos

Wechsle dann in das Verzeichnis /var/www/neos und führe den Befehl composer aus, um die PHP-Abhängigkeiten für Neos CMS zu installieren.

cd /var/www/neos
composer install

Sobald die Installation der PHP-Abhängigkeiten abgeschlossen ist, führst du den folgenden Befehl aus, um den Eigentümer und die Berechtigung des Verzeichnisses /var/www/neos auf den Benutzer www-data zu ändern.

sudo ./flow core:setfilepermissions www-data www-data

Nachdem du den Neos CMS-Quellcode und die PHP-Abhängigkeiten installiert hast, kannst du mit der Konfiguration eines virtuellen Apache2-Hosts für deine Installation fortfahren.

Virtuellen Apache2-Host einrichten

Wenn du das Neos CMS in der Produktionsumgebung betreibst, musst du sicherstellen, dass dein Domainname auf die IP-Adresse deines Debian-Servers zeigt. Außerdem musst du sicherstellen, dass du SSL-Zertifikate für deine Domain-Installation erstellt hast.

Bevor du die Konfiguration des virtuellen Apache-Hosts erstellst, führe den folgenden Befehl aus, um die Apache2-Module mod_ssl und mod_rewrite zu aktivieren.

sudo a2enmod ssl rewrite

Erstelle nun eine neue Konfigurationsdatei für den virtuellen Host„/etc/apache2/sites-available/neos.conf“ mit dem folgenden nano-Editor.

sudo nano /etc/apache2/sites-available/neos.conf

Ersetze den Domainnamen durch deine Domain und ändere den Pfad des SSL-Zertifikats durch deinen Pfad. Füge dann die Konfiguration in die Datei ein.

<VirtualHost *:80>
ServerName hwdomain.io
ServerAdmin admin@hwdomain.io

# Redirect Requests to SSL
Redirect permanent "/" "https://hwdomain.io/"

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined

</VirtualHost>

<IfModule mod_ssl.c>

<VirtualHost _default_:443>

ServerName hwdomain.io
ServerAdmin admin@hwdomain.io

#SetEnv FLOW_CONTEXT Production
DocumentRoot /var/www/neos/Web

# Add security
php_flag register_globals off

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem

<Directory /var/www/neos/Web>
AllowOverride All
</Directory>

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

</VirtualHost>

</IfModule>

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als nächstes aktivierst du die Konfiguration des virtuellen Hosts „neos.conf“ mit dem folgenden Befehl. Überprüfe dann die Apache2-Konfigurationsdateien.

sudo a2ensite neos.conf
sudo apachectl configtest

Wenn deine Apche2-Konfigurationsdateien korrekt sind, siehst du die Ausgabe„Syntax OK„.

Starten Sie abschließend den Dienst„apache2“ neu, um die neuen Änderungen mit dem Befehl systemctl zu übernehmen (siehe unten).

sudo systemctl restart apache2

Neos CMS-Installation konfigurieren

Um mit der Konfiguration der Neos CMS-Installation zu beginnen, öffnest du deinen Webbrowser und rufst den Domainnamen deiner Neos CMS-Installation auf (z.B.: https://hwdomain.io/).

Zuerst siehst du die Willkommensnachricht von Neos. Klicke auf „Go to setup“, um mit der Konfiguration von Neos CMS zu beginnen.

Neo-Setup

Die Initialisierung von Neos CMS wird beginnen.

neos Initialisierung

Um die Neos CMS-Konfiguration zu starten, wirst du nach dem Setup-Passwort gefragt.

Gehe zurück zu deinem Terminalserver und führe den folgenden Befehl aus, um das Setup-Passwort für Neos CMS anzuzeigen.

cat /var/www/neos/Data/SetupPassword.txt

Passwort einrichten neos

Kopiere das generierte Einrichtungspasswort und füge es auf der Neos-Einrichtungsseite ein. Klicke dann auf„Anmelden„.

Login-Einstellungen

Nun wird dir die Seite zur Überprüfung der Neos-Anforderungen angezeigt. Vergewissere dich, dass eine der Bildbearbeitungsfunktionen installiert ist. Klicke dann auf„Weiter„.

In diesem Beispiel verwenden wir das Bildbearbeitungsprogramm ImageMagick und die Pakete php-imagick und ImageMagick sind installiert.

Anforderungsprüfung

Bei den Datenbankkonfigurationen gibst du den Benutzernamen, das Passwort und den Host der Datenbank ein. Wähle dann die Datenbank für die Installation von Neos CMS aus. Danach klickst du auf„Weiter„, um mit der nächsten Konfiguration fortzufahren.

Datenbank-Konfiguration

Klicke nun auf Details neuer Admin-Benutzer und Passwort, Vorname und Nachname. Klicke dann auf„Weiter„.

Admin-Benutzer anlegen

Für die Konfiguration der neuen Neos-Site wählst du„Neos.Demo“ aus dem Site-Paket aus und gibst den Domainnamen deiner Neos CMS-Installation in der Konfiguration des Site-Namens ein.

Klicke auf„Weiter„, um mit der Installation fortzufahren.

Standortkonfiguration

Wenn die Installation und Konfiguration von Neos CMS abgeschlossen ist, siehst du die folgende Seite.

Installationserfolg

Klicke auf die Schaltfläche„Zum Frontend gehen„, um die Standard-Startseite deiner Neos CMS-Installation aufzurufen. Du kannst auch auf„Zum Backend gehen“ klicken, um das Neos CMS Administrations-Dashboard zu öffnen.

Unten siehst du die Standard-Startseite der Neos CMS-Installation mit dem Website-Paket„Neos.Demo„.

neos homepage

Wenn du auf die Schaltfläche„Zum Backend gehen“ klickst, wirst du auf die Neos CMS-Anmeldeseite weitergeleitet. Gib deinen Benutzernamen und dein Passwort für die Neos CMS-Installation ein und klicke auf„Anmelden„.

neos login

Wenn der Benutzername und das Passwort für dein Neos CMS korrekt sind, siehst du das Administrations-Dashboard deines Neos CMS.

neos Dashboard

Fazit

In dieser Anleitung hast du das Neos CMS mit Apache2 Webserver, MariaDB Datenbankserver und PHP 8.1 auf dem Debian 11 Server installiert. Außerdem hast du die Installation von PHP Composer für die Installation von PHP-Paketabhängigkeiten gelernt. Du hast auch die Konfiguration des virtuellen Apache-Hosts für Neos CMS mit aktiviertem SSL erstellt.

Neos CMS ist die nächste Generation von CMS und ist flexibel für verschiedene Arten der Nutzung. Du kannst jetzt im Handumdrehen damit beginnen, deine Inhalte zu verwalten und deine Website mit Neos CMS zu veröffentlichen.

Das könnte dich auch interessieren …