So installierst du Bagisto eCommerce unter Debian 11

Bagisto ist eine kostenlose und quelloffene E-Commerce-Software, die im Laravel-PHP-Framework geschrieben wurde und Vue.js – ein progressives JavaScript-Framework – verwendet. Bagisto ist ein maßgeschneidertes eCommerce-System, mit dem du deinen Online-Shop in kürzester Zeit aufbauen kannst. Es ist schnell, reaktionsschnell, hat ein schönes Frontend und ist einfach zu bedienen. Bagisto ist ein eCommerce-Framework, das mehrere Gebietsschemata für verschiedene Sprachen und Währungen bietet, mehrere Shop-Themen unterstützt und auch ein Multistore-Inventarsystem bereitstellt.

In diesem Tutorium zeigen wir dir, wie du Bagisto eCommerce auf Debian 11 Bullseye installierst. Wir werden PHP-FPM, den Webserver Nginx und die Datenbank MariaDB verwenden.

Voraussetzungen

  • Die neueste Version von Debian 11 Bullseye.
  • Ein Benutzer mit root/sudo-Rechten.
  • Ein Domainname, der auf die IP-Adresse deines Servers zeigt.

Installation des LEMP-Stacks

Als erstes installierst du den LEMP Stack auf deinem Debian-Server. Die aktuelle Version von Bagisto eCommerce benötigt PHP 7.4 oder höher, MariaDB 10.2.17 oder höher und den Webserver Nginx.

Bevor du mit der Installation der Pakete beginnst, aktualisiere dein Repository mit dem folgenden Befehl.

sudo apt update

Installiere nun PHP-FPM, den Nginx-Webserver und die MariaDB-Datenbank mit dem unten stehenden apt-Befehl.

sudo apt install nginx-full mariadb-server php-fpm php-cli php-common php-zip php-mysql php-gd php-intl php-curl php-imap php-mbstring php-xml php-json libpcre3 git unzip -y

Nachdem die Installation aller Pakete abgeschlossen ist, bearbeite die PHP-Konfiguration„php.ini“ mit dem Editor nano.

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

Ändere nun die folgende Option mit deiner aktuellen Umgebung ab.

memory_limit = 512M
max_execution_time = 360
date.timezone = America/Toronto

Starte anschließend den PHP-FPM-Dienst neu, um die neue Konfiguration zu übernehmen.

sudo systemctl restart php7.4-fpm

Damit hast du die Grundinstallation des LEMP-Stacks abgeschlossen, der für Bagisto eCommerce verwendet wird.

MariaDB Root-Passwort einrichten

Nachdem du den LAMP-Stack auf deinem Debian-Server installiert hast, musst du das Root-Passwort für die MariaDB-Datenbank einrichten. Es wird empfohlen, das Root-Passwort für MariaDB mit dem Kommandozeilen-Tool„mysql_secure_installation“ einzurichten.

Führe den Befehl„mysql_secure_installation“ wie folgt aus.

mysql_secure_installation

Nun wirst du nach einigen Fragen gefragt:

  • Drücke ENTER, um das Root-Passwort für MariaDB einzurichten.
  • Gib„Y“ ein, um die Authentifizierung des Root-Benutzers mit der Methode„unix_socket_authentication“ zu aktivieren.
  • Gib„Y“ ein, um das MariaDB-Root-Passwort einzurichten, gib dann dein Passwort ein und wiederhole es.

MariaDB root Passwort ändern

  • Gib„Y“ ein, um den anonymen MariaDB-Benutzer zu entfernen.
  • GibY“ ein, um die Fernanmeldung für den Root-Benutzer zu deaktivieren.
  • Tippe erneut„Y“ ein, um die Standarddatenbank„test“ mit allen Berechtigungen zu entfernen.
  • GibY“ ein, um alle Tabellenrechte neu zu laden und neue Änderungen anzuwenden.

Absicherung der MariaDB-Bereitstellung

Damit hast du die grundlegende sichere Einrichtung der MariaDB-Datenbank abgeschlossen.

Einrichten einer neuen Datenbank und eines neuen Benutzers für Bagiosto

Nachdem du die MariaDB-Datenbank konfiguriert hast, erstellst du nun eine neue Datenbank und einen neuen Benutzer für Bagisto eCommerce. Um eine neue Datenbank und einen neuen Benutzer anzulegen, musst du dich in der MariaDB-Shell anmelden.

Melde dich mit folgendem Befehl in der MariaDB-Shell als Benutzer „root“ an.

mysql -u root -p

Führe nun die folgende Abfrage aus, um eine neue Datenbank„basgisto“ und den Benutzer„bagistouser“ mit dem Passwort„BagistoPassword“ zu erstellen.

CREATE DATABASE bagisto;
CREATE USER [email protected] IDENTIFIED BY 'BagistoPassword';

Als Nächstes erlaubst du dem Datenbankbenutzer„bagistouser„, auf die Datenbank„bagisto“ zuzugreifen und zu schreiben, und lädst dann alle Tabellenrechte neu. Dies ist notwendig, um die neuen Änderungen an den MariaDB-Berechtigungen anzuwenden.

GRANT ALL ON bagisto.* TO [email protected] WITH GRANT OPTION;
FLUSH PRIVILEGES;

Gib nun„exit“ ein, um dich von der MariaDB Shell abzumelden. Damit hast du eine neue Datenbank und einen neuen Benutzer für die Installation von Bagisto erstellt.

Neue Datenbank und Benutzer Bagisto erstellen

Installation des Composer Tools

In diesem Schritt installierst du den Composer auf deinem Debian-System. Der Composer wird für die Installation von Bagisto eCommerce benötigt.

Führe die unten stehenden„php„-Befehle aus, um das Installationsskript für den Composer herunterzuladen. Mit diesem Befehl wird das Installationsskript außerdem überprüft. Vergewissere dich, dass du die Meldung „Installer verified“ auf deinem Bildschirm siehst.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Composer-Installer herunterladen und verifizieren

Führe nun das Installationsskript„composer-setup.php“ aus, um den Composer zu installieren, und entferne dann das Skript„composer-setup.php„.

php composer-setup.php
php -r "unlink('composer-setup.php');"

Das Installationsskript wird die Binärdatei„composer.phar“ herunterladen. Verschiebe die Datei„composer.phar“ nach„/usr/local/bin/composer“ und benenne sie um.

sudo mv composer.phar /usr/local/bin/composer

Installation des Composer Tools

Um die Composer-Installation zu überprüfen, führe den unten stehenden Befehl„composer“ aus.

sudo -u www-data composer --version

Du erhältst die Ausgabeversion des Composers, wie im Screenshot unten zu sehen.

Überprüfe die Composer-Version

Nachdem du den Composer auf deinem Server installiert hast, kannst du Bagisto eCommerce mit dem Composer installieren.

Installation von Bagisto eCommerce mit dem Composer

In diesem Schritt wirst du Bagisto eCommerce manuell über den Composer installieren.

Erstelle neue Verzeichnisse ‚.cache‚ und ‚.config‚ unter dem Verzeichnis‚/var/www/‚ und ändere die Eigentümerschaft beider Verzeichnisse auf‚www-data‚. Darin werden der Cache und die Konfiguration des Composers gespeichert.

mkdir -p /var/www/{.cache,.config}
sudo chown -R www-data:www-data /var/www/{.cache,.config}

Als Nächstes erstellst du das Verzeichnis „/var/www/project“ und änderst die Eigentümerschaft in„www-data„. Du wirst Bagisto eCommerce in diesem Verzeichnis installieren.

mkdir -p /var/www/project; sudo chown -R www-data:www-data /var/www/project

Verschiebe dein aktuelles Arbeitsverzeichnis nach „/var/www/project“ und führe den Composer-Befehl unten aus, um den Bagisto-Quellcode und alle zusätzlichen PHP-Abhängigkeiten herunterzuladen und zu installieren.

cd /var/www/project
sudo -u www-data composer create-project bagisto/bagisto

Wenn der Downloadvorgang abgeschlossen ist, erhältst du die folgende Ausgabe.

Herunterladen des Bagisto Quellcodes

Wechsle als Nächstes in das Verzeichnis „/var/www/project/bagisto“ und bearbeite die Datei „.env“ mit dem Editor nano.

cd /var/www/project/bagisto
sudo nano .env

Ändere den Wert‚APP_NAME‚ mit deinen eigenen Angaben und die‚APP_ENV‚ auf‚production‚.

APP_NAME=Bagisto
APP_ENV=production

Ändere ‚APP_DEBUG‚ auf‚false‚ und trage deine Installations-URL in‚APP_URL‚ ein.

APP_DEBUG=false
APP_URL=https://www.example.io

Gib die detaillierte Datenbank für deine Bagisto-Installation wie unten angegeben ein.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bagisto
DB_USERNAME=bagistouser
DB_PASSWORD=BagistoPassword
DB_PREFIX=

Speichere die Konfiguration und beende sie.

Jetzt installierst du Bagisto eCommerce mit dem folgenden Befehl.

sudo -u www-data php artisan bagisto:install

Du wirst aufgefordert, die Ausführung des Installationsbefehls zu bestätigen. Gib zur Bestätigung„ja“ ein.

Installation von Bagisto eCommerce

Gib„yes“ ein, wenn du Bagisto eCommerce in einer Produktionsumgebung einsetzen willst.

Installation von Bagisto in der Produktion

Wenn der Installationsprozess abgeschlossen ist, erhältst du den Standard-Admin-Benutzer und das Passwort für deine Bagisto-Installation.

Erfolgreiche Installation von Bagisto

Abschließend kannst du den folgenden Befehl ausführen, um sicherzustellen, dass der Eigentümer des Bagisto-Installationsverzeichnisses„/var/www/project/bagisto“ zu„www-data“ gehört.

sudo chown -R www-data:www-data /var/www/project/bagisto

Jetzt hast du die Installation von Bagisto eCommerce abgeschlossen. Fahre mit dem nächsten Schritt fort, um den Nginx-Webserver einzurichten.

Einrichten des Nginx-Webservers

In diesem Schritt erstellst du einen neuen Nginx-Serverblock für Bagisto eCommerce. Der Nginx-Webserver ist eine der besten Lösungen für komplexe CMS wie eCommerce, da er leicht und schnell ist.

Erstelle mit dem nano-Editor eine neue Serverblock-Konfiguration„bagisto„.

sudo nano /etc/nginx/sites-available/bagisto

Kopiere die folgende Konfiguration und füge sie ein. Achte darauf, dass du die URL und den Pfad der SSL-Zertifikate durch deine eigenen ersetzt.

server {
    listen 80;
    server_name example.io;
    return 302 https://$server_name$request_uri;
}

server {
listen 443 ssl http2;

server_name  example.io;
root   /var/www/bagisto/public;
index  index.php;

ssl_certificate /etc/letsencrypt/live/example.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.io/privkey.pem;

ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_timeout  10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
# ssl_stapling on; # Requires nginx >= 1.3.7
# ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection „1; mode=block“;

access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

client_max_body_size 100M;

autoindex off;

location / {
try_files $uri /index.php$is_args$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}

Speichere die Konfigurationsdatei und beende sie.

Aktiviere den„bagisto„-Serverblock mit dem folgenden Befehl und überprüfe dann die Nginx-Konfiguration.

sudo ln -s /etc/nginx/sites-available/bagisto /etc/nginx/sites-enabled/
sudo nginx -t

Wenn du keine Fehlermeldung erhältst, siehst du eine Meldung wie„Syntax OK„.

Starten Sie abschließend den Nginx-Dienst neu, um die neue Konfiguration des virtuellen Hosts zu übernehmen.

sudo systemctl restart nginx

Jetzt hast du die Nginx-Konfiguration für Bagisto eCommerce abgeschlossen und kannst es unter deinem Domainnamen aufrufen.

Nginx Webserver für Bagisto eCommerce einrichten

Überprüfe Bagisto eCommerce

Um die Installation von Bagisto eCommerce zu überprüfen, öffne deinen Webbrowser und gib den Domainnamen deiner Installation in die Adresszeile ein.

https://www.example.io/

Du siehst dann die Standard-Homepage von Bagisto eCommerce wie unten abgebildet.

Bagisto-Startseite

Öffne dann einen neuen Tab und besuche die Verwaltungsseite deiner Bagisto eCommerce Installation.

https://www.example.io/admin

Gib den Bagisto-Standardbenutzer„admin“ und das Kennwort„admin123“ ein und klicke auf„Anmelden„.

Bagisto Login-Seite für den Administrator

Du erhältst nun das Admin-Dashboard von Bagisto eCommerce.

Bagisto Admin Dashboard

Fazit

Herzlichen Glückwunsch! Du hast nun Bagisto eCommerce mit PHP-FPM, Nginx und MariaDB auf Debian 11 Bullseye installiert. Du kannst jetzt damit beginnen, deine Produkte hinzuzufügen und Zahlungsplugins für deinen Bagisto eCommerce einzurichten.

Das könnte dich auch interessieren …