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 admin@example.com 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:
Klicke auf die Schaltfläche Go to setup. Du solltest die folgende Seite sehen:
Gib das Setup-Passwort aus der Datei SetupPassword.txt ein und klicke auf die Schaltfläche Login. Du solltest die folgende Seite sehen:
Vergewissere dich, dass alle erforderlichen PHP-Erweiterungen installiert sind, und klicke dann auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:
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:
Gib deinen Namen, deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:
Klicke auf die Schaltfläche Gehe zum Backend. Du solltest die Neos CMS Anmeldeseite sehen:
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 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): hitjethva1981@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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.