Wie man Pagekit CMS mit Nginx auf Fedora 29 installiert
Pagekit ist ein modernes, intuitives, modulares und flexibles Open Source (MIT-Lizenz) CMS.erstellt mit Symfony-Komponenten und Vue.js. Es gibt Ihnen die Werkzeuge, um schöne Websites zu erstellen. Es hat ein reichhaltiges Design und ein Plugin-System.
In diesem Tutorial führen wir Sie durch den Pagekit CMS-Installationsprozess auf einem Fedora 29-Betriebssystem.mit NGINX als Webserver, MariaDB als Datenbankserver und optional können Sie die Transportschicht sichern, indem Sie den acme.sh-Client und die Let’s Encrypt-Zertifizierungsstelle verwenden, um SSL-Unterstützung hinzuzufügen.
Anforderungen
Um Pagekit zu installieren, stellen Sie sicher, dass Ihr Server die folgenden Anforderungen erfüllt:
- Apache Version 2.2 oder höher oder NGINX Webserver.
- MySQL Version 5.1 oder höher oder SQLite 3.
- PHP Version 5.5.9 oder höher.
- Erforderliche PHP-Erweiterungen: JSON, Session, ctype, Tokenizer, SimpleXML, DOM, mbstring, PCRE 8.0+, ZIP und PDO mit MySQL oder SQLite Treibern.
- Optionale PHP-Erweiterungen: cURL, iconv und XML Parser sowie APC oder XCache für das Caching.
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 curl wget vim git sudo unzip socat bash-completion
Schritt 1 – Installieren Sie PHP und die notwendigen PHP-Erweiterungen.
Die Pagekit CMS-Plattform erfordert PHP Version 7.0 oder höher. Fedora 29 enthält die PHP 7.2 Version in ihrem Standard-Repository.
Laden Sie PHP und die erforderlichen PHP-Erweiterungen herunter und installieren Sie sie:
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-zip php-mysqlnd php-sqlite3 php-curl php-xml php-json
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.2.14 (cli) (built: Jan 8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.14, 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 Pagekit erstellen
Pagekit CMS unterstützt MySQL, MariaDB und SQLite Datenbanken. Indieses Tutorial, werden wir MariaDB als Datenbankserver verwenden.
Installieren Sie den MariaDB-Datenbankserver:
sudo dnf install -y mariadb-server
Überprüfen Sie die MariaDB-Version:
mysql --version
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:
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 von Pagekit 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.1
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.
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“
Nachdem Sie die obigen Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:
- Für RSA: /etc/letsencrypt
/example.com
Verzeichnis. - Für ECC/ECDSA: /etc/letsencrypt
/example.com_ecc
Verzeichnis.
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 Pagekit konfigurieren
NGINX Webserver installieren:
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
Konfigurieren Sie NGINX für Pagekit, indem Sie es ausführen:
sudo vim /etc/nginx/conf.d/pagekit.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/pagekit;
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 default.d/php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
} }
Überprüfen Sie die NGINX-Konfiguration auf Syntaxfehler:
sudo nginx -t
Laden Sie den NGINX-Dienst neu:
sudo systemctl reload nginx.service
Schritt 5 – Pagekit CMS herunterladen und installieren
Erstellen Sie ein Dokumenten-Stammverzeichnis, in dem sich Pagekit befinden soll:
sudo mkdir -p /var/www/pagekit
Ändern Sie den Besitzer des/var/www/pagekit
Verzeichnisses auf[your_user]:
sudo chown -R [your_user]:[your_user] /var/www/pagekit
Navigieren Sie zur Dokumentenwurzel:
cd /var/www/pagekit
Laden Sie die neueste stabile Version von Pagekit CMS herunter über :
wget https://github.com/pagekit/pagekit/releases/download/1.0.16/pagekit-1.0.16.zip
Entpacken Sie den Inhalt von Pagekit CMS und entfernen Sie die heruntergeladene Datei.
unzip pagekit-1.0.16.zip
rm pagekit-1.0.16.zip
Stellen Sie das entsprechende Eigentum zur Verfügung:
sudo chown -R nginx:nginx /var/www/pagekit
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
Schritt 6 – Fertigstellen des Pagekit-Setups
Öffnen Sie Ihre Website in einem Webbrowser und Sie sollten die folgende Seite sehen:
Klicken Sie auf das Pfeilsymbol nach rechts, um mit der Installation fortzufahren. Wählen Sie Ihre Sprache und klicken Sie auf die Schaltfläche „Weiter“:
Als nächstes wählen Sie Ihre Datenbank entweder SQLite oder MySQL und füllen die erforderlichen Felder aus und klicken auf die Schaltfläche „Weiter“:
Danach richten Sie Ihre Website ein, indem Sie den Seitentitel eingeben und ein Admin-Benutzerkonto erstellen:
Und das sollte es sein. Sie werden zur Pagekit-Anmeldeseite weitergeleitet. Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich in das Pagekit Dashboard einzuloggen.
Das ist alles. Wenn du feststeckst, schau dir die offiziellen Pagekit-Dokumente an.