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.
Ü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
Ü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
Ü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 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;
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.
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.
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
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
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
.
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
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.
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:
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
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:
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.
Wenn du über die richtigen Admin-Zugangsdaten verfügst, siehst du das Neos CMS-Dashboard wie im Folgenden dargestellt:
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.