Wie man Craft CMS auf CentOS 7 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 CentOS-System 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 CentOS 7.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.

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 Verwaltung des CentOS-Betriebssystems erforderlich sind:

sudo yum install -y curl wget vim git unzip socat

Schritt 1 – Installieren Sie PHP und die erforderlichen PHP-Erweiterungen.

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-pecl-imagick php72w-json php72w-mbstring php72w-mysql php72w-pgsql php72w-zip php72w-intl php72w-xml php72w-pdo

Überprüfen Sie die PHP-Version:

php --version

 

# PHP 7.2.13 (cli) (built: Dec 6 2018 23:18:37) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Starten und aktivieren Sie den PHP-FPM-Dienst:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Ausführen undsudo vim /etc/php.iniauf mindestensmemory_limit. einstellen:

memory_limit = 256M

Wir können zum nächsten Schritt übergehen, nämlich der Installation und Einrichtung der Datenbank.

Schritt 2- MariaDB installieren und eine Datenbank erstellen

Craft CMS unterstützt MySQL/MariaDB und PostgreSQL Datenbanken. In diesem Tutorial verwenden wir MariaDB als Datenbankserver.

Installieren Sie den MariaDB-Datenbankserver:

sudo yum install -y mariadb-server

Überprüfen Sie die MariaDB-Version:

mysql --version
# mysql  Ver 15.1 Distrib 5.5.60-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

Laufenmysql_secure installationSkript zur Verbesserung der MariaDB-Sicherheit und zur Festlegung des Passworts für MariaDBrootBenutzer:

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

Verbinden Sie sich mit der MariaDB-Shell als Root-Benutzer:

sudo mysql -u root -p
# Enter password

Erstellen Sie eine leere MariaDB-Datenbank und einen leeren Benutzer für Craft CMS und merken Sie sich die Zugangsdaten:

mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;

Verlassen Sie MariaDB:

mariadb> exit

Ersetzen Sie,dbnameundusernamedurch Ihre eigenenpasswordNamen.

Schritt 3 – Client installierenacme.shund 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 your_email@example.com
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.comVerzeichnis.
  • Für ECC/ECDSA:/etc/letsencrypt/example.com_eccVerzeichnis.

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.

Um eine Signatur zu überprüfen, ist es notwendig, den Nginx Signaturschlüssel herunterzuladen.und importieren Sie es in das Verzeichnisrpmder Schlüsselanhänger des Programms:

wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key

Um das yum-Repository für CentOS einzurichten, erstellen Sie die Datei mit dem Namen/etc/yum.repos.d/nginx_mainline.repomit folgendem Inhalt:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1

Installieren Sie die neuesten Mainline-Nginx-Pakete:

sudo yum 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:

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 127.0.0.1:9000;
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 durch Ihren eigenen Domainnamen in der obigen Datei.

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.

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 oder mehrerer Archive heruntergeladen werden.zip. 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/craftVerzeichnis 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 .

Wechseln Sie den Eigentümer des/var/www/craftVerzeichnis zunginx:

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

Führen Sie aus undsudo vim /etc/php-fpm.d/www.confsetzen Sie den Benutzer und die Gruppe auf . Zunächst werden sie auf die folgenden Werte gesetztapache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Erstellen/var/lib/php/session/Verzeichnis und ändern Sie den Besitzer aufnginx.

sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session

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ächeHandwerk installieren“:

Starten Sie die Installation des Bootes

Akzeptieren Sie die Lizenz, indem Sie auf die Schaltfläche „Got it“ klicken:

Akzeptieren Sie die Lizenz

Geben Sie die Daten der Datenbank ein und klicken Sie auf die Schaltfläche „Weiter:

Verbindung zur Datenbank

Erstellen Sie ein Handwerkskonto und klicken Sie auf die Schaltfläche „Weiter:

Einen Benutzer anlegen

Richten Sie Ihre Website ein und klicken Sie auf die Schaltfläche „Fertigstellen:

Standortinformationen hinzufügen

Danach solltest du auf die Craft-Administrationsseite weitergeleitet werden:

Craft CMS Dashboard

Das könnte Dich auch interessieren …