So installierst du Neos CMS auf Ubuntu 22.04

Neos CMS ist ein kostenloses, quelloffenes und innovatives Content Management System, das dir hilft, Websites und Blogs ohne Programmierkenntnisse zu verwalten. Es ist einfach, sicher und benutzerfreundlich und hilft Unternehmern, mit ihren Nutzern über verschiedene Geräte hinweg zusammenzuarbeiten. Es bietet sehr nützliche Funktionen, darunter volle Unicode-Unterstützung, vollständige Internationalisierung, SEO, Inline-Editing und vieles mehr. Die Kernidee hinter dem Projekt ist es, dass Redakteure Inhalte so nahtlos wie möglich bearbeiten können und dabei die Struktur erhalten bleibt.

In diesem Lernprogramm zeigen wir dir, wie du Neos CMS mit Apache und Let’s Encrypt SSL auf einem Ubuntu 22.04 Server installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname ist mit der IP deines Servers verbunden.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Führe zunächst die folgenden Befehle aus, um alle deine Systempakete auf die aktuellen Versionen zu aktualisieren:

apt update -y
apt upgrade -y

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Installiere Apache, MariaDB und PHP

Als Nächstes musst du Apache, MariaDB, PHP und andere erforderliche Pakete auf deinem System installieren. Führe den folgenden Befehl aus, um alle Pakete zu installieren:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-xml php-cli php-gmagick php-zip curl unzip git -y

Nachdem du alle Pakete installiert hast, bearbeite die Datei php.ini und nimm einige Änderungen vor:

nano /etc/php/8.1/apache2/php.ini

Ändere die folgenden Zeilen:

short_open_tag = On
memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = UTC

Speichere und schließe die Datei und starte dann den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Erstelle eine Datenbank für Neos CMS

Zuerst musst du ein MariaDB Root-Passwort festlegen und die Installation sichern. Das kannst du mit dem folgenden Befehl tun:

mysql_secure_installation

Beantworte alle Fragen wie unten gezeigt:

Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Sobald du fertig bist, melde dich mit folgendem Befehl bei MariaDB an:

mysql -u root -p

Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer für Neos CMS mit folgendem Befehl:

MariaDB [(none)]> CREATE DATABASE neosdb;
MariaDB [(none)]> CREATE USER 'neos'@'localhost' IDENTIFIED BY 'mypassword';

Als Nächstes erteilst du der Neos-Datenbank mit folgendem Befehl alle Berechtigungen:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON neosdb.* TO 'neos'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Ändere den Zeichensatz der Datenbank auf utf8mb4, lösche die Berechtigungen und verlasse MariaDB mit dem folgenden Befehl:

MariaDB [(none)]> ALTER DATABASE neosdb charset=utf8mb4;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Als Nächstes bearbeitest du die MariaDB-Konfigurationsdatei und nimmst einige Änderungen vor:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Füge die folgenden Zeilen hinzu:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table = 1
innodb_default_row_format = dynamic

Speichere und schließe die Datei und starte den MariaDB-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart mariadb

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Neos CMS installieren

Bevor du beginnst, musst du den Composer auf deinem System installieren. Composer ist ein Abhängigkeitsmanager, der für die Installation von PHP-Abhängigkeiten verwendet wird.

Führe den folgenden Befehl aus, um Composer zu installieren:

curl -sS https://getcomposer.org/installer | php

Du solltest die folgende Ausgabe erhalten:

All settings correct for using Composer
Downloading...

Composer (version 2.4.1) successfully installed to: /root/composer.phar
Use it: php composer.phar

Als Nächstes verschiebst du die Composer-Datei in das Systemverzeichnis:

mv composer.phar /usr/local/bin/composer

Wechsle dann in das Apache-Web-Root-Verzeichnis und lade das Neos CMS mit folgendem Befehl herunter:

cd /var/www/html/
git clone https://github.com/neos/neos-base-distribution.git

Benenne dann das heruntergeladene Verzeichnis um und führe den Composer-Befehl aus, um alle PHP-Abhängigkeiten zu installieren:

mv neos-base-distribution neoscms
cd neoscms 
composer install

Als Nächstes gibst du dem Neos-Verzeichnis die richtigen Rechte und Eigentümer:

chown -R www-data:www-data /var/www/html/neoscms/
chmod -R 755 /var/www/html/neoscms/

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Apache für Neos CMS konfigurieren

Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Apache-Host erstellen, um Neos CMS zu hosten. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/apache2/sites-available/neoscms.conf

Füge die folgenden Zeilen hinzu:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/neoscms/Web
     ServerName neos.example.com
     <Directory /var/www/html/neoscms/Web/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/neos_error.log
     CustomLog ${APACHE_LOG_DIR}/neos_access.log combined
    
     <Directory /var/www/html/neoscms/Web/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
    </Directory>
</VirtualHost>

Speichere und schließe die Datei, aktiviere dann den virtuellen Host und aktiviere das Apache Rewrite-Modul mit folgendem Befehl:

a2ensite neoscms.conf
a2enmod rewrite

Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst den Status des Apache-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status apache2

Du solltest die folgende Ausgabe erhalten:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-09-04 08:07:38 UTC; 8s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 22571 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 22577 (apache2)
      Tasks: 6 (limit: 4579)
     Memory: 14.7M
        CPU: 128ms
     CGroup: /system.slice/apache2.service
             ??22577 /usr/sbin/apache2 -k start
             ??22578 /usr/sbin/apache2 -k start
             ??22579 /usr/sbin/apache2 -k start
             ??22580 /usr/sbin/apache2 -k start
             ??22581 /usr/sbin/apache2 -k start
             ??22582 /usr/sbin/apache2 -k start

Sep 04 08:07:38 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

Jetzt ist der Apache Webserver so konfiguriert, dass er Neos CMS bedienen kann. Du kannst jetzt mit dem nächsten Schritt fortfahren.

Zugriff auf Neos CMS

Öffne nun deinen Webbrowser und rufe das Neos CMS über die URL http://neos.example.com auf. Du wirst auf die folgende Seite weitergeleitet:

Neos CMS

Klicke auf die Schaltfläche Go to setup. Du solltest die folgende Seite sehen:

Anmeldung

Gib das Setup-Passwort aus der Datei SetupPassword.txt ein und klicke auf die Schaltfläche Login. Du solltest die folgende Seite sehen:

Systemanforderungen

Vergewissere dich, dass alle erforderlichen PHP-Erweiterungen installiert sind, und klicke dann auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Datenbank-Einstellungen

Gib den Namen deiner Datenbank, den Datenbank-Benutzernamen, den Datenbank-Host und das Passwort ein und klicke auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Admin-Konto

Gib deinen Namen, deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Neue Seite erstellen

Neos Einrichtung abgeschlossen

Klicke auf die Schaltfläche Gehe zum Backend. Du solltest die Neos CMS Anmeldeseite sehen:

Neos Admin Login

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Login. Auf der folgenden Seite siehst du das Neos CMS Dashboard:

Neos Armaturenbrett

Neos CMS mit Let’s Encrypt sichern

Es ist eine gute Idee, deine Website mit Let’s Encrypt Free SSL zu sichern. Installiere zunächst den Certbot-Client, um das SSL zu installieren und zu verwalten. Du kannst ihn mit dem folgenden Befehl installieren:

apt-get install python3-certbot-apache -y

Nach der Installation führst du den folgenden Befehl aus, um deine Website mit Let’s Encrypt SSL zu sichern:

certbot --apache -d neos.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for neos.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/neos-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/neos-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/neos-le-ssl.conf

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/neos.conf to ssl vhost in /etc/apache2/sites-available/neos-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://neos.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=neos.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/neos.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/neos.example.com/privkey.pem
   Your cert will expire on 2022-12-07. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Fazit

Herzlichen Glückwunsch! Du hast Neos CMS mit Apache und Let’s Encrypt SSL erfolgreich auf dem Ubuntu 22.04 Server installiert. Jetzt kannst du deine Website ganz einfach über den Webbrowser erstellen und bearbeiten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …