Bolt ist ein kostenloses, leichtgewichtiges und einfaches Open-Source-Content-Management-System, das auf PHP basiert. Es ist auf Benutzerfreundlichkeit ausgelegt und hilft Ihnen, leistungsstarke und dynamische Content-Websites einfach zu erstellen. Es basiert auf dem Silex-Microframework und ist eine großartige Alternative für diejenigen, die ein modernes PHP-System suchen. Es wird mithilfe moderner Open-Source-Bibliotheken erstellt und eignet sich am besten zum Erstellen von Websites in HTML5 mit modernem Markup.
In diesem Tutorial zeigen wir Ihnen, wie Sie Bolt CMS mit Nginx und Let’s Encrypt SSL unter Ubuntu 20.04 installieren.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, wird immer empfohlen, Ihr System mit der neuesten Paketversion zu aktualisieren. Sie können es mit dem folgenden Befehl aktualisieren:
apt-get update -y
Nachdem alle Pakete aktualisiert wurden, installieren Sie andere Abhängigkeiten, indem Sie den folgenden Befehl ausführen:
apt-get install software-properties-common gnupg2 unzip git -y
Nachdem Sie alle Abhängigkeiten installiert haben, können Sie mit dem nächsten Schritt fortfahren.
LEMP-Server installieren
Installieren Sie zuerst Nginx und den MariaDB-Server, indem Sie den folgenden Befehl ausführen:
apt-get install nginx mariadb-server -y
Als nächstes müssen Sie die PHP-Version 7.2 auf Ihrem Server installieren. Standardmäßig wird Ubuntu 20.04 mit PHP Version 7.4 ausgeliefert. Sie müssen also das Ondrej-PHP-Repository zu Ihrem System hinzufügen.
Sie können das PHP-Repository mit dem folgenden Befehl hinzufügen:
add-apt-repository ppa:ondrej/php
Sobald das Repository hinzugefügt wurde, aktualisieren Sie das Repository und installieren Sie PHP und andere erforderliche Erweiterungen mit dem folgenden Befehl:
apt-get update -y
apt-get install 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 -y
Once all the packages are installed, you can proceed to the next step.
Erstellen Sie eine Datenbank für Bolt
Als Nächstes müssen Sie eine Datenbank und einen Benutzer für Bolt erstellen. Melden Sie sich zunächst mit dem folgenden Befehl bei der MariaDB an:
mysql
Erstellen Sie nach der Anmeldung eine Datenbank und einen Benutzer mit dem folgenden Befehl:
MariaDB [(none)]> CREATE DATABASE boltdb;
MariaDB [(none)]> CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'password';
Gewähren Sie als Nächstes mit dem folgenden Befehl alle Berechtigungen für die Bolt-Datenbank:
MariaDB [(none)]> GRANT ALL ON boltdb.* TO 'bolt'@'localhost';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Laden Sie Bolt CMS herunter
Zuerst müssen Sie die neueste Version von Bolt CMS aus dem Git-Repository herunterladen. Sie können es in das Nginx-Stammverzeichnis herunterladen, indem Sie den folgenden Befehl ausführen:
cd /var/www/html
git clone https://github.com/bolt/bolt.git
Wechseln Sie nach dem Herunterladen von Bolt in das Verzeichnisbolt und kopieren Sie die Beispielkonfigurationsdatei:
cd bolt
cp app/config/config.yml.dist app/config/config.yml
Bearbeiten Sie als Nächstes die Datei config.yml und definieren Sie Ihre Datenbankeinstellungen:
nano app/config/config.yml
Entfernen Sie die standardmäßige SQLite-Datenbankzeile und fügen Sie die folgenden Zeilen hinzu:
database: driver: mysql username: bolt password: password databasename: boltdb host: localhost prefix: prefix_
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Als nächstes müssen Sie den Composer in Ihrem System installieren. Composer ist ein Abhängigkeitsmanager für PHP. Sie können es mit dem folgenden Befehl installieren:
wget -O composer-setup.php https://getcomposer.org/installer
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Sobald der Composer installiert ist, sollten Sie die folgende Ausgabe erhalten:
All settings correct for using Composer Downloading... Composer (version 2.0.2) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Installieren Sie als Nächstes die erforderlichen PHP-Abhängigkeiten für Bolt CMS mit dem folgenden Befehl:
composer install
Sobald alle Abhängigkeiten installiert sind, ändern Sie den Besitz und die Berechtigungen des fettgedruckten Verzeichnisses:
chown -R www-data:www-data /var/www/html/bolt
chmod -R 755 /var/www/html/bolt
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Nginx für Bolt konfigurieren
Als Nächstes müssen Sie eine virtuelle Nginx-Host-Konfigurationsdatei für Bolt CMS erstellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/nginx/sites-available/bolt.conf
Fügen Sie die folgenden Zeilen hinzu:
server { listen 80; root /var/www/html/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; } }
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und aktivieren Sie dann die virtuelle Nginx-Hostdatei mit dem folgenden Befehl:
ln -s /etc/nginx/sites-available/bolt.conf /etc/nginx/sites-enabled/bolt.conf
Überprüfen Sie als Nächstes Nginx mit dem folgenden Befehl auf Konfigurationsfehler:
nginx -t
Sie sollten die folgende Ausgabe sehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
Zu diesem Zeitpunkt ist Nginx so konfiguriert, dass es Bolt CMS bedient. Sie können jetzt mit dem nächsten Schritt fortfahren.
Greifen Sie auf Bolt CMS zu
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://bolt.example.com ein . Sie werden auf die folgende Seite weitergeleitet:
Geben Sie Ihren gewünschten Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein und klicken Sie auf Ersten Benutzer erstellen Taste. Sie sollten das Bolt CMS-Dashboard auf der folgenden Seite sehen:
Klicken Sie nun auf Ansicht Website Taste. Auf der folgenden Seite sollte die Seite mit der einfachen Website von Bolt CMS angezeigt werden:
Sichern Sie BoltCMS mit Let's Encrypt SSL
Es ist immer eine gute Idee, Ihre Website mit Let's Encrypt SSL zu sichern. Installieren Sie zuerst den Certbot Let's Encrypt-Client auf Ihrem Server mit dem folgenden Befehl:
apt-get install python3-certbot-nginx -y
Sichern Sie nach der Installation Ihre Website mit Let's Encrypt SSL, indem Sie den folgenden Befehl ausführen:
certbot --nginx -d bolt.example.com
Sie werden aufgefordert, eine gültige E-Mail-Adresse anzugeben und die unten aufgeführten Nutzungsbedingungen zu akzeptieren:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for bolt.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/bolt.conf
Wählen Sie als Nächstes aus, ob HTTP-Datenverkehr wie unten gezeigt an HTTPS umgeleitet werden soll:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Geben Sie 2 ein und drücken Sie die Eingabetaste, um die Installation abzuschließen. Sie sollten die folgende Ausgabe sehen:
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/bolt.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://bolt.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=bolt.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/bolt.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/bolt.example.com/privkey.pem Your cert will expire on 2020-10-30. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.besuchen
Jetzt ist Ihre BoltCMS-Website mit Let's Encrypt SSL gesichert. Sie können sicher über die URL https://bolt.example.com darauf zugreifen
Schlussfolgerung
Herzlichen Glückwunsch! Sie haben Bolt CMS mit Nginx und Let’s Encrypt SSL erfolgreich auf dem Ubuntu 20.04-Server installiert. Mit dem Bolt-Dashboard können Sie jetzt ganz einfach Ihre eigene Website erstellen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.