Craft ist ein in PHP geschriebenes Open-Source-CMS. Mit Craft können Sie einfach großartig aussehende Inhalte erstellen und verwalten und genau das entwerfen und erstellen, was Sie brauchen. Es ist ein sicheres und skalierbares CMS mit einem großen Plugin-Ökosystem und der Craft-Quellcode wird auf GitHub gehostet. Dieses Tutorial führt Sie durch das Craft CMS-Installationsverfahren auf einem neuen Fedora 29-System mit Nginx als Webserver und wir sichern die Website mit einem SSL-Zertifikat von Let’s encrypt.
Anforderungen
Handwerk erfordert Folgendes:
- PHP Version 7.0 oder höher mit den folgenden PHP-Erweiterungen:(ctype, cURL, GD oder ImageMagick, iconv, JSON, Multibyte String, OpenSSL, PCRE, PDO MySQL Driver oder PDO PostgreSQL Driver, PDO, Reflection, SPL, Zip, Intl, DOM)
- MySQL 5.5+ mit InnoDB, MariaDB 5.5+ oder PostgreSQL 9.5+
- Mindestens 256 MB Speicherplatz für PHP
- Mindestens 200 MB freier Speicherplatz
Voraussetzungen
- Ein Betriebssystem, auf dem Fedora 29 ausgeführt wird.
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
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, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:
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 erforderliche PHP-Erweiterungen
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-pecl-imagick php-json php-mbstring php-mysqlnd php-pgsql php-zip php-intl php-xml php-pdo
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.16 (cli) (built: Mar 5 2019 11:05:59) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Führen Sie sudo vim /etc/php.ini
aus und legen Sie memory_limit
fest auf mindestens 256MB
:
memory_limit = 256M
Starten und aktivieren Sie den PHP-FPM-Dienst:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Wir können mit dem nächsten Schritt fortfahren, nämlich der Installation und Einrichtung der Datenbank.
Schritt 2 – Installieren Sie MariaDB und erstellen Sie eine Datenbank
Craft CMS unterstützt MySQL/MariaDB- und PostgreSQL-Datenbanken. In dieser Anleitung verwenden wir MariaDB als Datenbankserver.
MariaDB-Datenbankserver installieren:
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 mysql_secure installation
aus Skript zur Verbesserung der MariaDB-Sicherheit und zum Festlegen des Passworts für MariaDB root
Benutzer:
sudo mysql_secure_installation
Beantworten Sie jede der Fragen:
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
Stellen Sie als Root-Benutzer eine Verbindung zur MariaDB-Shell her:
sudo mysql -u root -p
# Enter password
Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für Craft CMS und merken Sie sich die Anmeldedaten:
mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;
Beenden Sie MariaDB:
mariadb> exit
Ersetzen Sie dbname
, username
und password
mit Ihren eigenen Namen.
Schritt 3 – Installieren Sie acme.sh
Client und erhalten Sie das Let's Encrypt-Zertifikat (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 TLS-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 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 Acme.sh-Version:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Fordern Sie RSA an und ECC/ECDSA Zertifikate für Ihre Domain/Ihren Hostnamen:
# 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, werden Ihre Zertifikate und Schlüssel wird sein in:
- Für RSA :
/etc/letsencrypt/example.com
Verzeichnis. - Für ECC/ECDSA :
/etc/letsencrypt/example.com_ecc
Verzeichnis.
Schritt 4 – NGINX installieren und konfigurieren
Craft CMS funktioniert gut mit vielen gängigen Webserver-Software. In diesem Tutorial haben wir Nginx ausgewählt.
NGINX-Webserver installieren:
sudo dnf install -y nginx
Überprüfen Sie die NGINX-Version:
nginx -v
# nginx version: nginx/1.14.2
Starten und aktivieren Sie den NGINX-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurieren Sie NGINX für Craft CMS, indem Sie Folgendes ausführen:
sudo vim /etc/nginx/conf.d/craft.conf
Und füllen Sie die Datei mit der folgenden Konfiguration:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
root /var/www/craft/web;
index index.php;
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.html $uri $uri/ /index.php?$query_string;
}
location ~ [^/]\.php(/|$) {
include default.d/php.conf;
try_files $uri $uri/ /index.php?$query_string;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTP_PROXY "";
}
}
Ersetzen Sie example.com in der obigen Datei durch Ihren eigenen Domainnamen.
HINWEIS : Für eine vollständige und produktionsbereite Nginx-Konfiguration für Craft besuchen Sie https://github.com/nystudio107/nginx-craft. Die Konfiguration wurde absichtlich vereinfacht, um die Konfiguration dicht und einfach zu halten.
Testen Sie die NGINX-Konfiguration:
sudo nginx -t
NGINX 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
Überprüfen Sie die Composer-Version:
composer --version
# Composer version 1.8.4 2019-02-11 10:52:10
HINWEIS: Composer-Installationsbefehle werden sich in Zukunft ändern, also überprüfen Sie https://getcomposer.org/download/ für die aktuellsten Befehle, wenn die oben genannten Befehle nicht funktionieren.
Schritt 6 – Craft CMS installieren
Craft CMS kann mit Composer oder durch manuelles Herunterladen einer .zip
heruntergeladen werden oder tar.gz
Archiv. In diesem Tutorial verwenden wir Composer, um Craft CMS herunterzuladen.
Erstellen Sie ein Dokumentenstammverzeichnis, in dem sich Craft CMS befinden soll:
sudo mkdir -p /var/www/craft
Navigieren Sie zum Stammverzeichnis des Dokuments:
cd /var/www/craft
Ändern Sie den Besitz von /var/www/craft
Verzeichnis zu {Ihr_Benutzername}.
sudo chown -R {your_username}:{your_username} /var/www/craft
Um ein neues Craft-Projekt zu erstellen, führen Sie diesen Befehl aus:
composer create-project craftcms/craft .
Ändern Sie den Besitz von /var/www/craft
Verzeichnis nach nginx:
sudo chown -R nginx:nginx /var/www/craft
Führen Sie sudo vim /etc/php-fpm.d/www.conf
aus und setzen Sie den Benutzer und die Gruppe auf nginx
. Anfangs sind sie auf apache:
eingestellt
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Erstellen Sie /var/lib/php/session/
Verzeichnis und ändern Sie den Besitz zu nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session
Starten Sie den PHP-FPM-Dienst neu:
sudo systemctl restart php-fpm.service
Gehen Sie in Ihrem Webbrowser zu http://<Hostname>/index.php?p=admin/install
(durch Ersetzen von <Hostname>
mit dem Hostnamen Ihres Webservers). Wenn Sie bisher alles richtig gemacht haben, sollten Sie vom Einrichtungsassistenten von Craft begrüßt werden.
Schritt 7 – Schließen Sie die Einrichtung des Craft CMS ab
Nach dem Öffnen Ihrer Installations-URL sollte die Seite wie unten angezeigt werden. Klicken Sie auf "Craft installieren" Schaltfläche:
Akzeptieren Sie die Lizenz, indem Sie auf "Verstanden" klicken Schaltfläche:
Geben Sie die Datenbankdetails ein und klicken Sie auf "Weiter" Schaltfläche:
Erstellen Sie ein Craft-Konto und klicken Sie auf "Weiter" Schaltfläche:
Richten Sie Ihre Website ein und klicken Sie auf "Fertigstellen" Schaltfläche:
Danach sollten Sie zur Craft-Admin-Seite weitergeleitet werden:
Links
- https://craftcms.com/
- https://github.com/craftcms/cms
- https://github.com/nystudio107/nginx-craft