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.
- Gib„Y“ ein, um den anonymen MariaDB-Benutzer zu entfernen.
- Gib„Y“ ein, um die Fernanmeldung für den Root-Benutzer zu deaktivieren.
- Tippe erneut„Y“ ein, um die Standarddatenbank„test“ mit allen Berechtigungen zu entfernen.
- Gib„Y“ ein, um alle Tabellenrechte neu zu laden und neue Änderungen anzuwenden.
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 bagistouser@localhost 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 bagistouser@localhost 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.
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;"
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
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.
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.
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.
Gib„yes“ ein, wenn du Bagisto eCommerce in einer Produktionsumgebung einsetzen willst.
Wenn der Installationsprozess abgeschlossen ist, erhältst du den Standard-Admin-Benutzer und das Passwort für deine Bagisto-Installation.
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.
Ü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.
Du siehst dann die Standard-Homepage von Bagisto eCommerce wie unten abgebildet.
Öffne dann einen neuen Tab und besuche die Verwaltungsseite deiner Bagisto eCommerce Installation.
Gib den Bagisto-Standardbenutzer„admin“ und das Kennwort„admin123“ ein und klicke auf„Anmelden„.
Du erhältst nun das Admin-Dashboard von Bagisto eCommerce.
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.