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 mit
mod_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 installation
Skript 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 [email protected]
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.--staging
Flagge zu den obigen Befehlen.
Nachdem Sie die obigen Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:
- Für RSA:
~/example.com
Verzeichnis. - Für ECC/ECDSA:
~/example.com_ecc
Verzeichnis.
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/letsencrypt
Verzeichnis 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.conf
Konfiguration, 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/october
Verzeichnisses 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/october
Verzeichnisses aufwww-data:
sudo chown -R www-data:www-data /var/www/october
Navigieren Sie wie gewohnt zu deminstall.php
Skript in Ihrem Webbrowser und folgen Sieexample.com/install.php
den 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.
Konfigurieren Sie Ihre Datenbank- und Admin-Benutzereinstellungen.
Sie können auch einige erweiterte Einstellungen konfigurieren oder die Standardwerte beibehalten.
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.
Um auf den Administrationsbereich der Oktober CMS-Plattform zuzugreifen, hängen Sie einfach an/backend
Ihre URL/IP an.
Nach der Installation sollten Sie aus Sicherheitsgründen die Installationsdateien, dasinstall.php
Skript und das Verzeichnis löschen:
sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files