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 die Installation von Craft CMS auf einem neuen Ubuntu 18.04 LTS-Server 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 Ubuntu 18.04 ausgeführt wird
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
Erste Schritte
Überprüfen Sie Ihre Ubuntu-Version:
lsb_release -ds
# Ubuntu 18.04.1 LTS
Richten Sie die Zeitzone ein:
sudo 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:
sudo apt update && sudo apt upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Ubuntu-Betriebssystems erforderlich sind:
sudo apt install -y curl wget vim git unzip socat
Schritt 1 – Installieren Sie PHP und erforderliche PHP-Erweiterungen
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php-imagick php7.2-json php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-zip php7.2-intl php7.2-xml
Überprüfen Sie die PHP-Version:
php --version
# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Führen Sie sudo vim /etc/php/7.2/fpm/php.ini
aus und setze memory_limit
auf mindestens 256MB
:
memory_limit = 256M
Der PHP-FPM-Dienst wird beim Neustart auf einem Ubuntu 18.04-System automatisch gestartet und aktiviert, sodass er nicht manuell gestartet und aktiviert werden muss. Wir können mit dem nächsten Schritt fortfahren, der Datenbankinstallation und -einrichtung.
Schritt 2 – Installieren Sie MySQL/MariaDB und erstellen Sie eine Datenbank
Craft CMS unterstützt MySQL/MariaDB- und PostgreSQL-Datenbanken. In dieser Anleitung verwenden wir MySQL als Datenbankserver.
MySQL-Datenbankserver installieren:
sudo apt install -y mysql-server
Überprüfen Sie die MySQL-Version:
mysql --version
# mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
Führen Sie mysql_secure installation
aus Skript zur Verbesserung der MySQL-Sicherheit und zum Festlegen des Passworts für MySQL 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 MySQL-Shell:
sudo mysql -u root -p
# Enter password
Erstellen Sie eine leere MySQL-Datenbank und einen Benutzer für Craft CMS und merken Sie sich die Anmeldedaten:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Beenden Sie MySQL:
mysql> 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 problemlos mit vielen gängigen Webserver-Softwareprogrammen. In diesem Tutorial haben wir Nginx ausgewählt.
Laden Sie die neueste Hauptversion von Nginx aus dem offiziellen Nginx-Repository herunter und installieren Sie sie.
Laden Sie zunächst den Nginx-Repository-PGP-Schlüssel herunter:
wget https://nginx.org/keys/nginx_signing.key
Schlüssel zu apt
hinzufügen Schlüsselbund programmieren:
sudo apt-key add nginx_signing.key
Fügen Sie das Nginx-Mainline-APT-Repository hinzu und richten Sie es ein:
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
Aktualisieren Sie die Repository-Liste:
sudo apt update
Installieren Sie die neuesten Mainline-Nginx-Pakete:
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Starten und aktivieren Sie den Nginx-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Überprüfen Sie die Nginx-Version:
sudo nginx -v
# nginx version: nginx/1.15.8
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(/|$) {
try_files $uri $uri/ /index.php?$query_string;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.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 "";
}
}
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.
Öffnen Sie nginx.conf
Datei und legen Sie user
fest zu www-data
.
sudo vim /etc/nginx/nginx.conf
user www-data www-data;
Nginx-Konfiguration testen:
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') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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.0 2018-12-03 10:31:16
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 werden wir Composer verwenden, 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 johndoe
.
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 zu www-data:
sudo chown -R www-data:www-data /var/www/craft
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:
Fügen Sie die Datenbankdetails ein und klicken Sie auf "Weiter" Schaltfläche:
Craft-Konto erstellen und auf "Weiter" klicken 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