Neos CMS auf CentOS 7 mit LAMP Stack installieren

Neos ist ein modernes, quelloffenes Content-Management-System, das besonders für die Erstellung und Bearbeitung von digitalen Inhalten geeignet ist. Es wurde speziell für Redakteure und Autoren entwickelt und bietet eine benutzerfreundliche Oberfläche, ein strukturiertes Inhaltsmodell, Unterstützung für mehrsprachige Inhalte, professionelle Workflows und viele weitere leistungsstarke Funktionen zur effizienten Content-Verwaltung.

Voraussetzungen

  • Ein frisch gestarteter CentOS 7 x64 Server mit der IP-Adresse 203.0.113.1 und dem Hostnamen neos.
  • Die Domain example.com zeigt bereits auf den genannten Server.
  • Ein Benutzerkonto mit Sudo-Rechten ist erforderlich.
  • Das System wurde mit Hilfe des EPEL-Repositories auf den neuesten Stand gebracht.
  • Für bessere Performance in Produktionsumgebungen sollte eine Swap-Datei eingerichtet werden.

Schritt 1: Einrichtung eines aktuellen LAMP Stacks

Um eine Neos 3.2.0 Website erfolgreich zu betreiben, ist eine aktuelle LAMP-Umgebung erforderlich. Eine geeignete Konfiguration besteht aus:

  • CentOS 7 x64 in aktueller Version
  • Apache Webserver in Version 2.4
  • MariaDB 10.2 mit utf8_unicode_ci als Standard-Kollation
  • PHP 7.1 oder mindestens PHP 7.0

Apache 2.4 installieren und konfigurieren

sudo yum install httpd -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
sudo systemctl start httpd.service
sudo systemctl enable httpd.service

MariaDB 10.2 installieren

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

MariaDB absichern

sudo /usr/bin/mysql_secure_installation

Während des Sicherheitsdialogs gib folgende Antworten:

  • Einfach Enter drücken, wenn nach dem Root-Passwort gefragt wird
  • Y eingeben, um ein neues Root-Passwort zu setzen
  • Neues Passwort eingeben und bestätigen
  • Y eingeben, um anonyme Benutzer zu entfernen
  • Y eingeben, um Root-Logins per Remote zu blockieren
  • Y eingeben, um die Testdatenbank zu löschen
  • Y eingeben, um die Berechtigungstabellen neu zu laden

Standard-Kollation für MariaDB konfigurieren

cat >> /tmp/collation.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
EOF
sudo cp /etc/my.cnf /etc/my.cnf.bak
sudo sed -i '/\[client-server\]/r /tmp/collation.conf' /etc/my.cnf
sudo systemctl restart mariadb.service

Datenbank für Neos erstellen

Im MariaDB-Terminal führe folgende Befehle aus. Ersetze dabei neos, neosuser und yourpassword durch deine eigenen Werte.

CREATE DATABASE neos;
CREATE USER 'neosuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON neos.* TO 'neosuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

PHP 7.1 und benötigte Erweiterungen installieren

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y php71w php71w-mysqlnd php71w-common php71w-cli php71w-xml php71w-mbstring php71w-pecl-imagick php71w-mcrypt php71w-opcache php71w-imap php71w-process php71w-intl
sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php.ini
sudo sed -i "s/memory_limit = 128M/memory_limit = 250M/" /etc/php.ini
sudo sed -i '$a\xdebug.max_nesting_level = 500' /etc/php.ini

Schritt 2: Composer unter CentOS 7 installieren

Neos benötigt Composer, den Paketmanager für PHP, zur Verwaltung seiner Abhängigkeiten. Verwende die folgenden Befehle, um Composer in Version 1.5.2 auf deinem System zu installieren.

Hinweis: Für die Installation der neuesten stabilen Composer-Version kannst du künftig die offizielle Webseite von Composer besuchen.

cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Schritt 3: Neos CMS mit Composer installieren

Composer ermöglicht eine einfache Installation von Neos und allen zugehörigen Komponenten. Führe die folgenden Befehle aus, um Neos in ein neues Verzeichnis herunterzuladen:

cd
mkdir neos
cd neos
composer create-project --no-dev neos/neos-base-distribution .

Für eine übersichtliche Verwaltung verschiebe den Ordner neos nach /opt, passe die Dateiberechtigungen an und verlinke ihn symbolisch mit dem Webverzeichnis von Apache:

sudo mv ~/neos /opt
sudo chown -R apache:apache /opt/neos
sudo ln -s /opt/neos /var/www/html/neos

Apache für Neos konfigurieren

Erstelle eine neue Apache-Virtual-Host-Datei, um Neos korrekt bereitzustellen. Das Webverzeichnis befindet sich unter /var/www/html/neos/Web. Ersetze alle Platzhalter durch deine echten Domain- und E-Mail-Angaben.

Starte den Apache-Dienst neu, um die vorgenommenen Änderungen zu aktivieren:

sudo systemctl restart httpd.service

Schritt 4: Firewall-Einstellungen für Webzugriff anpassen

Damit Nutzer auf dein Neos CMS zugreifen können, musst du die Firewall deines Systems entsprechend konfigurieren. Verwende dazu die folgenden Befehle:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Schritt 5: Neos-Installation über den Web-Assistenten abschließen

Um die Installation fortzusetzen, öffne deinen Webbrowser und rufe die folgende Adresse auf: http://example.com/setup. Dadurch wird der grafische Installationsassistent von Neos gestartet.

Auf der ersten Anmeldeseite musst du ein Setup-Passwort eingeben. Dieses findest du in folgender Datei:

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

Wichtig: Nachdem du dich erfolgreich eingeloggt hast, wird diese Datei automatisch gelöscht. Notiere das Passwort daher rechtzeitig und bewahre es sicher auf.

Erforderliche PHP-Erweiterungen prüfen

Auf der Seite zur Bildverarbeitung prüfe, ob eine der beiden PHP-Erweiterungen imagick oder gmagick installiert und ausgewählt ist. Klicke anschließend auf Weiter >, um fortzufahren.

Datenbankinformationen eingeben

Wenn du zur Datenbankkonfiguration aufgefordert wirst, gib folgende Informationen ein:

  • DB-Treiber: MySQL/MariaDB via PDO
  • DB-Benutzer: neosuser
  • DB-Passwort: yourpassword
  • DB-Host: 127.0.0.1
  • DB-Name: neos

Stelle sicher, dass die Datenbank neos mit dem Zeichensatz utf8 arbeitet, und klicke dann auf Weiter >.

Administrator-Konto anlegen

Gib auf der Seite zur Erstellung des Admin-Kontos folgende Angaben ein:

  • Vorname
  • Nachname
  • Benutzername
  • Passwort (zweimal eingeben)

Klicke auf Weiter >, um zum letzten Schritt zu gelangen.

Site-Paket auswählen

Wähle für den Einstieg das Neos.Demo-Paket aus und klicke auf Weiter >, um die Einrichtung abzuschließen.

Hinweis: Sobald du mit Neos vertraut bist, kannst du den Einrichtungsassistenten erneut aufrufen, um ein eigenes Site-Paket zu erstellen und dein individuelles Neos-Projekt aufzubauen.

Zugriff auf dein Neos CMS

Nach Abschluss der Installation kannst du deine Webseite über die folgenden Links aufrufen und verwalten:

Schritt 6: Neos-Konfiguration für den Produktivbetrieb abschließen

Für den produktiven Einsatz deiner Neos-Website ist es wichtig, den Anwendungsmodus von Flow von „Development“ auf „Production“ umzustellen. Füge dazu die Zeile SetEnv FLOW_CONTEXT Production in deine Apache-Virtual-Host-Konfiguration ein:

Starte Apache neu, um die Änderungen zu übernehmen:

sudo systemctl restart httpd.service

Wenn du die Neos.Demo-Seite verwendest, entferne zur Sicherheit den „Konto erstellen“-Button von der Try-Me-Seite, um unberechtigten Zugriff zu verhindern.

Schritt 7 (optional): HTTPS mit Let’s Encrypt aktivieren

Um deine Neos-Installation abzusichern, kannst du HTTPS über ein kostenloses SSL-Zertifikat von Let’s Encrypt aktivieren.

Vollständig qualifizierten Domainnamen (FQDN) festlegen

Öffne die Datei /etc/hosts mit dem Editor vi und füge die folgende Zeile ganz oben ein:

Einzufügen ist:

203.0.113.1 neos.example.com neos

Speichere die Datei mit :wq! und überprüfe anschließend die Konfiguration mit:

Die Ausgabe sollte neos.example.com lauten.

Certbot installieren und HTTPS einrichten

Installiere zunächst Certbot und die benötigten Abhängigkeiten mit folgenden Befehlen:

sudo yum install -y yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot-apache

Erstelle eine Sicherheitskopie deiner aktuellen Apache-Konfiguration:

sudo cp /etc/httpd/conf.d/neos.conf /etc/httpd/conf.d/neos.conf.bak

Starte nun Certbot, um das Let’s Encrypt-Zertifikat zu generieren und automatisch für Apache zu konfigurieren:

Während der Einrichtung werden dir folgende Fragen gestellt:

  • E-Mail-Adresse eingeben: admin@example.com
  • Nutzungsbedingungen akzeptieren: A
  • E-Mail-Adresse weitergeben (optional): Y
  • Domains für HTTPS auswählen: 1,2
  • HTTPS-Weiterleitung aktivieren: 2

Ab sofort werden alle HTTP-Anfragen automatisch auf HTTPS umgeleitet.

Automatische SSL-Erneuerung einrichten

Um die Gültigkeit deines SSL-Zertifikats dauerhaft sicherzustellen, lege einen Cronjob an, der zweimal täglich versucht, das Zertifikat zu erneuern:

Wechsle mit I in den Einfügemodus und füge folgende Zeile hinzu:

0 1,13 * * * /usr/bin/certbot renew

Speichere und verlasse den Editor mit :wq!.

Fazit

Mit dieser Anleitung hast du erfolgreich Neos CMS auf einem CentOS 7 Server mit einem LAMP-Stack installiert und eingerichtet. Darüber hinaus hast du deine Installation mit einem SSL-Zertifikat abgesichert, für den Produktivbetrieb vorbereitet und die Einrichtung über den grafischen Webassistenten abgeschlossen.

Neos bietet dir eine leistungsstarke und flexible Plattform zur Verwaltung moderner Websites. Dank Funktionen wie Mehrsprachigkeit, intuitiver Inhaltsbearbeitung und starker Erweiterbarkeit bist du bestens gerüstet, um professionelle und dynamische Webprojekte umzusetzen. Ob du mit dem Demopaket startest oder dein eigenes Projekt entwickelst – Neos bietet die nötige Skalierbarkeit und Werkzeuge für langfristigen Erfolg.

Denk daran, deine Systemkomponenten regelmäßig zu aktualisieren, die Serverleistung zu überwachen und das SSL-Zertifikat rechtzeitig zu erneuern, um eine sichere und stabile Umgebung zu gewährleisten.

 

 

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: