Wie man BoltWire CMS mit Nginx auf Ubuntu 20.04 LTS installiert

Bolt ist ein leichtgewichtiges Content Management System (CMS), das auf dem beliebten PHP-Framework aufbaut. Das CMS ist perfekt für ein kleines Unternehmen, das seine eigene Website pflegen möchte, ohne sich Gedanken darüber machen zu müssen, HTML und andere Programmiersprachen zu lernen. Es bietet fortgeschrittene Funktionen wie robuste Wiki-Auszeichnungen, E-Commerce, eine Fotogalerie und einen Album-Builder, eine Audiogalerie und einen Player sowie Gästebücher.

Boltwire zeichnet sich dadurch aus, dass es für Einzelpersonen und Gruppen jeder Größe, die einen Bedarf an einem CMS haben, komplett kostenlos ist. Joe Casabona ist der Schöpfer von Boltwire und er teilt seine Leidenschaft, indem er anderen hilft, das Beste aus seinem Open-Source-Projekt herauszuholen. Bolt wird in über 200 Ländern verwendet, um über 500.000 Webseiten zu verwalten. Seine Entwickler sind Freiwillige und erwarten, dass alle Nutzer sich an dem Projekt beteiligen, indem sie Feedback geben und zur Entwicklung beitragen.

Bolt hat einige einzigartige Features:

  • Dynamische Seitengenerierung: Eine Seite kann basierend auf den Daten, die beim Abrufen aus der Datenbank gefunden werden, zusammengestellt werden. Wenn ein Nutzer zum Beispiel einen neuen Eintrag in ein Online-Tagebuch schreibt, können andere Einträge seines Blogs dynamisch hinzugefügt werden, ohne dass die gesamte Webseite aktualisiert werden muss. Dies ermöglicht schnellere Ladezeiten, insbesondere bei großen Mengen an Seiten oder Medienelementen pro Kategorie (z.B. alle Fotos in einer Fotogalerie).
  • Content Management und Administration: Mehrere Benutzer können die Inhalte verwalten, um sicherzustellen, dass jeder Benutzer nur bestimmte Teile der Seiten ändern kann. Sie können auch eingeschränkt werden, was sie sehen oder bearbeiten dürfen. Zum Beispiel ist es den meisten Leuten nicht erlaubt, neue Artikel zu schreiben oder Kommentare frei hinzuzufügen; dies ist den Administratoren der Seite vorbehalten. Die Leser können trotzdem jeden Artikel sehen, ohne sich vorher einzuloggen, es sei denn, der Administrator hat etwas anderes festgelegt.
  • Benutzerfreundlichkeit: Bolt reduziert den Aufwand für die Erstellung von Webseiten im Vergleich zu anderen CMS wie Joomla und Drupal erheblich. Die in Bolt eingebauten Assistenten automatisieren einen Großteil des Konfigurationsprozesses, sodass du dir keine Gedanken darüber machen musst, wie die Dinge unter der Haube funktionieren.
  • Einfache Erweiterbarkeit: Da Bolt Open Source ist, ist es einfach, neue Module zu erstellen, die Bolt erweitern oder neue Funktionen hinzufügen. Neue Funktionen werden oft in die Kernsoftware integriert, wodurch sie noch einfacher zu nutzen sind. Mit etwa 40 Erweiterungen, die derzeit auf Modboom verfügbar sind, kannst du jeden Teil von Bolt einfach erweitern, ohne dich zu tief in die PHP-Programmierung einarbeiten zu müssen.
  • BoltWire gibt es in mehreren Sprachen: Englisch (Standard), Deutsch, Italienisch, Japanisch, Polnisch, Portugiesisch und Spanisch. Neben den Standard BoltWire-Paketen für die oben genannten Sprachen ist auch eine vollständige Lokalisierung in Französisch (100%) und Niederländisch (mehr als 50%) verfügbar.

Der Nachteil ist, dass es abgesehen von den Hilfeforen wenig Support gibt, wenn du Fragen hast, wie die Dinge unter der Haube in deiner Landessprache funktionieren. In dieser Hinsicht ist es deine eigene Verantwortung, die Dinge so zum Laufen zu bringen, wie du sie gerne hättest. Wenn du jedoch gut mit einem Texteditor umgehen kannst und die Zeit hast, selbst an Bolt zu arbeiten, dann steht dir nichts im Wege, um in wenigen Minuten eine einfache, aber professionell aussehende Webseite zu erstellen.

In dieser Anleitung werden wir lernen, wie man BoltWire auf einem Ubuntu 20.04 Server installiert.

Voraussetzungen

  • Ein frischer Server mit Ubuntu 20.04.
  • Voller SSH Root-Zugang oder Benutzer mit sudo-Rechten.
  • Ein Domainname ist registriert und verweist auf deinen Server.

Erste Schritte

Als erstes logge dich mit SSH in dein Ubuntu ein.

ssh root@IP_Adresse -p Port_Anzahl

root ist der Standardbenutzer auf Ubuntu, ersetze ‚root‘ durch den Namen deines eigenen Benutzers, wenn du einen anderen verwendest.

IP_Address ist die Adresse deines Servers. Du kannst dies überprüfen, indem du

hostname -I auf der Kommandozeile. Port_number muss für SSH 22 sein.

hostname -I

das ‚-p‘ weist ssh an, den angegebenen Port zu verwenden. Wenn du keine Portnummer angibst, wird 22 verwendet.

Wenn du hinter einer Firewall bist, könnte Port 22 blockiert sein. In diesem Fall ändere Port_number in etwas anderes wie 2222.

Dein System aktualisieren

Du kannst mit dem folgenden Befehl überprüfen, ob auf deinem System die richtige Ubuntu Version installiert ist:

sudo lsb_release -a

Beispielhafte Ausgabe:

Ubuntu Version prüfen

Es ist immer ratsam, das System vor der Installation von Paketen zu aktualisieren.

sudo apt-get update && apt-get upgrade -y

-y ist ein Befehl, der alle Fragen während des Aktualisierungsprozesses automatisch mit ‚Ja‘ beantwortet. apt-get update aktualisiert die Paketlisten und apt-get upgrade aktualisiert dein System.

Beispielhafte Ausgabe:

Pakete aktualisieren

Die Aktualisierung kann einige Zeit in Anspruch nehmen, je nachdem wie viele Pakete heruntergeladen und installiert werden müssen. Sobald die Aktualisierung abgeschlossen ist, wirst du aufgefordert, deinen Server neu zu starten. Führe den folgenden Befehl aus, um dein System nach dem Update neu zu starten:

sudo reboot

Installation der benötigten Pakete

Die Installation von Bolt erfordert eine Reihe von Paketen, die auf deinem System installiert werden müssen. Einige der Pakete werden in einer bestimmten Reihenfolge installiert. In diesem Fall werden wir alle Pakete, die für die Installation von Bolt benötigt werden, mit dem unten stehenden Befehl installieren:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

socat ist für das Proxying, welches Bolt so aussehen lässt, als würde es auf dem Webserver laufen.

apt-transport-https erlaubt Kommandozeilenoperationen wie sudo apt update mit https-Verbindungen zu arbeiten. bash-completion ist ein Programm, das es der Bash ermöglicht, Befehle nach der Eingabe der ersten paar Zeichen automatisch zu vervollständigen.

curl wird zum Herunterladen von Paketen verwendet und wget wird benutzt, um Dateien wie die neueste Version von Bolt von der Webseite herunterzuladen.

Beispielhafte Ausgabe:

Voraussetzungen installieren

Nginx installieren

Nginx wird als Reverse Proxy für die Verwaltung deiner Webseiten in Bolt verwendet. Die Software ist leichtgewichtig, einfach zu konfigurieren und schnell. Führe den folgenden Befehl aus, um Nginx zu installieren

sudo apt-get install nginx

Gib ‚y‘ ein, wenn du dazu aufgefordert wirst, der Installationsprozess wird automatisch gestartet.

Beispielhafte Ausgabe:

Nginx installieren

Sobald die Installation abgeschlossen ist, starte den Nginx-Dienst und aktiviere ihn beim Systemstart

sudo systemctl start nginx
sudo systemctl enable nginx

Um zu überprüfen, ob Nginx gerade läuft oder nicht, verwende diesen Befehl im Terminal.

sudo systemctl status nginx

Beispielhafte Ausgabe:

Nginx läuft

Nginx konfigurieren

BoltWire CMS ist im Verzeichnis /var/www/ installiert. Um auf das BoltWire CMS zuzugreifen und es zu testen, müssen wir den Nginx Serverblock so konfigurieren, dass er Anfragen für alle statischen Inhaltsanfragen sowie Anfragen für Module und Plugins automatisch an den Webroot-Ordnerpfad /var/www/ weiterleitet.

Führe die folgenden Befehle aus, um eine neue Konfigurationsdatei namens bolt.conf zu erstellen

sudo nano /etc/nginx/sites-available/bolt.conf

Befülle die Konfigurationsdatei mit dem folgenden Inhalt:

server {
  listen 80; 
  listen [::]:80; 
  root /var/www/bolt; 
  index index.php index.html index.htm; 
  server_name bolt.example.com;

location / {
try_files      $uri $uri/ /index.php?$query_string;
}

location ~ [^/]\.php(/|$) {
try_files      /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index      index.php;
fastcgi_pass       unix:/var/run/php/php7.2-fpm.sock;
include         fastcgi_params;
fastcgi_param  PATH_INFO    $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location = /bolt {
try_files        $uri /index.php?$query_string;
}

location ^~ /bolt/ {
try_files         $uri /index.php?$query_string;
}

}

Der Nginx Serverblock, den wir gerade erstellt haben, verwendet das Standarddokumentenstammverzeichnis, das auf /var/www/ gesetzt ist. Wenn du BoltWire CMS in einer anderen Serverumgebung betreibst, bearbeite die conf-Datei und ersetze den Pfad des Document Root entsprechend.

Die server_name Direktive konfiguriert die URL, auf die dein Nginx Webserver hören wird. Ersetze bolt.example.com mit deinem tatsächlichen Server-Domainnamen oder deiner IP-Adresse.

try_files $uri $uri/ /index.php?$query_string; Diese Direktive erlaubt es dir, Dateipfad-Anfragen direkt zu behandeln, wenn sie gefunden werden. Wenn zum Beispiel ein Benutzer versucht, die Homepage von BoltWire CMS vom Browser aus aufzurufen, wird /index.php als Indexdatei verwendet, wenn sie existiert, andernfalls wird der PHP-FPM eine 404 Not Found Antwort zurückgeben.

Nachdem du die Änderungen vorgenommen und in der Datei bolt.conf gespeichert hast, musst du Nginx neu laden und neu starten, damit die neue Konfiguration wirksam wird.

sudo systemctl reload nginx
sudo systemctl restart nginx

Überprüfe die Nginx-Konfiguration, indem du die folgenden Befehle ausführst:

sudo nginx -t

Beispielhafte Ausgabe:

Nginx Konfiguration prüfen

Installation von MySQL

BoltWire CMS benötigt mindestens die Version 4.2 des MySQL Servers, aber BoltWire CMS funktioniert nicht mit 5.x+.

Du hast also mehrere Möglichkeiten: Einen entfernten Datenbankserver wie Microsoft SQL Server verwenden MySQL auf allen Webserver-Maschinen implementieren (nicht empfohlen) Die Version von MySQL aktualisieren. Die ersten Optionen sind ziemlich einfach, aber die Art des Upgrades ist komplex.

Diejenigen, die einen LAMP-Stack (Linux, Apache, MySQL und PHP) verwenden, müssen MySQL nicht separat installieren, da Ubuntu den MySQL-Server bereits in seinem Repository enthält.

Führe den untenstehenden Befehl aus, um MySQL zu installieren:

sudo apt -y install mysql-server

Beispielhafte Ausgabe:

MySQL installieren

Sobald die Installation abgeschlossen ist, führe den folgenden Befehl aus, um den MySQL-Daemon (MySQL-Server) für diese Sitzung zu starten und ihn beim Systemstart zu aktivieren:

sudo systemctl start mysql
sudo systemctl enable mysql

Erstellen einer Datenbank

Wir werden die Kommandozeile verwenden, um eine Datenbank namens bolt zu erstellen.

Verbinde dich mit mysql, um eine Datenbank zu erstellen, indem du den unten stehenden Befehl ausführst:

sudo mysql -u root -p

Gib das root-Passwort für mysql ein. Nun bist du in der mysql Konsole eingeloggt. Um eine Datenbank und einen Datenbankbenutzer zu erstellen, führe den folgenden Befehl aus:

CREATE DATABASE bolt;
CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL ON bolt.* TO 'bolt'@'localhost';
FLUSH PRIVILEGES;
exit

CREATE USER ‚bolt’@’localhost‘ IDENTIFIED BY ‚mypassword‘ wird einen Benutzer ‚bolt‘ erstellen, dessen Passwort ‚mypassword‘ ist. Verwende hier ein sicheres Passwort anstelle des Wortes ‚mypassword‘! Flush Privilegien wird die oben erstellte Tabelle mit den gewährten Privilegien neu laden.

PHP-Installation

BoltWire CMS benötigt PHP Version 7 oder höher und dessen Entwicklungsheader. Wir fügen das ppa:ondrej/php PPA mit der erforderlichen PHP Version (7.2) hinzu, du kannst dies aber auch selbst auf deine benötigte PHP Version ändern. Wir führen die folgenden Befehle aus, um das ppa hinzuzufügen und apt-get zu aktualisieren

sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

Führe den folgenden Befehl aus, um PHP 7.2 zu installieren:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-gd php7.2-mysql php7.2-intl php7.2-json php7.2-opcache php7.2-xml

php7.2-cli ist die Kommandozeilenschnittstelle für PHP7.2 und mit php7.2-common werden die php7.2-Extensions, das Webserver (PHP)-Modul und die Standard-CLI-Erweiterungen installiert. Mit php7.2 -fpm wird der FastCGI Process Manager installiert, eine gängige Methode, um PHP-Anwendungen von deinem Webserver aus zu starten. php7.2-mbstring installiert die Multibyte-String-Funktionen, die für BoltWire CMS benötigt werden. php7.2-opcache installiert den Opcode-Cache für PHP7.2, der für eine bessere Performance sorgt und die Last auf deinem Webserver reduziert, indem er die einkompilierten Skripte zwischenspeichert. php7.2-xml installiert die XML-Verarbeitungserweiterungen für PHP7.2, die für die Nutzung von BoltWire CMS benötigt werden.

Beispielhafte Ausgabe:

PHP installieren

Nachdem du PHP 7.2 installiert hast, führe die folgenden Befehle aus, um deine PHP7.2 Version zu überprüfen:

php -v

Beispielhafte Ausgabe:

PHP Version prüfen

Als nächstes öffnest du die PHP-Standardkonfigurationsdatei für Nginx mit dem Texteditor nano:

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

Nun werden wir die Änderungen in den folgenden Zeilen vornehmen:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/St. Louis
  • file_uploads = On aktiviert die Funktion zum Hochladen von Dateien im BoltWire CMS.
  • allow_url_fopen = On erlaubt direkte URLs oder HTTP Redirect bei Anfragen mit hochgeladenen Dateien vom Remote Webserver.
  • memory_limit = 256M ist das PHP 7.2 Speicherlimit in MB, das für Nginx Worker Prozesse gesetzt werden muss, die Ausführung eines PHP Skripts mit hohem Speicherverbrauch kann einen php Laufzeitfehler verursachen.
  • upload_max_filesize = 100M ist die maximale Größe für eine einzelne Upload-Datei auf die BoltWire CMS Seite, wenn du eine unbegrenzte Dateigröße hochladen möchtest, ändere diesen Wert bitte auf 0.
  • max_execution_time = 360 ist die maximale Ausführungszeit in Sekunden für ein PHP-Skript, wenn ein Skript diesen Wert überschreitet, wird es beendet.
  • date.timezone = America/St. Louis, die Zeitzone deines Standortes, um die Datums- und Zeitwerte der Kunden im BoltWire CMS System korrekt anzuzeigen.

Starte php7.2-fpm neu, um die obigen Änderungen in Kraft zu setzen:

sudo service php7.2-fpm restart

Dies sollte für das benötigte PHP7.2 und die dazugehörigen Pakete ausreichen, gehen wir zum nächsten Schritt über.

Composer installieren

BoltWire CMS benötigt Composer, um die benötigten externen Bibliotheken in die Website einzubinden, daher müssen wir diesen zuerst installieren, bevor wir mit diesem Tutorial fortfahren. Composer ist ein Paketmanager für PHP, der Abhängigkeiten von PHP-Projekten verwaltet. Er ist ähnlich wie npm von NodeJS oder Ruby Gems.

Zuerst wechseln wir in das Home-Verzeichnis und laden den Installer herunter :

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

Mit dem folgenden Befehl wird Composer installiert:

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

Der obige Befehl wird Composer als systemweites Binary in das Verzeichnis /usr/local/bin herunterladen und installieren.

Du kannst Composer auch nur für deinen Benutzer konfigurieren, indem du den /usr/local/bin Teil des Befehls durch ~/user_ ersetzst.

Nachdem die Installation abgeschlossen ist, kannst du den folgenden Befehl ausführen, um zu testen, ob die Installation erfolgreich war.

composer

Beispielhafte Ausgabe:

PHP-Komponist

Installation von Bolt

Nachdem nun alle benötigten Pakete installiert sind, können wir uns an die Installation von Bolt machen.

Zuerst wechseln wir in das Verzeichnis /var/www/ und laden die neueste Version von Bolt CMS von GitHub mit dem folgenden Befehl herunter:

cd /var/www/
sudo git clone https://github.com/bolt/bolt.git

Beispielhafte Ausgabe:

Bolt von Github herunterladen

Nach dem Download solltest du ein Verzeichnis namens bolt mit einer einzigen Datei namens „composer.json“ sehen, welche die Konfigurationsdatei für Bolt CMS ist.

Nun wechseln wir in das bolt Verzeichnis und installieren Bolt von dort aus:

cd bolt
sudo composer install

Dieser Befehl installiert alle benötigten Bolt Quelldateien und Abhängigkeiten in /var/www/bolt mit Hilfe des Composer Paketmanagers.

Beispielhafte Ausgabe:

Bolt mit Composer installieren

Der nächste Schritt ist die Ausführung des folgenden Befehls, um das Bolt-Arbeitsverzeichnis zu setzen:

sudo chown -R www-data:www-data /var/www/bolt
sudo chmod -R 755 /var/www/bolt

Der obige Befehl wird die Eigentümerschaft der Bolt-Dateien auf den Nginx-Benutzer www-data ändern, so dass er die Datei lesen und schreiben kann, wenn auf die Bolt-URL zugegriffen wird.

Der nächste Schritt ist die Konfiguration der Bolt Konfigurationsdatei:

sudo cp app/config/config.yml.dist app/config/config.yml

Zugriff auf das BoltWire CMS

Jetzt sollten wir in der Lage sein, auf das BoltWire CMS zuzugreifen, indem wir die folgende URL von einem Browser auf einem Linux- oder Windows-Computer verwenden:

http://localhost:8000/bolt oder http://bolt.example.com/bolt

Du solltest eine Standard BoltWire CMS Landing Page wie die untenstehende erhalten:

Shop CMS

Fülle alle erforderlichen Informationen aus und du kannst auf dein BoltWire Dasboard zugreifen, wie unten abgebildet:

Bolt CMS Dashboard

Jetzt haben wir erfolgreich einen Linux Server für BoltWire CMS konfiguriert.

Wenn du ein Problem hast, wenn du versuchst, auf dein neu installiertes BoltWire CMS zuzugreifen. Hier ist eine Liste mit den häufigsten Fehlern und deren möglichen Lösungen:

  • Access Denied – Fehler„. Dies bedeutet, dass BoltWire CMS läuft, aber du kannst die Seiten nicht vom Browser aus aufrufen, versuche dein Nginx Konfigurationsverzeichnis zu überprüfen.
  • Dynamische Bibliothek kann nicht geladen werden ‚/var/www/BoltWire/vendor/php72-zip/libphp7. 2.so“ oder „Error Executing The Script“. Dies bedeutet, dass das BoltWire CMS-Verzeichnis nicht die erforderlichen Berechtigungen hat, um die PHP-Datei auszuführen und zu starten.
  • Fehler beim Initialisieren … No such file or directory„. Dies bedeutet, dass BoltWire CMS nicht richtig installiert ist. Du musst überprüfen, ob du die richtige Prozedur für die Installation von BoltWire CMS befolgt hast.
  • Erlaubnis verweigert„. Dies bedeutet, dass du keinen richtigen Zugriff auf das Verzeichnis /var/www/bolt oder /var/www hast.
  • Fataler Fehler: Klasse ‚PDO‘ nicht gefunden in…„. Dies bedeutet, dass PHP sich nicht mit der Datenbank verbinden kann und du deine PHP-Konfiguration überprüfen musst.
  • Suche nach … “ oder „Warning: Invalid argument supplied for foreach()…“. Dies bedeutet, dass das BoltWire CMS nicht finden kann, was du ihm gegeben hast. Normalerweise wird dies durch die Unkenntnis des Blognamens und des Slugs oder Pfades in deiner Konfiguration verursacht.
  • Unable to create directory … Undefinierter Index: betrachtete Daten„. Dies bedeutet, dass das BoltWire CMS sein Verzeichnis in deinem Nginx-Server nicht erstellen kann und du eventuell die PHP-Konfiguration überprüfen musst.
  • Parse-Fehler: Syntaxfehler, unerwartetes ‚=‘ in … bei …„. Dies bedeutet, dass das BoltWire CMS seine Datei nicht ausführen kann oder eine deiner Dateien nicht lesen kann. Dies kann passieren, wenn du eine falsche Syntax in deiner Konfiguration verwendet hast.
  • 404 nicht gefunden nginx/1.14.0 (ubuntu)“ Das Hinzufügen eines ‚A‘-Records für bolt.example.com gegenüber deinem Server sollte helfen.
  • 404 Not Found“ oder „Die angeforderte URL … wurde auf diesem Server nicht gefunden„. Dies bedeutet, dass BoltWire CMS seine Dateien nicht finden konnte. Möglicherweise musst du deine BoltWire Konfiguration überprüfen und sicherstellen, dass du den richtigen Pfad darin angegeben hast.

BoltWire ist installiert, aber es gibt keine Seiten oder die BoltWire Login-Seite wird angezeigt, wenn das BoltWire CMS installiert ist, dann sucht Bolt nach einem Standard-BoltWire-Template im Ordner /var/www/bolt/_templates innerhalb des Bolt-Installationsverzeichnisses und wenn es dort keine Datei findet, dann wird Bolt eine index.php-Datei im Bolt-Installationsverzeichnis als Startseite verwenden. Wenn auch das nicht funktioniert, dann könnte etwas anderes mit deiner PHP-Konfiguration oder Nginx-Konfiguration nicht stimmen.

Fazit

BoltWire CMS ist ein großartiges Stück Software, um einen Blog oder eine persönliche Website zu betreiben. Du kannst mehr über Bolt CMS auf der offiziellen Seite von BoltWire CMS erfahren.

Hoffentlich hat dir dieser Artikel geholfen zu lernen, wie man BoltWire auf einem Ubuntu 20.04 Server installiert. Wenn du diesen Artikel magst, dann teile ihn bitte mit deinen Freunden auf Twitter oder Facebook. Wenn du irgendwelche Fragen hast, dann hinterlasse bitte einen Kommentar unten.

Das könnte dich auch interessieren …