Wie man Laravel-basiertes PyroCMS unter Debian 9 installiert

PyroCMS ist eine Open Source, leistungsstarke, modulare CMS- und Entwicklungsplattform, die mit Laravel 5 erstellt wurde und es Ihnen ermöglicht, bessere Laravel-Websites und -Anwendungen schneller zu erstellen.

In diesem Tutorial werden wir Sie durch den PyroCMS-Installationsprozess auf einem Debian 9 (stretch) Betriebssystem führendurch die Verwendung von NGINX als Webserver, MariaDB als Datenbankserver, und optional können Sie die Transportschicht durch die Verwendung des acme.sh-Clients und Let’s Encrypt-Zertifikatsautorität sichern, um SSL-Unterstützung hinzuzufügen.

Anforderungen

Um PyroCMS zu installieren, stellen Sie sicher, dass Ihr System die folgenden Anforderungen erfüllt:

  • Mindestens 1GB RAM oder Swap konfiguriert
  • PHP Version 7.0 oder höher mit den Erweiterungen PDO, cURL, SQLite, OpenSSL, Mbstring, Fileinfo, Tokenizer, GD PHP.
  • MariaDB
  • NGINX

Voraussetzungen

  • Ein System, auf dem Debian 9 (stretch) läuft.
  • Ein Nicht-Root-Benutzer mit sudo-Privilegien.

Erste Schritte

Überprüfen Sie Ihre Debian-Systemversion:

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 er stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standard-Softwarepakete Ihres Betriebssystems haben:

apt update && apt upgrade -y

Installieren Sie einige wesentliche 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 – PHP und notwendige PHP-Erweiterungen installieren

Downloaden und installieren Sie PHP 7.0 und die benötigten PHP-Erweiterungen:

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-mysql php7.0-curl php7.0-sqlite3 php7.0-mbstring php7.0-gd php7.0-xml

Um PHP in Modulen kompiliert 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 des Debian 9-Systems 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 Installation und Einrichtung der Datenbank.

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

Installieren Sie MariaDB:

sudo apt install -y mariadb-server

Überprüfen Sie die MariaDB-Version:

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

Führenmysql_secure installationSie das Skript aus, um die Sicherheit von MariaDB zu verbessern und setzen Sie das Passwort für den MariaDB-Benutzer:

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 in MariaDB als Benutzer root an:

sudo mysql -u root -p
# Enter password

Erstellen Sie eine MariaDB-Datenbank und einen Benutzer, die Sie für Ihre Installation von PyroCMS verwenden werden, und merken Sie sich die Zugangsdaten:

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 das Let’s Encrypt-Zertifikat (optional)

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Praxis, um den Verkehr 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, um SSL-Zertifikate von Let’s Encrypt ohne Abhängigkeiten zu erhalten.

acme.sh herunterladen und installieren:

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

Erhalten Sie 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 zur Prüfung benötigen, können Sie--stagingFlagge zu den obigen Befehlen.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie laufen:

acme.sh --list

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

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 oben genannten Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:

  • Für RSA: Verzeichnis /etc/letsencrypt/example.com.
  • Für ECC/ECDSA: Verzeichnis /etc/letsencrypt/example.com_ecc.

Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nach dem Erhalt von Zertifikaten, verlassen Sie den Benutzer root und kehren Sie zum normalen Benutzer sudo zurück:

exit

Schritt 4 – NGINX installieren und NGINX für PyroCMS konfigurieren

Installieren Sie den NGINX Webserver:

sudo apt install -y nginx

Prüfen Sie die NGINX-Version:

sudo nginx -v
# nginx version: nginx/1.10.3

Konfigurieren Sie NGINX für PyroCMS, indem Sie es ausführen:

sudo vim /etc/nginx/sites-available/pyro.conf

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

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

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

rewrite ^/(.*)/$ /$1 permanent;

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;

}
}

Aktivieren Sie die neuepyro.confKonfiguration, indem Sie die Datei mit dem Verzeichnis verknüpfen.

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

Prü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 den 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

Prüfen Sie die Version des Composers:

composer --version
# Composer version 1.8.4 2019-02-11 10:52:10

Schritt 6 – PyroCMS installieren

Erstellen Sie ein Dokumenten-Stammverzeichnis, in dem PyroCMS liegen soll:

sudo mkdir -p /var/www/pyro

Ändern Sie den Eigentümer des/var/www/pyroVerzeichnisses auf[your_user]:

sudo chown -R [your_user]:[your_user] /var/www/pyro

Navigieren Sie zum Dokument-Stamm:

cd /var/www/pyro

Laden Sie die neueste stabile Version von PyroCMS über :

composer create-project pyrocms/pyrocms .

Ändern Sie den Eigentümer des/var/www/pyroVerzeichnisses auf .

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

Schritt 7 – Vervollständigen Sie die Einrichtung des PyroCMS

Greifen Sie auf Ihre Website in einem Webbrowser über den Domainnamen oder die IP-Adresse zu und folgen Sie dem PyroCMS-Webinstallations-Assistenten.

PyroCMS

Nachdem Sie alle erforderlichen Informationen ausgefüllt haben, ist Ihre PyroCMS-Installation abgeschlossen.

Links

Das könnte Dich auch interessieren …