Wie man Oktober CMS mit Nginx auf Fedora 29 installiert
October CMS ist eine kostenlose, Open-Source, selbst gehostete CMS-Plattform, die auf dem Laravel PHP Framework basiert. Oktober CMS-Quellcode wird auf Github gehostet: Tausende von digitalen Studios und Freelancern auf der ganzen Welt lieben Oktober wegen seiner Einfachheit, Flexibilität und seines modernen Designs.In diesem Tutorial werden wir die Installation des Oktober-CMS auf dem Fedora 29-System durchgehen, indem wir Nginx als Webserver, MariaDB als Datenbankserver und optional die Transportschicht sichern, indem wir den acme.sh-Client und die Let’s Encrypt-Zertifizierungsstelle verwenden, 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
Voraussetzungen
- Ein System, auf dem Fedora 29 läuft.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Erste Schritte
Überprüfen Sie Ihre Fedora-Systemversion:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Richten Sie die Zeitzone ein:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
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:
sudo dnf upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Fedora-Betriebssystems erforderlich sind:
sudo dnf install -y vim wget curl git socat unzip bash-completion
Schritt 1 – PHP installieren
Die Oktober CMS-Plattform erfordert PHP Version 7.0 oder höher.
Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:
sudo dnf install -y php-cli php-fpm php-pdo php-common php-mysqlnd php-curl php-json php-zip php-gd php-xml php-mbstring
Überprüfen Sie die PHP-Version:
php --version
# PHP 7.2.15 (cli) (built: Feb 5 2019 15:43:35) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies # with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
Starten und aktivieren Sie den PHP-FPM-Dienst:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Wir können zum nächsten Schritt übergehen, nämlich der Installation und Einrichtung der Datenbank.
Schritt 2 – MariaDB installieren und eine Datenbank für Oktober erstellen
Installieren Sie den MariaDB-Datenbankserver:
sudo dnf install -y mariadb-server
Überprüfen Sie die MariaDB-Version:
mysql --version
# mysql Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1
Starten und aktivieren Sie den MariaDB-Dienst:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
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:
mysql_secure_installation
Melden Sie sich bei MariaDB als root-Benutzer an:
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 mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Überprüfen Sie die Version von Acme.sh:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Nachdem Sie die obigen Befehle ausgeführt haben, wird IhrZertifikateundSchlüsselwird drin sein:
- Für RSA:
/etc/letsencrypt/example.com
Verzeichnis. - Für ECC/ECDSA:
/etc/letsencrypt/example.com_ecc
Verzeichnis.
Schritt 4 – Installation und Konfiguration von NGINX
Installieren Sie den NGINX Webserver:
sudo dnf install -y nginx
Überprüfen Sie die NGINX-Version:
nginx -v
# nginx version: nginx/1.14.1
Starten und aktivieren Sie den NGINX-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Laufensudo vim /etc/nginx/conf.d/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.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
include default.d/php.conf;
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 120s;
}
rewrite ^themes/.*/(layouts|pages|partials)/.*.htm /index.php break;
rewrite ^bootstrap/.* /index.php break;
rewrite ^config/.* /index.php break;
rewrite ^vendor/.* /index.php break;
rewrite ^storage/cms/.* /index.php break;
rewrite ^storage/logs/.* /index.php break;
rewrite ^storage/framework/.* /index.php break;
rewrite ^storage/temp/protected/.* /index.php break;
rewrite ^storage/app/uploads/protected/.* /index.php break;
}
Testen Sie die NGINX-Konfiguration:
sudo nginx -t
Laden Sie NGINX 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 aufjohndoe:
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 http://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 aufnginx:
sudo chown -R nginx:nginx /var/www/october
Führen Sie aus undsudo vim /etc/php-fpm.d/www.conf
setzen Sie den Benutzer und die Gruppe auf . Zunächst werden sie auf die folgenden Werte gesetztapache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Starten Sie den PHP-FPM-Dienst neu:
sudo systemctl restart php-fpm.service
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