So installierst du OctoberCMS unter Debian 12

October CMS ist eine Webanwendung, die mit dem Laravel-Webframework geschrieben wurde. Sie unterstützt eine Vielzahl von Datenbanken, wie MySQL/MariaDB, PostgreSQL und SQLite. Es kann unter Apache, Nginx, Lighthttpd und Microsoft IIS ausgeführt werden.

Diese Anleitung führt dich durch die Installation von October CMS auf Debian 12 mit dem LEMP Stack (Nginx, MySQL/MariaDB und PHP-FPM), UFW und Certbot.

Voraussetzungen

Um mit dieser Anleitung fortzufahren, brauchst du Folgendes:

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit Administratorrechten.
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.

Installieren der Abhängigkeiten

In diesem Beispiel wirst du October CMS auf dem Debian-Server mit dem LEMP-Stack (Nginx, MySQL/MariaDB und PHP-FPM) installieren. Als erstes installierst du also den LAMP-Stack mit zusätzlichen Abhängigkeiten wie UFW (Uncomplicated Firewall) und Certbot.

Beginne diese Anleitung, indem du dein Debian-Repository mit dem folgenden Befehl aktualisierst.

sudo apt update

Anschließend installierst du die Pakete LAMP Stack, UFW und Certbot mit dem folgenden Befehl.

sudo apt install nginx mariadb-server php composer php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-intl php-bcmath php-gd php-fpm ufw certbot python3-certbot-nginx

Gib Y ein und drücke ENTER, um die Installation zu bestätigen.

deps installieren

Sobald die Installation abgeschlossen ist, überprüfe die LEMP Stack-Dienste, um sicherzustellen, dass jeder Dienst auf deinem Debian-Server läuft und aktiviert ist.

Wenn der Dienst läuft, solltest du eine aktive (laufende) Ausgabe sehen. Wenn der Dienst aktiviert ist, bestätigt dies, dass der Dienst beim Booten automatisch ausgeführt wird.

Überprüfe den Nginx-Dienst mit dem folgenden Befehl.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

nginx prüfen

Überprüfe den PHP-FPM-Dienst mit dem folgenden Befehl. In diesem Fall hast du PHP-FPM 8.2 aus dem Debian-Repository installiert.

sudo systemctl is-enabled php8.2-fpm
sudo systemctl status php8.2-fpm

php-fpm prüfen

Schließlich überprüfst du den MariaDB-Server mit dem folgenden Befehl.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

mariadb prüfen

UFW einrichten

In dieser Anleitung wirst du deinen Debian-Server mit UFW (Uncomplicated Firewall) absichern. In diesem Fall musst du also die Ports für die Protokolle SSH, HTTP und HTTPS öffnen.

Führe den folgenden ufw-Befehl aus, um die Profile OpenSSH und„Nginx Full“ in der UFW zu aktivieren. Das OpenSSH-Profil öffnet den Standard-SSH-Port 22, während das „Nginx Full“-Profil die Ports 80 und 443 für die HTTP- und HTTPS-Protokolle öffnet.

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'

Führe nun den folgenden Befehl aus, um UFW zu starten und zu aktivieren. Gib y ein und drücke ENTER, um fortzufahren.

sudo ufw enable

Sobald UFW läuft, solltest du die Ausgabe„Firewall ist aktiv und beim Systemstart aktiviert“ erhalten.

ufw-Einrichtung

Führe nun den folgenden Befehl aus, um die in der UFW aktivierten Profile zu überprüfen.

sudo ufw status

Vergewissere dich, dass die Profile OpenSSH und „Nginx Full“ aktiviert sind.

ufw verifizieren

MariaDB Server konfigurieren

Nachdem du UFW konfiguriert hast, richtest du nun den MariaDB-Server mit dem Dienstprogramm mariadb-secure-installation ein und erstellst eine neue Datenbank und einen Benutzer für October CMS mit dem mariadb-Client.

Sichere deine MariaDB-Server-Installation, indem du den folgenden Befehl ausführst.

sudo mariadb-secure-installation

Während des Vorgangs wirst du aufgefordert, einige Sicherheitsempfehlungen für den MariaDB-Server einzugeben. Gib Y ein, um die Empfehlung anzuwenden, oder n für No, um sie abzulehnen.

  • Die Standardinstallation von MariaDB enthält kein Passwort. Drücke ENTER, wenn du nach dem Passwort gefragt wirst.
  • Gib nun Y ein, um das MariaDB Root-Passwort einzurichten. Gib dann das neue Passwort für MariaDB ein und wiederhole das Passwort.
  • Gib Y ein, um den anonymen Benutzer aus deiner MariaDB-Installation zu entfernen.
  • Gib erneut Y ein, wenn du aufgefordert wirst, die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren.
  • Gib Y ein, um den Standard-Datenbanktest aus deiner MariaDB zu entfernen.
  • Gib schließlich Y ein, um die Tabellenberechtigungen neu zu laden und die neuen Änderungen anzuwenden.

Nachdem du den MariaDB-Server konfiguriert hast, gib den folgenden Befehl ein, um dich am MariaDB-Server anzumelden und eine neue Datenbank und einen neuen Benutzer für October CMS anzulegen. Gib dein MariaDB Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Führe die folgenden Abfragen aus, um eine neue Datenbank und den Benutzer octobercms mit dem Passwort„password“ anzulegen. Achte darauf, dass du das Passwort durch ein neues, sicheres Passwort änderst.

CREATE USER 'octobercms'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE octobercms;
GRANT ALL PRIVILEGES ON octobercms.* TO 'octobercms'@'localhost';
FLUSH PRIVILEGES;

Datenbankbenutzer anlegen

Führe als Nächstes die folgende Abfrage aus, um die Berechtigungen des Benutzers octobercms zu überprüfen.

SHOW GRANTS FOR 'octobercms'@'localhost';

Stelle sicher, dass der Benutzer octobercms wie folgt auf die Datenbank octobercms zugreifen kann.

Benutzer verifizieren

Gib nun quit ein, um den MariaDB-Server zu verlassen.

Installation des OctoberCMS Quellcodes

October CMS kann auf verschiedene Arten installiert werden: per Zip oder per Composer. In diesem Beispiel wirst du October CMS über Composer installieren.

Gehe zum Verzeichnis /var/www/directory und lade den Quellcode von October CMS mit dem unten stehenden wget-Befehl herunter. Nach dem Download siehst du die Datei v3.5.0.zip.

cd /var/www/
wget https://github.com/octobercms/october/archive/refs/tags/v3.5.0.zip

Entpacke die Datei v3.5.0.zip mit unzip in das Verzeichnis octobercms. Das bedeutet, dass sich dein October CMS Web-Stammverzeichnis unter /var/www/octobercms befindet.

unzip v3.5.0.zip
sudo mv october-* octobercms

Als Nächstes führst du den folgenden Befehl aus, um den Eigentümer von /var/www/octobercms auf den Benutzer www-data und die Gruppe www-data zu ändern. Setze außerdem die Rechte für Verzeichnisse auf 0755 und für Dateien auf 0644.

sudo chown -R www-data:www-data octobercms
find /var/www/octobercms -type d -exec chmod 755 {} \;
find /var/www/octobercms -type f -exec chmod 644 {} \;

Führe nun den folgenden Composer-Befehl aus, um die PHP-Abhängigkeiten für October CMS zu installieren.

sudo -u www-data composer install

install deps php

Starte die Installation von October CMS mit dem folgenden Befehl.

sudo -u www-data php artisan october:install

Während des Vorgangs wirst du mit den folgenden Fragen konfrontiert:

  • Wähle als Standardsprache en oder Englisch.
  • Gib den Domainnamen deiner October CMS-Installation ein. Zum Beispiel http://hwdomain.io/
  • Gib die Backend-URL oder den Admin-Pfad für October CMS ein. In diesem Fall verwenden wir octoberadmin.
  • Gib die Zahl 1 ein, um die Datenbank-Engine MySQL auszuwählen.
  • Gib die Details deiner Datenbank ein.
  • Gib ja ein, um die Demodaten und das Theme zu installieren.
  • Gib die kostenlose Lizenz für October CMS ein, um fortzufahren.

Unten siehst du einen Screenshot der October CMS Installation.

oktober cms installieren

Website-Konfigurationen für October CMS.

Baustelleneinrichtung

Ausgabe während der October CMS-Installation.

Lizenzschlüssel und Standortinstallation

Sobald die Oktober CMS-Installation abgeschlossen ist, siehst du die folgende Ausgabe.

Installation beendet

Zum Schluss führst du den folgenden Befehl aus, um die Datenbank zu migrieren.

sudo -u www-data php artisan october:migrate

Datenbank migrieren

Nginx Serverblock konfigurieren

Nachdem du October CMS heruntergeladen und das Web-Root-Verzeichnis konfiguriert hast, erstellst du eine neue Nginx-Serverblock-Konfiguration, die für den Betrieb von October CMS verwendet wird. Vergewissere dich, dass du deinen Domainnamen bereit hast.

Führe den unten stehenden nano-Editor-Befehl aus, um eine neue Datei /etc/nginx/sites-available/octobercms.conf zu erstellen.

sudo nano /etc/nginx/sites-available/octobercms.conf

Füge die folgende Konfiguration ein und achte darauf, dass du den Domainnamen hwdomain.io durch deine Domain ersetzt.

server {
    listen 80;
server_name hwdomain.io;

index index.php index.html;
root /var/www/octobercms;

location / {
# Let October CMS handle everything by default.
# The path not resolved by the October CMS router will return October CMS's 404 page.
# Everything that does not match with the allowlist below will fall into this.
rewrite ^/.*$ /index.php last;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_read_timeout 120s;
}

# Allowlist
location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }

# Block all .dotfiles except well-known
location ~ /\.(?!well-known).* { deny all; }

## Let nginx return 404 if static file not exists
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/app/resources { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }

location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }

location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }

location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }

}

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um die Serverblockdatei octobercms.conf zu aktivieren und die Nginx-Syntax zu überprüfen.

sudo ln -s /etc/nginx/sites-available/octobercms.conf /etc/nginx/sites-enabled/
sudo nginx -t

Wenn die Syntax korrekt ist, solltest du eine Ausgabe wie „syntax is ok – test is successful“ erhalten.

nginx-Einrichtung

Zum Schluss wendest du deine Änderungen auf Nginx an, indem du den Nginx-Dienst mit dem unten stehenden Befehl neu startest.

sudo systemctl restart nginx

OctoberCMS mit SSL/TLS-Zertifikaten absichern

Jetzt läuft dein October CMS und ist zugänglich. Um jedoch sicherzustellen, dass deine Installation sicher ist, implementierst du HTTPS, indem du SSL/TLS-Zertifikate von letsencrypt generierst.

Führe den unten stehenden Befehl aus, um SSl/TLS-Zertifikate für deine October CMS-Installation zu erzeugen. Achte darauf, dass du die E-Mail-Adresse und den Domainnamen mit deinen Daten änderst.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d hwdomain.io

Sobald der Vorgang abgeschlossen ist, wird dein Domainname automatisch mit HTTPS konfiguriert. Und deine SSL/TLS-Zertifikate werden im Verzeichnis /etc/letsencrypt/live/yourdomain.com verfügbar sein.

Zugriff auf OctoberCMS

Rufe den Domainnamen deiner October CMS-Installation auf, z.B. https://hwdomain.io/, und benutze deinen bevorzugten Webbrowser.

Wenn deine Installation erfolgreich war, solltest du die Standard-Homepage von OctoberCMS wie folgt sehen.

Klicke auf die Schaltfläche„Backend-Bereich„, um auf die October CMS-Admin-Seite zu gelangen.

oktober cms homepage

Gib die Daten des neuen Admin-Benutzers ein: Name, E-Mail-Adresse und Passwort. Klicke zur Bestätigung auf Konto erstellen.

Admin-Setup

Wenn du fertig bist, solltest du das October CMS Administrator-Dashboard wie folgt sehen.

oktobercms dashboard

Fazit

Herzlichen Glückwunsch! Du hast nun die Installation von October CMS auf dem Debian 12 Server abgeschlossen. Du hast October CMS mit dem LEMP Stack (Nginx, MariaDB und PHP-FPM) installiert. Außerdem hast du deine Installation mit UFW (Uncomplicated Firewall) und SSL/TLS über Letsencrypt abgesichert.

Das könnte dich auch interessieren …