So installierst du NEOS CMS auf einem Ubuntu 24.04 Server

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 dieser Anleitung führen wir dich durch die Installation von Neos CMS auf dem Ubuntu 24.04 Server. Du wirst Neos CMS mit dem LAMP Stack, Composer und ImageMagick installieren. Für die Installation und Verwaltung von Neos CMS wirst du das Dienstprogramm flow verwenden.

Voraussetzungen

Um mit dieser Anleitung zu beginnen, musst du Folgendes haben

  • Einen Ubuntu 24.04 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf die IP-Adresse deines Servers zeigt.

Installation der Abhängigkeiten

Bevor du Neos CMS installierst, musst du Abhängigkeiten wie den LAMP Stack (Linux, Apache, MySQL/MariaDB und PHP), Composer, Git und ImageMagick installieren. Diese Pakete sind standardmäßig im Ubuntu-Repository verfügbar und du kannst sie über die APT installieren.

Aktualisiere zunächst deinen Ubuntu-Paketindex mit dem folgenden Befehl:

sudo apt update

Installiere nun die Abhängigkeiten für Neos CMS mit dem folgenden Befehl. Im Folgenden installierst du die Pakete LAMP Stack (Linux, Apache, MySQL/MariaDB und PHP), Composer, Git und ImageMagick.

sudo apt install apache2 mariadb-server composer git php php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-imagick php-mbstring php-curl libapache2-mod-php php-mysql imagemagick

Gib Y ein, um die Installation zu bestätigen.

deps installieren

Überprüfe nach der Installation den Status der Dienste Apache und MariaDB, um sicherzustellen, dass sie laufen.

Überprüfe den Apache Webserver mit folgendem Befehl. Du wirst sehen, dass der Dienst enabled und active(running) ist.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

apache2 prüfen

Überprüfe nun den Status des MariaDB-Dienstes mit folgendem Befehl – du wirst eine ähnliche Ausgabe sehen. Die MariaDB ist enabled und active(running).

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

mariadb prüfen

Überprüfe abschließend die PHP- und Composer-Versionen mit dem folgenden Befehl. PP 8.3 und Composer 2.7 sind auf deinem Ubuntu-System installiert.

php -v
sudo -u www-data composer -v

php und Composer überprüfen

PHP konfigurieren

Nachdem du die Abhängigkeiten installiert hast, richtest du die PHP-Installation ein, indem du die Datei php.ini bearbeitest und anschließend den Apache-Webserver neu startest.

Öffne die PHP-Konfigurationsdatei /etc/php/8.3/apache2/php.ini mit dem folgenden nano-Editor-Befehl.

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

Ändere die Standardkonfiguration wie folgt. Achte darauf, dass du sowohl date.timezone als auch memory_limit mit deinen Servereinstellungen anpasst.

date.timezone = Europe/Amsterdam
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360

Wenn du fertig bist, speichere die Datei und beende den Editor.

Führe nun den folgenden Befehl aus, um den Apache-Webserver neu zu starten und deine PHP-Konfiguration zu übernehmen.

sudo systemctl restart apache2

MariaDB-Server konfigurieren

In diesem Abschnitt wirst du deine MariaDB Serverinstallation sichern und eine neue Datenbank und einen neuen Benutzer für Neos CMS erstellen. Du verwendest mariadb-secure-installation, um MariaDB zu sichern. Anschließend greifst du über den mariadb Client auf den MariaDB Server zu.

Um die MariaDB Serverinstallation zu sichern, führe den folgenden mariadb-secure-installation Befehl aus.

sudo mariadb-secure-installation

Nun wirst du zur Konfiguration des MariaDB-Servers aufgefordert:

  • Für die Standard-MariaDB-Serverinstallation ohne Root-Passwort drückst du ENTER, wenn du nach dem Passwort gefragt wirst.
  • Die lokale Authentifizierung für MariaDB-Root-Benutzer ist standardmäßig gesichert. Gib „n“ ein, wenn du die Authentifizierungsmethode auf „unix_socket“ ändern möchtest.
  • Gib „Y“ ein, um ein neues MariaDB Root-Passwort zu erstellen. Gib dann das sichere Passwort für deinen MariaDB-Root-Benutzer ein und wiederhole den Vorgang.
  • Wenn du gefragt wirst, ob du die Fernauthentifizierung für den MariaDB-Root-Benutzer deaktivieren möchtest, gibst du „Y“ ein, um zuzustimmen.
  • Die Standardinstallation des MariaDB-Servers enthält die Datenbank „test“ und erlaubt einem anonymen Benutzer den Zugriff auf diese Datenbank.
  • Gib für beide Einstellungen „Y “ ein, um die Standarddatenbank „test“ zu entfernen und das anonyme Recht zu löschen.
  • Gib abschließend „Y “ ein, um das erneute Laden der Tabellenrechte zu bestätigen.

Nachdem du MariaDB gesichert hast, erstellst du eine neue Datenbank und einen neuen Benutzer mit dem Dienstprogramm mariadb.

Führe den folgenden Befehl aus, um dich am MariaDB-Server anzumelden. Gib dein MariaDB Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -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 diesem Beispiel erstellst du eine neue Datenbank neosdb, einen Benutzer neos mit dem Passwort neospassword. Du kannst diese Informationen mit deinen anpassen.

CREATE DATABASE neosdb;
CREATE USER neos@localhost IDENTIFIED BY ’neospassword‘;
GRANT ALL PRIVILEGES ON neosdb.* TO neos@localhost IDENTIFIED BY ’neospassword‘;
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Als Nächstes führst du die folgende Abfrage aus, um die Berechtigungen des Benutzers neos zu überprüfen. Stelle sicher, dass der Benutzer neos auf die Datenbank neosdb zugreifen kann.

SHOW GRANTS FOR neos@localhost;

Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen.

Benutzerberechtigungen prüfen

Herunterladen des Neos CMS-Quellcodes

Nachdem du nun sowohl PHP als auch MariaDB konfiguriert hast, wirst du den Neos CMS-Quellcode herunterladen und die PHP-Abhängigkeiten mit dem Composer installieren. Außerdem richtest du die Neos CMS-Installation mit den richtigen Berechtigungen und Eigentümern ein.

Führe zunächst den folgenden Befehl git 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 in das Verzeichnis /var/www/neos und installiere die Neos CMS-Abhängigkeiten mit dem folgenden Befehl composer.

cd /var/www/neos
composer install

Gib zur Bestätigung yes ein und führe Composer als root aus.

php-Abhängigkeiten mit Composer installieren

Nachdem der Vorgang abgeschlossen ist, führe den folgenden Befehl aus, um die Berechtigung des Neos CMS-Quellcodes auf den Benutzer www-data zu ändern.

sudo ./flow core:setfilepermissions www-data www-data
sudo chown -R www-data:www-data /var/www/neos

Einrichten des virtuellen Apache-Hosts

In diesem Abschnitt wirst du einen neuen virtuellen Apache-Host für das Neos CMS einrichten. Stelle also sicher, dass dein Domainname auf die IP-Adresse des Servers zeigt. Du kannst die öffentliche Domain oder die lokale Domain für die Entwicklung verwenden.

Aktiviere die Module rewrite und ssl für Apache mit dem folgenden Befehl.

sudo a2enmod rewrite ssl

Rewrite und ssl-Modul aktivieren

Erstelle nun eine neue Apache-Virtual-Host-Datei /etc/apache2/sites-available/neos.conf mit dem folgenden nano-Editor.

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

Füge die Konfiguration in die Datei ein und gib deinen Domainnamen in der Option ServerName ein.

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

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

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

# Add security
php_flag register_globals off

<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>

Wenn du fertig bist, speichere und beende die Datei.

Als Nächstes führst du den folgenden Befehl aus, um die virtuelle Hostdatei neos.conf zu aktivieren und deine Apache-Syntax zu überprüfen. Wenn du eine korrekte Apache-Syntax hast, erhältst du eine Ausgabe Syntax is OK.

sudo a2ensite neos.conf
sudo apachectl configtest

Zum Schluss führst du Folgendes aus, um den Apache-Webserver neu zu starten und deine Änderungen zu übernehmen. Nach dem Neustart sollte dein Neos CMS einsatzbereit sein.

sudo systemctl restart apache2

apache vhost einrichten

Neos CMS mit HTTPS absichern

In dieser Anleitung wirst du Neos CMS mit HTTPS über Certbot und Letsencrypt betreiben. Dies ist nur möglich, wenn du Neos CMS auf einer öffentlichen Domain installierst. Wenn du eine lokale Domain verwendest, kannst du SSL-Zertifikate mit OpenSSL erzeugen und HTTPS manuell konfigurieren.

Installiere Certbot und das Certbot Apache Plugin mit dem folgenden Befehl. Gib Y ein, um die Installation zu bestätigen.

sudo apt install certbot python3-certbot-apache2

Führe nun den folgenden Befehl certbot aus, um SSL/TLS-Zertifikate für das Neos CMS zu generieren. Achte darauf, dass du die E-Mail-Adresse und den Domainnamen mit deinen Daten abänderst.

sudo certbot –apache –agree-tos –redirect –hsts –staple-ocsp –email kyrie@hwdomain.io -d hwdomain.io

Nachdem der Vorgang abgeschlossen ist, sind deine SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar. Und dein Neos CMS sollte automatisch mit HTTPS gesichert sein.

NEOS CMS über die Kommandozeile installieren

Nachdem du den Quellcode von Neos CMS heruntergeladen und den virtuellen Apache-Host konfiguriert hast, startest du die Installation von Neos CMS über das Terminal. Mit dem Dienstprogramm flow kannst du Neos CMS von deinem Terminal aus verwalten und installieren.

Gehe mit folgendem Befehl in das Verzeichnis /var/www/neos:

cd /var/www/neos

Führe den folgenden Befehl aus, um eine Datenbank für Neos CMS einzurichten. Wähle mysqli als Datenbanktreiber aus und gib die MariaDB-Datenbank und den Benutzer ein, die du angelegt hast.

sudo ./flow setup:database

Wenn du erfolgreich warst, siehst du eine Ausgabe wie Database neosdb was connected successfully.

Datenbank-Setup

Führe nun den folgenden Befehl aus, um den Standard Image Handler für Neos CMS einzurichten und wähle Imagick aus.

sudo ./flow setup:imagehandler

Bildhandler einrichten

Nachdem du die Datenbank und den Imagehandler konfiguriert hast, führe den folgenden Befehl aus, um die Neos CMS-Datenbank zu migrieren.

sudo ./flow doctrine:migrate

Während der Datenbankmigration siehst du die folgende Ausgabe.

Datenbank migrieren

Als nächstes führst du den folgenden Befehl aus, um einen Administrator-Benutzer für deine Neos CMS-Installation zu erstellen. Gib deinen Benutzernamen, deine E-Mail-Adresse, deinen Vornamen, deinen Nachnamen und dein Passwort ein.

sudo ./flow user:create –roles administrator

Du wirst eine Ausgabe wie die folgende erhalten:

Admin-Setup

Führe nun den folgenden Befehl aus, um die Website Neos.Demo in deine Installation zu importieren. Wenn du erfolgreich bist, erhältst du eine Ausgabe Import of site "Neos Demo site" finished.

sudo flow:cache:flush
sudo ./flow site:import –package-key Neos.Demo

Demo-Website importieren

Damit ist das Neos CMS komplett. Rufe deinen Domainnamen auf, z.B. https://hwdomain.io, und du erhältst die Neos CMS-Startseite wie die folgende:

Homepage

Um auf die Anmeldeseite des Neos CMS zuzugreifen, besuche https://hwdomain.io/login und gib deinen Admin-Benutzer und dein Passwort ein, die du erstellt hast. Klicke zur Bestätigung auf Login.

neos cms Anmeldung

Wenn du über die richtigen Admin-Zugangsdaten verfügst, siehst du das Neos CMS-Dashboard wie im Folgenden dargestellt:

Dashboard

Fazit

Herzlichen Glückwunsch! Du hast die Installation von Neos CMS auf einem Ubuntu 24.04 Server abgeschlossen. Neos CMS läuft mit dem LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP) und ist mit HTTPS über Let’s Encrypt gesichert. Du hast auch die grundlegenden Befehle flow für die Installation und Verwaltung von Neos CMS gelernt.

Das könnte dich auch interessieren …