GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Fork CMS mit NGINX unter Debian 9

Fork ist ein einfach zu bedienendes Open-Source-CMS, das Symfony-Komponenten verwendet. Es hat eine intuitive und benutzerfreundliche Oberfläche, leistungsstarke Apps, die Sie herunterladen können, um Ihre Website zu erweitern, und eine große Sammlung schöner Themen. In diesem Tutorial gehen wir durch die Installation und Einrichtung von Fork CMS auf dem Debian 9-System, indem wir Nginx als Webserver und MariaDB als Datenbank-Engine verwenden, und optional können Sie die Transportschicht sichern, indem Sie den Acme.sh-Client und das Let’s Encrypt-Zertifikat verwenden Berechtigung zum Hinzufügen von SSL-Unterstützung.

Anforderungen

Voraussetzungen für die Installation und Ausführung von Fork CMS sind:

  • PHP-Version 7.1 oder höher.
  • Die folgenden PHP-Erweiterungen sollten installiert und aktiviert sein:cURL , libxml , DOM , SimpleXML , SPL , PDO (mit MySQL-Treiber) , mb_string , iconv , GD2-Grafikbibliothek , JSON , PCRE , intl .
  • MySQL 5.0 oder höher.
  • NGINX oder Apache mit .htaccess , mod_rewrite , mod_expires (optional, aber empfohlen), mod_deflate (optional) aktiviert.

Voraussetzungen

  • Ein Betriebssystem, auf dem Debian 9 ausgeführt wird.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

Erste Schritte

Überprüfen Sie Ihre Debian-Version:

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

Richten Sie die Zeitzone ein:

dpkg-reconfigure tzdata

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da dadurch sichergestellt wird, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:

apt update && apt upgrade -y

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

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

Schritt 1 – PHP und PHP-Erweiterungen installieren

Debian stellt nicht die neueste PHP-Version in seinen Standard-Software-Repositories bereit. Wir müssen eine Community hinzufügen, die das Drittanbieter-Repository verwaltet.

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen für Fork CMS:

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

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Überprüfen Sie die PHP-Version:

php --version
# PHP 7.2.19-1+0~20190531112637.22+stretch~1.gbp75765b (cli) (built: May 31 2019 11:26:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.19-1+0~20190531112637.22+stretch~1.gbp75765b, Copyright (c) 1999-2018, by Zend Technologies

Der PHP-FPM-Dienst wird beim Neustart auf einem Debian 9-System automatisch gestartet und aktiviert, sodass er nicht manuell gestartet und aktiviert werden muss. Wir können mit dem nächsten Schritt fortfahren, nämlich der Installation und Einrichtung der Datenbank.

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

Installieren Sie den MariaDB-Datenbankserver:

sudo apt install -y mariadb-server

Überprüfen Sie die MariaDB-Version:

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

Führen Sie mysql_secure installation aus Skript zur Verbesserung der MariaDB-Sicherheit und zum Festlegen des Passworts für den MariaDB-Root-Benutzer:

sudo mysql_secure_installation

Beantworten Sie jede der Fragen:

Would you like to setup VALIDATE PASSWORD plugin? N
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

Verbinden Sie sich als Root-Benutzer mit der MariaDB-Shell:

sudo mysql -u root -p
# Enter password

Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für Fork CMS und merken Sie sich die Anmeldeinformationen:

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

Ersetzen Sie das Wort mypassword mit einem sicheren Passwort Ihrer Wahl. Beenden Sie MariaDB:

mysql> exit

Ersetzen Sie dbname, username and password with your own names.

Schritt 3 – Acme.sh-Client installieren und Let's Encrypt-Zertifikat abrufen (optional)

Das Sichern Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr Ihrer Website zu sichern. Um ein SSL-Zertifikat von Let's Encrypt zu erhalten, verwenden wir den Acme.sh-Client. Acme.sh ist eine reine Unix-Shell-Software zum Abrufen von TLS-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 ~

Prüfen Sie die acme.sh-Version:

acme.sh --version
# v2.8.2

Holen Sie sich RSA und ECC/ECDSA Zertifikate für Ihre Domäne/Ihren Hostnamen:

# 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 wollen, können Sie --staging flag to the above commands.

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

  • Für RSA :/home/username/example.com directory.
  • Für ECC/ECDSA :/home/username/example.com_ecc directory.

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

acme.sh --list

Erstellen Sie ein Verzeichnis zum Speichern Ihrer Zertifikate. Wir verwenden ein Verzeichnis /etc/letsencrypt.

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

Installieren/kopieren Sie Zertifikate in das Verzeichnis /etc/letsencrypt.

# 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 alle 60 Tage automatisch erneuert.

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

exit

Schritt 4 – NGINX installieren und konfigurieren

Installieren Sie den NGINX-Webserver:

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 Fork CMS. Führen Sie sudo vim /etc/nginx/sites-available/fork.conf aus und fügen Sie die folgende Konfiguration hinzu:

server {
    listen 80;
    listen 443 ssl;
root /var/www/fork; index index.php index.html; server_name example.com;

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 / { # Checks whether the requested url exists as a file $uri or directory $uri/ in the root, else redirect to /index.php. try_files $uri $uri/ @redirects; } location @redirects { rewrite ^ /index.php; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_read_timeout 60; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # Don't pollute the logs with common requests location = /robots.txt { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } # As Fork CMS has the app_root as doc_root, we need to restrict access to a few things for security purposes! location ~* ^/(composer\..*|vendor\/.*|Procfile$|\.git\/.*|src\/Console.*|.*\.gitignore|\.editorconfig|\.travis.yml|autoload\.php|bower\.json|phpunit\.xml\.dist|.*\.md|app\/logs\/.*|app\/config\/.*|src\/Frontend\/Cache\/CompiledTemplates.*|src\/Frontend\/Cache\/Locale\/.*\.php|src\/Frontend\/Cache\/Navigation\/.*\.php|src\/Frontend\/Cache\/Search\/.*|src\/Backend\/Cache\/CompiledTemplates\/.*|src\/Backend\/Cache\/Locale\/.*\.php)$ { deny all; access_log off; log_not_found off; } # Deny access to dot-files. location ~ /\. { deny all; access_log off; log_not_found off; } }

Aktivieren Sie die neue fork.conf  konfigurieren, indem Sie die Datei mit sites-enabled verknüpfen Verzeichnis:

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

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

sudo nginx -t

NGINX-Dienst neu laden:

sudo systemctl reload nginx.service

Schritt 5 – Composer installieren

Installieren Sie Composer, den PHP-Abhängigkeitsmanager, global:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Composer-Version prüfen:

composer --version
# Composer version 1.8.5 2019-04-09 17:46:47

Schritt 6 – Fork CMS installieren

Erstellen Sie ein Dokumentstammverzeichnis.

sudo mkdir -p /var/www/fork

Ändern Sie den Besitz von /var/www/fork Verzeichnis zu dem Benutzer, mit dem Sie gerade angemeldet sind, in meinem Fall ist dieser Benutzername johndoe .

sudo chown -R johndoe:johndoe /var/www/fork

Ersetzen Sie johndoe mit Ihrem Login-Benutzernamen im obigen Befehl! Laden Sie die neueste stabile Version von Fork CMS über die Befehlszeile herunter.

cd /var/www/fork
composer create-project forkcms/forkcms .

Ändern Sie den Besitz von /var/www/fork Verzeichnis nach www-data .

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

Bearbeiten Sie die app/config/parameters.yml.dist Datei und Datenbankinformationen festlegen.

sudo vim /var/www/fork/app/config/parameters_install.yml

Öffnen Sie mit Ihrem bevorzugten Webbrowser Ihre Website und folgen Sie dem Fork CMS-Installationsprogramm. Nachdem Sie dem Installationsprogramm gefolgt sind, sollte Fork betriebsbereit sein. Um auf den Fork-Adminbereich zuzugreifen, hängen Sie einfach /private an zu Ihrer Website-URL.

Schritt 7 – Schließen Sie die Fork CMS-Einrichtung ab

Stellen Sie sicher, dass Ihr Server alle Anforderungen erfüllt, und fahren Sie fort:

Sprache auswählen und weiter klicken:

Wählen Sie die gewünschten Einstellungen aus und klicken Sie auf „Weiter“:

Geben Sie Ihre Datenbankeinstellungen ein und klicken Sie auf Weiter. Stellen Sie sicher, dass Sie die Datenbank bereits erstellt haben.

Benutzer anlegen und Installation abschließen:

Sie sehen die folgende Seite, nachdem Sie alle oben genannten Schritte abgeschlossen haben:

Sie haben Fork CMS erfolgreich installiert. Viel Spaß mit Ihrem neuen CMS!

Links

  • https://www.fork-cms.com/
  • https://github.com/forkcms/forkcms

Debian
  1. So installieren Sie Phorum mit Nginx unter Debian 9

  2. So installieren Sie PHP 7.4 / 7.3 / 7.2 / 7.1 unter Debian 10 / Debian 9

  3. So installieren Sie Plone 4 CMS auf Debian Wheezy mit Nginx

  4. So installieren Sie PHP 7.3 auf Debian 9

  5. So installieren Sie Magento mit Nginx unter Debian 10

So installieren Sie Shopware mit NGINX und Lets encrypt unter Debian 9

So installieren Sie Bludit CMS mit NGINX unter Debian 9

So installieren Sie Pico CMS mit Nginx unter Debian 10

So installieren Sie Grav CMS mit Nginx unter Debian 9

So installieren Sie Nginx mit PHP-FPM unter Debian 10

So installieren Sie Nginx und PHP unter Debian 10