Wie installiert man Pico CMS mit Nginx und Let’s Encrypt auf CentOS 7?

Pico ist ein Open-Source einfaches und schnelles Flatfile-CMS, das in PHP geschrieben wurde. Das bedeutet, dass es kein Administrations-Backend und keine Datenbank gibt, mit der man sich befassen muss. Pico verwendet die Twig Templating Engine für leistungsstarke und flexible Themes, Pico Quellcode ist auf Github verfügbar. In diesem Tutorial werden wir Pico CMS mit Nginx auf dem CentOS 7-System installieren.

Anforderungen

Voraussetzungen für den Betrieb von Pico sind:

  • Nginx
  • PHP Version 5.3.6 oder höher
  • Komponist

Voraussetzungen

  • Ein CentOS 7 Betriebssystem.
  • Ein Nicht-Root-Benutzer mit sudoBerechtigungen.

Erste Schritte

Überprüfen Sie Ihre CentOS-Version:

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

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 yum update -y

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

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release

Schritt 1 – PHP installieren

Richten Sie die Webtatic YUM Repo:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-json php72w-zip php72w-xml php72w-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.2.19 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 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

Schritt 2 – Client installieren acme.shund Let’s Encrypt Zertifikat erhalten (optional)

Die Sicherung Ihres Forums mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Erhalten 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 your_email@example.com
source ~/.bashrc
cd ~

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

acme.sh --version
# v2.8.2

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: /home/username/example.comVerzeichnis.
  • Für ECC/ECDSA: /home/username/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/letsecnrypt/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.

Nach Erhalt der Zertifikate verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 3 – Installation und Konfiguration von NGINX

Laden Sie Nginx herunter und installieren Sie es aus dem CentOS-Repository:

sudo yum install -y nginx

Überprüfen Sie die Nginx-Version:

nginx -v
# nginx version: nginx/1.12.2

Starten und aktivieren Sie den Nginx-Dienst:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

KonfigurierenNGINX für Pico CMS durch Ausführen:

sudo vim /etc/nginx/conf.d/pico.conf

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

server {
  
  listen 80;
  listen 443 ssl;
  server_name example.com;
  root /var/www/pico;
  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;
  index index.php;

  location ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) {
    deny all;
  }

  location / {
    index index.php;
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_index index.php;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param PICO_URL_REWRITING 1;
  }

}

PrüfenNGINX Konfiguration für Syntaxfehler:

sudo nginx -t

Neu ladenNGINX Service:

sudo systemctl reload nginx.service

Schritt 4 – 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‘) === ‚a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1‘) { 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

Überprüfen Sie die Composer-Version:

composer --version
# Composer version 1.9.0 2019-08-02 20:55:32

HINWEIS: Die Installationsbefehle des Composer werden sich in Zukunft ändern, also überprüfen Sie https://getcomposer.org/download/ für die aktuellsten Befehle, wenn die obigen Befehle nicht funktionieren.

Schritt 5 – Pico CMS installieren

Erstellen Sie ein Dokumentenstammverzeichnis für Pico CMS:

sudo mkdir -p /var/www/pico

Ändere den Besitzer des Verzeichnisses auf y, das/var/www/picoour_username du vorher hättest erstellen sollen und du solltest als dieser Benutzer angemeldet sein.

sudo chown -R your_username:your_username /var/www/pico

HINWEIS: Vergiss nicht, deinen Benutzernamen durch den Namen zu ersetzen, den du gewählt hast.

Navigieren Sie zum Stammverzeichnis des Dokuments:

cd /var/www/pico

Laden Sie Pico mit Komponist herunter:

composer create-project picocms/pico-composer .

Stellen Sie das entsprechende Eigentum zur Verfügung:

sudo chown -R nginx:nginx /var/www/pico

Ausführen sudo vim /etc/php-fpm.d/www.confund setzen Sie den Benutzer und die Gruppe aufnginx…. Zunächst werden sie auf apache. Ausführen gesetzt:

sudo vim /etc/php-fpm.d/www.conf

Und setze Benutzer und Gruppe auf nginx, wie unten beschrieben:

user = nginx
group = nginx

Und schließlich starten Sie den PHP-FPM-Dienst neu, damit diese Änderungen wirksam werden:

sudo systemctl restart php-fpm.service

Sie haben Pico CMS erfolgreich auf dem CentOS 7 Server installiert. Sie können nun einfach Ihren eigenen Inhaltsordner im Stammverzeichnis von Pico erstellen, .md-Dateien im Inhaltsverzeichnis erstellen und diese Dateien werden zu Ihren Seiten.

Links

Das könnte Dich auch interessieren …