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
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“.
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.
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.
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.
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;
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.
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:
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.
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
Ü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.
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.
Die Initialisierung von Neos CMS wird beginnen.
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
Kopiere das generierte Einrichtungspasswort und füge es auf der Neos-Einrichtungsseite ein. Klicke dann auf„Anmelden„.
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.
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.
Klicke nun auf Details neuer Admin-Benutzer und Passwort, Vorname und Nachname. Klicke dann auf„Weiter„.
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.
Wenn die Installation und Konfiguration von Neos CMS abgeschlossen ist, siehst du die folgende Seite.
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„.
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„.
Wenn der Benutzername und das Passwort für dein Neos CMS korrekt sind, siehst du das Administrations-Dashboard deines Neos CMS.
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.