Wie man die Oktober CMS-Plattform auf Debian 9 installiert

October CMS ist eine kostenlose, quelloffene, selbst gehostete CMS-Plattform, die auf der Grundlage vonLaravel PHP Framework. In diesem Tutorial führen wir Sie durch den Oktober-CMS-Installationsprozess auf einem Debian 9 (stretch)-Betriebssystem unter Verwendung von NGINX als Webserver, MariaDB als Datenbankserver und optional können Sie die Transportschicht mit dem acme.sh-Client und der Let’s Encrypt-Zertifizierungsstelle sichern, um SSL-Unterstützung hinzuzufügen.

Anforderungen

Bevor Sie fortfahren, sollten Sie überprüfen, ob Ihr Server die minimalen Systemanforderungen erfüllt. October CMS hat die folgenden Serveranforderungen für Webhosting:

  • PHP Version 7.0 oder höher
  • PHP PDO Erweiterung
  • cURL PHP Erweiterung
  • OpenSSL PHP Erweiterung
  • Mbstring PHP-Bibliothek
  • Zip PHP-Bibliothek
  • GD PHP Bibliothek
  • XML PHP Erweiterung
  • JSON PHP Erweiterung
  • Apache mitmod_rewrite oder NGINX
  • Datenbankserver (MariaDB, MySQL, PostgreSQL)

Voraussetzungen

  • Ein System mit Debian 9 (stretch).
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.

Erste Schritte

Überprüfen Sie Ihre Debian-System-Version:

lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)

Richten Sie die Zeitzone ein:

dpkg-reconfigure tzdata

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, denn es stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems erhalten:

apt update && apt upgrade -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Debian-Betriebssystems notwendig sind:

apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https

Schritt 1 – Installieren Sie PHP und die notwendigen PHP-Erweiterungen.

Die Oktober CMS-Plattform erfordert PHP Version 7.0 oder höher. Standardmäßig hat Debian 9 PHP Version 7.0 in seinen Standard-Software-Repositories, was für Oktober CMS in Ordnung ist.

Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0-gd php7.0-xml php7.0-mbstring 

Um PHP, das in Modulen kompiliert ist, anzuzeigen, können Sie ausführen:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Überprüfen Sie die PHP-Version:

php --version

# PHP 7.0.33-0+deb9u1 (cli) (built: Dec  7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Der PHP-FPM-Dienst wird beim Neustart auf dem Debian 9-System automatisch gestartet und aktiviert, so dass es nicht notwendig ist, ihn manuell zu starten und zu aktivieren; wir können zum nächsten Schritt übergehen, nämlich der Datenbankinstallation und -einrichtung.

Schritt 2 – MariaDB installieren und eine Datenbank für Oktober erstellen

Oktober unterstützt MySQL/MariaDB, PostgreSQL, SQLite und SQL-Datenbanken. Das Debian-Team hat MySQL durch MariaDB als Standarddatenbank von Debian 9 (stretch) ersetzt, also indieses Tutorial, werden wir MariaDB als Datenbankserver verwenden. Wenn Sie Original-MySQL installieren möchten, können Sie das offizielle MySQL-Repository von Oracle hinzufügen und verwenden.

Installieren Sie den MariaDB Datenbankserver aus dem offiziellen MariaDB Repo:

sudo apt install -y software-properties-common dirmngr apt-transport-https
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server

Überprüfen Sie die MariaDB-Version:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Führen Sie dasmysql_secure installationSkript aus, um die MariaDB-Sicherheit zu verbessern, und legen Sie das Passwort für den MariaDB-Benutzer fest:

sudo mysql_secure_installation

Beantworten Sie jede der Fragen:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
New password: your_secure_password
Re-enter new password: your_secure_password
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

Melden Sie sich bei MariaDB als root-Benutzer an:

sudo mysql -u root -p
# Enter password

Erstellen Sie eine MariaDB-Datenbank und einen Benutzer, den Sie für Ihre Installation im Oktober verwenden werden, und merken Sie sich die Anmeldeinformationen:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Verlassen Sie die MariaDB-Shell:

quit

Schritt 3 – Installieren Sie den Acme.sh-Client und erhalten Sie Let’s Encrypt Zertifikat (optional).

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um ein SSL-Zertifikat von Let’s Encrypt zu erhalten, werden wir den Acme.sh-Client verwenden. Acme.sh ist eine reine UNIX-Shell-Software zum Erhalten von SSL-Zertifikaten von Let’s Encrypt ohne Abhängigkeiten.

Laden Sie Acme.sh herunter und installieren Sie es:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail your_email@example.com
source ~/.bashrc
cd ~

Überprüfen Sie die Version von acme.sh:

acme.sh --version
# v2.8.0

Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie gefälschte Zertifikate zum Testen benötigen, können Sie diese hinzufügen.--stagingFlagge zu den obigen Befehlen.

Nachdem Sie die obigen Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:

  • Für RSA:~/example.comVerzeichnis.
  • Für ECC/ECDSA:~/example.com_eccVerzeichnis.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie diese ausführen:

acme.sh --list

Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir werden das/etc/letsencryptVerzeichnis verwenden.

mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Zertifikate installieren/kopieren nach/etc/letsencryptVerzeichnis.

# RSA
acme.sh --install-cert -d example.com \ 
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nachdem Sie Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 4 – NGINX installieren und NGINX für Oktober konfigurieren

NGINX Webserver installieren:

sudo apt install -y nginx

Überprüfen Sie die NGINX-Version:

sudo nginx -v
# nginx version: nginx/1.10.3

Konfigurieren Sie NGINX für Oktober, indem Sie es ausführen:

sudo vim /etc/nginx/sites-available/october.conf

Und füllen Sie die Datei mit der folgenden Konfiguration:

server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name example.com;
    
    index index.php index.html;
    root /var/www/october;
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_read_timeout 120s;
}

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; }
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { 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; } }

Aktivieren Sie die neueoctober.confKonfiguration, indem Sie die Datei mit dem Verzeichnis verknüpfen.

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

Überprüfen Sie die NGINX-Konfiguration auf Syntaxfehler:

sudo nginx -t

Laden Sie den NGINX-Dienst neu:

sudo systemctl reload nginx.service

Schritt 5 – Download und Installation der Oktober CMS-Plattform

Erstellen Sie ein Wurzelverzeichnis für Dokumente:

sudo mkdir -p /var/www/october

Ändern Sie den Besitzer des/var/www/octoberVerzeichnisses auf[your_user]:

sudo chown -R [your_user]:[your_user] /var/www/october

Navigieren Sie zur Dokumentenwurzel:

cd /var/www/october

Laden Sie das Oktober CMS-Installationsprogramm herunter:

wget https://octobercms.com/download -O october.zip

Entpacken Sie das Oktober CMS-Installationsprogramm:

unzip october.zip
rm october.zip
mv install-master/* .

Ändern Sie den Besitzer des/var/www/octoberVerzeichnisses aufwww-data:

sudo chown -R www-data:www-data /var/www/october

Navigieren Sie wie gewohnt zu deminstall.phpSkript in Ihrem Webbrowser und folgen Sieexample.com/install.phpden Installationsanweisungen.

Schritt 6 – Fertigstellen des Oktober-Setups

Vergewissern Sie sich, dass Ihr Systemcheck in Ordnung ist, und fahren Sie fort, indem Sie auf die Schaltfläche „Zustimmen & Fortfahren“ klicken.

Oktober CMS-Einrichtung

Konfigurieren Sie Ihre Datenbank- und Admin-Benutzereinstellungen.

Datenbankeinstellungen

Einrichten des Administrator-Benutzers

Sie können auch einige erweiterte Einstellungen konfigurieren oder die Standardwerte beibehalten.

Erweiterte Einstellungen

Und schließlich, wenn alles konfiguriert ist, drücken Sie die blaue Taste „Continue„.

Als nächstes werden Sie gefragt: „Wie möchten Sie Ihre Website einrichten? „. Du hast 3 Optionen: Von vorne anfangen, von einem Thema starten, eine Projekt-ID verwenden. Wählen Sie Ihre bevorzugte Option.

Erste Schritte mit October CMS

Um auf den Administrationsbereich der Oktober CMS-Plattform zuzugreifen, hängen Sie einfach an/backendIhre URL/IP an.

Nach der Installation sollten Sie aus Sicherheitsgründen die Installationsdateien, dasinstall.phpSkript und das Verzeichnis löschen:

sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files

Links

Das könnte Dich auch interessieren …