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 Hostnamenneos
. - 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
mysql -u root -p
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.
cat <
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:
- Frontend: http://example.com
- Backend: http://example.com/neos
- Setup: http://example.com/setup
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:
cat <
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:
sudo vi /etc/hosts
Einzufügen ist:
203.0.113.1 neos.example.com neos
Speichere die Datei mit :wq!
und überprüfe anschließend die Konfiguration mit:
hostname -f
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:
sudo certbot --apache
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:
sudo crontab -e
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.