GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Craft CMS mit Nginx unter Ubuntu 20.04

Craft CMS ist ein kostenloses Open-Source-Content-Management-System für Websites. Es wird von einer großen und wachsenden Community von Entwicklern und Designern unterstützt und bietet eine Reihe innovativer Funktionen mit einem eleganten Design, das die Verwendung erleichtert. Außerdem können Sie damit jeden Aspekt der Entwicklung Ihrer Website steuern.

Es ist eine großartige Alternative zu WordPress und Drupal, die zwei der beliebtesten Content-Management-Systeme sind, die heute verwendet werden.

Ein Content Management System (CMS) ist eine Software, mit der die Verwaltung von Webinhalten vereinfacht wird, z. B. das Bearbeiten von Inhalten oder das Hinzufügen neuer Seiten und Bilder. Der Betrieb einer Website kann schwierig sein, wenn Sie jede Seite einzeln im Code mit HTML oder anderen Auszeichnungssprachen erstellen müssen; Dies kann zu Problemen führen, wenn mehrere Personen gleichzeitig an Ihrer Website arbeiten, da möglicherweise keine Einigung darüber besteht, wie bestimmte Elemente aussehen oder sich verhalten sollen.

Durch die Verwendung eines CMS können Sie die allgemeine Struktur jeder Seite sowie spezifische Elemente wie einen Blogbeitrag oder eine Produktbeschreibung festlegen. Wenn dann jemand anderes diese Informationen bearbeiten muss, muss er nur das CMS verwenden.

Diese Anleitung zeigt, wie man Craft CMS auf Ubuntu 20.04 LTS (Focal Fossa) installiert. Es zeigt Ihnen, wie Sie Craft CMS auf Ihrem Ubuntu-Server installieren. Wenn Sie die MySQL/MariaDB-Datenbank verwenden möchten, hilft Ihnen diese Anleitung auch dabei, diese zu installieren.

Der Prozess zum Installieren von Craft CMS auf Ubuntu ist ähnlich, unabhängig davon, welche Distribution und Version Sie verwenden, daher sollten Sie in der Lage sein, dieser Anleitung zu folgen, auch wenn Ihr System etwas anders ist. Dieses Tutorial wurde mit Blick auf eine Neuinstallation von Ubuntu erstellt; Einige Schritte können jedoch je nach Ihrer aktuellen Serverkonfiguration leicht abweichen.

Voraussetzungen

Um dieser Anleitung zu folgen, benötigen Sie ein paar Dinge:

  • Ein Server mit Ubuntu 20.04 LTS.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen, der auf Ihrem Ubuntu-Server eingerichtet ist.

Erste Schritte

Aktualisieren Ihres Systems

Melden Sie sich zunächst als Nicht-Root-Benutzer bei Ihrem Server an, indem Sie den folgenden Befehl ausführen:

ssh [email protected]_instance_ip

Der Benutzername ist root, Sie verbinden sich mit dem Server „instance_ip“ über das SSH-Protokoll

your_instance_ip ist die private IP-Adresse Ihres Servers, auf dem Craft CMS installiert wird.

Aktualisieren Sie Ihr Betriebssystem, indem Sie den folgenden Befehl ausführen: 

sudo apt update && sudo apt upgrade -y

sudo apt update wird ausgeführt, um sicherzustellen, dass Ihr Ubuntu-System auf dem neuesten Stand ist. Mit diesem Befehl lädt Ubuntu neue Ubuntu-Pakete aus den Ubuntu-Repositories herunter und installiert sie auf Ihrem Ubuntu-Betriebssystem. Ubuntu verwendet ein Repository (oder genauer "Repositorys"), bei denen es sich um Softwareverteilungszentren handelt, aus denen Ubuntu alle seine Anwendungen bezieht.

sudo apt upgrade ist ein Ubuntu-Befehl zum Aktualisieren und Upgraden von Ubuntu-Software. Dadurch wird Ihre Ubuntu-Software aktualisiert, was die Aktualisierung des Ubuntu-Kerns, der installierten Pakete und jeder neuen Version der Ubuntu-Software umfasst.

-y ist die Kurzform von --yes. Der Ubuntu-Befehl „apt upgrade -y“ bedeutet, dass Ubuntu automatisch Ja zu jeder Ubuntu-Softwareaktualisierungsanfrage sagt.

Wenn Sie beim Ausführen dieses Befehls Fehler erhalten, müssen Sie Fehler möglicherweise mit dem Ubuntu Software Center oder über ein Terminal beheben. Sie können dies tun, indem Sie sudo apt-get -f install eingeben und den Anweisungen im Ubuntu Software Center folgen, um alle Probleme zu beheben, oder Sie können den Terminalbefehl „sudo dpkg --configure -a“ verwenden, um Fehler zu beheben und dann erneut auszuführen den obigen Befehl.

sudo apt-get -f install
sudo dpkg --configure -a

Beispielausgabe:

Installieren von Abhängigkeiten 

Installieren Sie Abhängigkeiten, indem Sie den folgenden Befehl ausführen:

sudo apt install -y curl wget vim git unzip socat 

curl dient Ubuntu zum Herunterladen von Ubuntu-Updates aus Ubuntu-Repositories. wget ist eine kostenlose Software, die in Ubuntu und anderen Linux-Betriebssystemen unterstützt wird, um Dateien über die Protokolle HTTP, HTTPS und FTP abzurufen.

vim ist ein beliebter Unix-basierter Texteditor, der auf fast allen Unix-Systemen sowie auf Microsoft Windows läuft.

Ubuntu verwendet unzip, um Dateien aus einer ZIP-Datei zu extrahieren.

Ubuntu verwendet socat, ein kommandozeilenbasiertes Dienstprogramm, um Verbindungen zwischen zwei verschiedenen Anwendungen zu öffnen, während es die standardmäßigen Eingabe- und Ausgabeströme oder -dateien verwendet.

Beispielausgabe:

LEMP-Server installieren

Craft CMS ist in PHP geschrieben und verwendet MySQL/MariaDB als Datenbank-Engine. Wir werden Ubuntu so konfigurieren, dass es zusammen mit "einem LEMP-Stack" verwendet wird. Ein LEMP-Stack ist ein Akronym für Linux, Nginx-Webserver, MySQL/MariaDB-Datenbank-Engine und PHP-Programmiersprache.

Installieren Sie zuerst den Nginx- und MariaDB-Server, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

sudo apt-get install nginx mariadb-server -y

Beispielausgabe:

Sobald beide installiert sind, können Sie PHP installieren, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

sudo apt-get install php php-cli php-fpm php-common php-curl php-gd php-imagick php-json php-mbstring php-mysql php-pgsql php-zip php-intl php-xml -y

php-cli ist die Befehlszeilenschnittstelle für PHP und der Standardpaketname war in der Vergangenheit "php5". Jetzt ist es in "php" umbenannt.

php-fpm ist die -wait-Version von php-cgi. Es kann gleichzeitige Anfragen gut handhaben und es ist nützlich, hinter einem Proxy-Server verwendet zu werden.

php-common ist für allgemeine Bibliotheken, die von anderen Modulen benötigt werden, z. B. php-json wird automatisch installiert, wenn wir "php" installieren.

php-curl ist ein Modul für den Zugriff auf URLs über cURL (Befehlszeilentool, das HTTP-Anforderungen sendet).

Hinweis :Ubuntu verwendet das Ubuntu Software Center, um die Ubuntu-Software zu installieren. Das Ubuntu Software Center kann jedoch keine Software von Drittanbietern herunterladen oder installieren, wie einige Python-Pakete (virtualenv usw.), die von Craft CMS benötigt werden. Im Ubuntu Software Center müssen Sie die hier gefundenen Befehle manuell kopieren und in ein Terminalfenster einfügen und den Anweisungen folgen.

Bearbeiten Sie nach der Installation aller Pakete die Datei php.ini im Ubuntu-Verzeichnis etc/php/7.4/fpm:

sudo nano /etc/php/7.4/fpm/php.ini

Ändern Sie die folgenden Konfigurationen in der Datei:

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Asia/Kolkata

memory_limit =512M wird von Craft CMS benötigt, in Ubuntu 20.04 LTS kann PHP das memory_limit nicht selbst ändern, also sollten wir es manuell in der Datei php.ini ändern.

post_max_size =32 MB und upload_max_filesize =32 MB werden benötigt, um Bilddateien über das CMS hochzuladen, Ubuntu 20.04 LTS hat die Werte post_max_size und upload_max_filesize in Ubuntus php.ini-Datei standardmäßig auf 16 MB gesetzt, Craft CMS erfordert 32 MB.

Craft CMS erfordert außerdem date.timezone =Asia/Kolkata, um die Zeit in Ubuntu 20.04 LTS korrekt anzuzeigen. Ubuntu 20.04 LTS verwendet standardmäßig UTC-5 als Zeitzone, Craft CMS erfordert eine Zeitzone in UTC+05:30 (indische Standardzeit).

Nachdem Sie die php.ini-Datei bearbeitet haben, speichern und schließen Sie die Datei und starten Sie dann den PHP-FPM-Dienst von Ubuntu neu:

sudo systemctl restart php7.4-fpm

Geben Sie den folgenden Befehl ein, um den Status des PHP-FPM-Dienstes von Ubuntu zu überprüfen:

sudo systemctl status php7.4-fpm

Beispielausgabe:

Jetzt haben Sie den LEMP-Server bereit, wir gehen zum nächsten Schritt.

Datenbank erstellen

Jetzt werden wir eine Datenbank für Craft CMS erstellen. Öffnen Sie die MySQL-Konsole von Ubuntu:

sudo mysql -u root -p

-p bedeutet Passwort. Wenn Sie sich mit dem Root-Benutzer verbinden möchten, schreiben Sie einfach -u root und drücken Sie die Eingabetaste, ohne weitere spezifische Informationen einzugeben.

Geben Sie das Passwort ein, das Sie während der Installation von Ubuntu festgelegt haben. Führen Sie dann die folgenden Befehle aus, um eine Datenbank mit dem Namen „craftdb“ zu erstellen:

CREATE DATABASE craftdb;
GRANT ALL ON craftdb.* TO 'craftuser' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;
EXIT;

Um diese Datenbank zu verwenden, müssen wir uns mit ihr verbinden. Also haben wir einen Benutzer namens ‚craftuser‘ erstellt. Wir verwenden IDENTIFIED BY anstelle von VALUES, weil wir MySQL anweisen, nur die Datenbank und keine anderen Daten zu verwenden. Ersetzen Sie das Wort mypassword durch ein sicheres Passwort Ihrer Wahl.

FLUSH PRIVILEGES besteht darin, alle nicht festgeschriebenen Transaktionen in dieser Sitzung zu verwerfen.

Installieren von Craft CMS

Um Craft CMS zu installieren, müssen wir zuerst die neueste Version von Composer installieren. Weil Ubuntu die Verwendung von gem in seinem System nicht unterstützt. Wir können Craft CMS nur mit Composer installieren. Führen Sie den folgenden Befehl aus, um Composer zu installieren:

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

-s schaltet den stillen Modus ein. Standardmäßig zeigt curl keine Ausgabe, wenn es entlang des -s geht, Sie können eine zu analysierende URL übergeben. In diesem Fall teilen wir curl mit, die URL https://getcomposre mit -s abzurufen, wir fügen das Flag zum Herunterladen einer Datei hinzu (das ist https://getcomposer.org/installer) und speichern die URL, das Flag -o weist curl an, die heruntergeladene Datei in composer-setup.php

zu schreiben

Installieren Sie als Nächstes den Composer, indem Sie den folgenden Befehl ausführen:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Der php-Befehl ist erforderlich, um dem Computer mitzuteilen, dass Sie dieses PHP-Skript ausführen möchten:sudo composer-setup.php --install-dir=/usr/local/bin --filename=composer

Das Installationsverzeichnis ist der Zielpfad des Composers. In diesem Fall ist es /usr/local/bin. Wenn Sie nicht möchten, dass die Datei für alle Benutzer zugänglich ist, verwenden Sie ./ oder ./. Außerdem muss dieses Verzeichnis über Ausführungsberechtigungen verfügen.

Das Flag --filename ist der Name der Datei, als die Composer installiert wird.

Wenn Sie nicht wissen, wo Sie sie ablegen sollen, können Sie die Datei in ein beliebiges Verzeichnis Ihrer Wahl kopieren oder hinter --filename

angeben

Sobald der Composer installiert ist, überprüfen Sie die installierte Version mit dem folgenden Befehl:

composer --version

Beispielausgabe:

Erstellen Sie als Nächstes ein Verzeichnis für Ihr Craft CMS-Projekt. Wir erstellen ein Verzeichnis namens craft unter /var/www/html/ Verzeichnis. Wir werden dieses Verzeichnis als unseren Webstamm verwenden. Das heißt, auf alle Dateien, die wir erstellen, oder Seiten, die von Craft CMS bereitgestellt werden, wird vom Webstamm aus zugegriffen.

mkdir /var/www/html/craft

Wechseln Sie als Nächstes in das Craft-Verzeichnis und installieren Sie das Craft CMS mit Composer:

cd /var/www/html/craft
composer create-project craftcms/craft

Hinweis :Wenn Sie eine Version von Craft unter 0.97 verwenden, ersetzen Sie create-project durch install.

Warten :Dadurch werden alle vorhandenen Dateien im Verzeichnis überschrieben.

Wenn Sie für Ihr Craft-CMS ein anderes Verzeichnis wünschen, können Sie die Option --prefer-dist.

angeben

Wenn Ihr Hosting-Provider es nicht erlaubt, das Dokumentenstammverzeichnis nach /var/www zu ändern, wird dringend empfohlen, Craft in einem Unterverzeichnis des Webroots zu installieren, wie z

Beispielausgabe:

Sie werden aufgefordert, Datenbankdetails, einen Benutzernamen und ein Passwort für die Verwaltung anzugeben.

Sie müssen einige Benutzeranmeldeinformationen für die MYSQL-Datenbank angeben, damit Craft seine internen Sicherheitsschlüssel einrichten kann! Der Hostname ist 'localhost', der Benutzername ist 'craftuser' und das Passwort ist dasjenige, das Sie gewählt haben, als Sie oben die MySQL-Datenbank erstellt haben.

An diesem Punkt sollte Composer in der Lage sein, Craft in einem Verzeichnis namens craft in Ihrer Webroot-Struktur /var/www zu kompilieren und zu installieren. Standardmäßig ist es nicht über das Internet zugänglich, es sei denn, Sie haben den HTTP-Zugriff aktiviert.

Legen Sie als Nächstes den richtigen Besitz für das neu installierte Craft-Verzeichnis fest:

chown -R www-data:www-data /var/www/html/craft

Konfigurieren von Nginx

Nginx wird verwendet, um Anfragen von Clients zu bedienen, die direkt zu ihm gehen. Es bietet einige zusätzliche Vorteile, wie z. B. die sehr gute Bereitstellung statischer Dateien, das Caching von Seiten und die gzip-Komprimierung dieser Seiten.

sudo nano /etc/nginx/conf.d/craft.conf

Füllen Sie die Datei mit den folgenden Zeilen:

server {
listen 80;
server_name craft.example.com;
root /var/www/html/craft/web;
index index.php;
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.4-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 "";
}
}

Servername:Dies ist der Domänenname oder die IP-Adresse Ihres Servers. Clients verwenden dies, um herauszufinden, von wem sie Dateien anfordern müssen (in unserem Fall craft.example.com).

Documents Root:Hier befinden sich die Core-Assets von Craft CMS, einschließlich Web- und Core-Ordnern, die sich unter /var/www/html/craft befinden. Der hier angezeigte Pfad kann unterschiedlich sein, je nachdem, welche Version von craft Sie verwenden oder ob die Ordnerstruktur geändert wurde.

Try_files $uri $uri/$uri :Für alle Anfragen an einen relativen URI wie http://craft.example.com/index.php wird die Datei index.php zurückgegeben, die sich normalerweise im Dokumentenstamm Ihrer Craft-Installation befindet.

Speicherort ~ [^/]\.php(/|$) :Die Regex für PHP-Dateien bedeutet im Grunde, nach jeder Anfrage zu suchen, die mit .php endet oder mit allem übereinstimmt, außer mit / und $ (es wird rekursiv gesucht).

PHP-FPM-Socket-Speicherort:Dies wird von Craft CMS-Core-Asset-Anfragen verwendet, dieser Wert sollte mit dem Namen Ihrer PHP-FPM-Socket-Datei in Ihrer Master-Konfigurationsdatei /etc/php/7.4{5,6}-fpm.conf

Speichern und schließen Sie die Datei und überprüfen Sie dann, ob sie funktioniert, indem Sie Folgendes ausführen:

sudo nginx -t

Beispielausgabe:

Wenn es keine Fehler gibt, können Sie Nginx mit dem folgenden Befehl neu starten:

sudo systemctl reload nginx

Auf Craft CMS zugreifen

Nachdem die Dateien konfiguriert sind, können wir auf unsere Craft CMS-Installation zugreifen. Richten Sie Ihren Browser auf http://craft.example.com und Sie sollten den Begrüßungsbildschirm sehen:

Klicken Sie auf „Gehe zu Ihrem Steuerungsfeld“, geben Sie die Details Ihres Administrators ein und klicken Sie auf „Anmelden“. Sie sollten das Standard-Dashboard sehen.

Wenn Sie auf eine Meldung mit dem Inhalt „503 Unavailable“ wie diese gestoßen sind:

Stellen Sie sicher, dass Sie die neuesten Craft-, Craft-Design- und Craft-Plugin-Updates haben. Wenn das nicht hilft, versuchen Sie die nächsten Schritte:Stellen Sie sicher, dass die Ordnerberechtigungen von Craft korrekt sind, wie in diesem Artikel beschrieben. Diese Dateien sollten root gehören und craft sollte keine Schreibberechtigung für einen seiner Ordner haben.

Schlussfolgerung

Glückwunsch! Jetzt haben Sie CraftCMS erfolgreich auf Ubuntu 20.04 installiert. Lassen Sie uns ein paar Websites erstellen! Zögern Sie wie immer nicht, unten Kommentare oder Vorschläge zu hinterlassen.


Ubuntu
  1. So installieren Sie WordPress mit Nginx unter Ubuntu 18.04

  2. So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04

  3. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  4. So installieren Sie Grav CMS mit Nginx unter Ubuntu 16.04

  5. So installieren Sie SuiteCRM mit Nginx unter Ubuntu 16.04

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04

So installieren Sie Grav CMS mit Nginx unter Ubuntu 20.04

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie Craft CMS auf Ubuntu 18.04 LTS

So installieren Sie Craft CMS auf Ubuntu 20.04 LTS

So installieren Sie Bludit CMS mit NGINX unter Ubuntu 20.04