Wie man Craft CMS auf Ubuntu 18.04 LTS installiert
Craft ist ein Open-Source-CMS, das in PHP geschrieben wurde. Mit Craft können Sie auf einfache Weise großartig aussehende Inhalte erstellen und verwalten sowie genau das entwerfen und bauen, was Sie benötigen. 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 Let’s encrypt SSL-Zertifikat.
Anforderungen
Das 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 Arbeitsspeicher, der PHP zugewiesen ist.
- Mindestens 200 MB freier Festplattenspeicherplatz
Voraussetzungen
- Ein Betriebssystem mit Ubuntu 18.04.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
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, denn es stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems erhalten:
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 die erforderlichen PHP-Erweiterungen.
Installieren Sie PHP sowie die notwendigen 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
Ausführen sudo vim /etc/php/7.2/fpm/php.ini
und auf mindestens 256MB
. einstellenmemory_limit
:
memory_limit = 256M
Der PHP-FPM-Dienst wird beim Neustart auf dem Ubuntu 18.04-System 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 – MySQL/MariaDB installieren und eine Datenbank erstellen
Craft CMS unterstützt MySQL/MariaDB und PostgreSQL Datenbanken. In diesem Tutorial werden wir MySQL als Datenbankserver verwenden.
Installieren Sie den MySQL-Datenbankserver:
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
Laufenmysql_secure installation
Skript zur Verbesserung der MySQL-Sicherheit und zur Festlegung des Passworts für MySQLroot
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 mit der MySQL-Shell als root-Benutzer:
sudo mysql -u root -p
# Enter password
Erstellen Sie eine leere MySQL-Datenbank und einen leeren Benutzer für Craft CMS und merken Sie sich die Zugangsdaten:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Beenden von MySQL:
mysql> exit
Ersetzen dbname
Sie, username
und password
durch Ihre eigenen Namen.
Schritt 3 – Client installierenacme.sh
und Let’s Encrypt Zertifikat erhalten (optional)
Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um das TLS-Zertifikat von Let’s Encrypt zu erhalten, werden wir den Acme.sh-Client verwenden. 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 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 Version von Acme.sh:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:
# 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, wird IhrZertifikateundSchlüsselwird drin sein:
- Für RSA:
/etc/letsencrypt/example.com
Verzeichnis. - Für ECC/ECDSA:
/etc/letsencrypt/example.com_ecc
Verzeichnis.
Schritt 4 – Installation und Konfiguration von Nginx
Craft CMS kann mit vielen gängigen Webserver-Softwareprodukten gut funktionieren. In diesem Tutorial haben wir Nginx ausgewählt.
Laden Sie die neueste Mainline-Version von Nginx aus dem offiziellen Nginx-Repository herunter und installieren Sie sie.
Starten Sie, indem Sie den PGP-Schlüssel des Nginx-Repositorys herunterladen:
wget https://nginx.org/keys/nginx_signing.key
Schlüssel zumapt
Programmschlüsselring hinzufügen:
sudo apt-key add nginx_signing.key
Hinzufügen und Einrichten des Nginx Mainline APT Repository:
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 for Craft CMS, indem Sie es 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 produktionsreife Nginx-Konfiguration für Handwerk besuchen Sie https://github.com/nystudio107/nginx-craft. Die Konfiguration ist bewusst vereinfacht, um die Konfiguration dicht und einfach zu halten.
Datei öffnen nginx.conf
und user
auf www-data
. setzen
sudo vim /etc/nginx/nginx.conf
user www-data www-data;
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') === '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: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 6 – Craft CMS installieren
Craft CMS kann mit Composer oder durch manuelles Herunterladen eines .zip
oder tar.gz
mehrerer Archive heruntergeladen werden. 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
Wechseln Sie den Eigentümer des/var/www/craft
Verzeichnis zujohndoe
.
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 .
Wechseln Sie den Eigentümer des/var/www/craft
Verzeichnis zuwww-data:
sudo chown -R www-data:www-data /var/www/craft
Gehen Sie in Ihrem Webbrowser zuhttp://<Hostname>/index.php?p=admin/install
(ersetzende<Hostname>
mit dem Hostnamen Ihres Webservers). Wenn du bisher alles richtig gemacht hast, solltest du vom Setup Wizard von Craft begrüßt werden.
Schritt 7 – Vervollständigen Sie das Craft CMS-Setup.
Nach dem Öffnen Ihrer Installations-URL sollte die folgende Seite erscheinen. Klicken Sie auf die Schaltfläche „Handwerk installieren“:
Akzeptieren Sie die Lizenz, indem Sie auf die Schaltfläche „Got it“ klicken:
Geben Sie die Daten der Datenbank ein und klicken Sie auf die Schaltfläche „Weiter„:
Erstellen Sie ein Handwerkskonto und klicken Sie auf die Schaltfläche „Weiter“:
Richten Sie Ihre Website ein und klicken Sie auf die Schaltfläche „Fertigstellen“:
Danach solltest du auf die Craft-Administrationsseite weitergeleitet werden: