E-Commerce · 7 min read · Dec 14, 2025

So installieren Sie Shopware mit NGINX und Let's Encrypt auf FreeBSD 12

Shopware ist die nächste Generation von Open-Source-E-Commerce-Software. Basierend auf modernsten Technologien wie Symfony 3, Doctrine 2 und Zend Framework ist Shopware die perfekte Plattform für Ihr nächstes E-Commerce-Projekt. Dieses Tutorial führt Sie durch die Installation der Shopware Community Edition (CE) auf einem FreeBSD 12 System unter Verwendung von NGINX als Webserver.

Anforderungen

Stellen Sie sicher, dass Ihr System die folgenden Mindestanforderungen erfüllt:

  • Linux-basiertes Betriebssystem mit installiertem NGINX oder Apache 2.x (mit mod_rewrite) Webserver.
  • PHP 5.6.4 oder höher mit ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo und pdo/mysql Erweiterungen. PHP 7.1 oder höher wird dringend empfohlen.
  • MySQL 5.5.0 oder höher.
  • Möglichkeit, Cron-Jobs einzurichten.
  • Mindestens 4 GB verfügbarer Speicherplatz auf der Festplatte.
  • IonCube Loader Version 5.0.0 oder höher ( optional).

*HINWEIS: Shopware 5 ist derzeit bis zu PHP 7.2.x kompatibel.*

Voraussetzungen

  • Ein Betriebssystem, das FreeBSD 12 ausführt.
  • Ein Nicht-Root-Benutzer mit Sudo-Rechten.

Ich werde in diesem Tutorial den Domainnamen example.com verwenden. Bitte ersetzen Sie das Wort example.com überall dort, wo es in den Befehlen und Konfigurationsdateien unten vorkommt (insbesondere in der Nginx-Konfigurationsdatei und den Let’s Encrypt-Befehlen), durch Ihren eigenen Domainnamen.

Erste Schritte

Überprüfen Sie Ihre FreeBSD-Version:

uname -ro  
# FreeBSD 12.0-RELEASE

Richten Sie die Zeitzone ein:

tzsetup

Aktualisieren Sie die Pakete Ihres Betriebssystems (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems haben:

freebsd-update fetch install  
pkg update && pkg upgrade -y

Installieren Sie einige essentielle Pakete, die für die grundlegende Verwaltung des FreeBSD 12.0 Betriebssystems erforderlich sind:

pkg install -y sudo vim unzip wget bash socat

Schritt 1 - Installieren Sie PHP und PHP-Erweiterungen

Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen für Shopware:

sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache

Um die in PHP kompilierten Module anzuzeigen, können Sie Folgendes ausführen:

php -m  
  
ctype  
curl  
exif  
fileinfo  
. . .  
. . .

Überprüfen Sie die PHP-Version:

php --version  
  
# PHP 7.2.16 (cli) (built: Apr 30 2019 08:37:17) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies  
# with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend Technologies

Starten und aktivieren Sie den PHP-FPM-Dienst:

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Wir können zum nächsten Schritt übergehen, der die Installation des IonCube Loaders ist.

Schritt 2 - Installieren Sie den IonCube Loader (optional)

Dieser Schritt ist optional, da Shopware jetzt ohne IonCube funktioniert, aber es könnte immer noch Erweiterungen oder Themen geben, die IonCube verwenden, daher schadet es nicht, ihn zu installieren. Laden Sie den IonCube Loader herunter:

cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_fre_11_x86-64.tar.gz

Entpacken Sie den Loader:

tar xfz ioncube_loaders_fre_*.tar.gz

Finden Sie das PHP-Erweiterungsverzeichnis auf dem System, indem Sie den folgenden Befehl ausführen:

php -i | grep extension_dir  
# extension_dir => /usr/local/lib/php/20170718 => /usr/local/lib/php/20170718

Kopieren Sie den ionCube Loader in das PHP-Erweiterungsverzeichnis:

sudo cp /tmp/ioncube/ioncube_loader_fre_7.2.so /usr/local/lib/php/20170718

Fügen Sie den Loader über die PHP-Konfiguration hinzu:

sudo vim /usr/local/etc/php.ini

Fügen Sie dann eine Zeile in die Datei ein, um den ionCube-Loader einzuschließen. Sie kann überall in der Datei unter der Zeile [PHP] stehen:

zend_extension = /usr/local/lib/php/20170718/ioncube_loader_fre_7.2.so

Speichern Sie die Datei und starten Sie PHP-FPM neu:

sudo service php-fpm restart

Schritt 3 - Installieren Sie MariaDB und erstellen Sie eine Datenbank für Shopware

Installieren Sie den MariaDB-Datenbankserver:

sudo pkg install -y mariadb102-client mariadb102-server

Überprüfen Sie die MariaDB-Version:

mysql --version  
# mysql  Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) using readline 5.1

Starten und aktivieren Sie den MariaDB-Dienst:

sudo sysrc mysql_enable="yes"  
sudo service mysql-server start

Führen Sie das Skript mysql_secure_installation aus, um die Sicherheit von MariaDB zu verbessern und das Passwort für den MariaDB root-Benutzer festzulegen:

sudo mysql_secure_installation

Beantworten Sie jede der Fragen:

`Would you like to setup VALIDATE PASSWORD plugin? N  
New password: your_secure_password  
Re-enter new password: your_secure_password  
Remove anonymous users? [Y/n] Y  
Disallow root login remotely? [Y/n] Y  
Remove test database and access to it? [Y/n] Y  
Reload privilege tables now? [Y/n] Y`

Verbinden Sie sich mit der MariaDB-Shell als Root-Benutzer:

sudo mysql -u root -p  
# Passwort eingeben  

Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für Shopware und merken Sie sich die Anmeldeinformationen:

mysql> CREATE DATABASE dbname;  
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';  
mysql> FLUSH PRIVILEGES;

Verlassen Sie MariaDB:

mysql> exit

Ersetzen Sie dbname, username und password durch Ihre eigenen Namen.

Schritt 4 - Installieren Sie den Acme.sh-Client und erhalten Sie ein Let’s Encrypt-Zertifikat (optional)

Die Sicherung Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine gute Praxis, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den Acme.sh-Client. Acme.sh ist eine reine Unix-Shell-Software zum Abrufen von TLS-Zertifikaten von Let’s Encrypt mit null Abhängigkeiten.

Laden Sie acme.sh herunter und installieren Sie es:

sudo pkg install -y acme.sh

Überprüfen Sie die acme.sh-Version:

acme.sh --version  
# v2.8.2

Erhalten Sie RSA und ECC/ECDSA Zertifikate für Ihre Domain/Hostname:

# RSA 2048  
acme.sh --issue --standalone -d example.com --keylength 2048  
# ECDSA  
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie gefälschte Zertifikate zu Testzwecken möchten, können Sie das --staging-Flag zu den obigen Befehlen hinzufügen.

Nach dem Ausführen der obigen Befehle befinden sich Ihre Zertifikate und Schlüssel in:

  • Für RSA: Verzeichnis /home/username/example.com.
  • Für ECC/ECDSA: Verzeichnis /home/username/example.com_ecc.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:

acme.sh --list

Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir werden ein Verzeichnis /etc/letsencrypt verwenden.

`mkdir -p /etc/letsecnrypt/example.com`  
`sudo mkdir -p /etc/letsencrypt/example.com_ecc`

Installieren/kopieren Sie die Zertifikate in das Verzeichnis /etc/letsencrypt.

# RSA  
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"  
# ECC/ECDSA  
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo service nginx reload"

Alle Zertifikate werden alle 60 Tage automatisch erneuert.

Nachdem Sie die Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zum normalen Sudo-Benutzer zurück:

exit

Schritt 5 - Installieren und konfigurieren Sie NGINX

Installieren Sie den NGINX-Webserver:

sudo pkg install -y nginx

Überprüfen Sie die NGINX-Version:

nginx -v  
# nginx version: nginx/1.14.2

Starten und aktivieren Sie den NGINX-Dienst:

sudo sysrc nginx_enable=yes  
sudo service nginx start

Konfigurieren Sie Nginx für Shopware, indem Sie Folgendes ausführen:

sudo vim /usr/local/etc/nginx/shopware.conf

Und fügen Sie die folgende Konfiguration in die Datei ein:

server {
    listen 80;
    listen [::]:80;
    
    server_name example.com;
    root /usr/local/www/shopware;

    index shopware.php index.php;

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

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

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
}

Führen Sie sudo vim /usr/local/etc/nginx/nginx.conf aus und fügen Sie die folgende Zeile in den http {} Block ein, um die Shopware-Konfiguration einzuschließen.

include shopware.conf;

Überprüfen Sie die Nginx-Konfiguration auf Syntaxfehler:

sudo nginx -t

Laden Sie den Nginx-Dienst neu:

sudo service nginx reload

Schritt 6 - Installieren Sie Shopware

Erstellen Sie ein Dokumentwurzelverzeichnis für Shopware:

sudo mkdir -p /usr/local/www/shopware

Navigieren Sie zum Dokumentwurzelverzeichnis:

cd /usr/local/www/shopware

Laden Sie Shopware herunter und entpacken Sie es:

sudo wget https://releases.shopware.com/install_5.5.8_d5bf50630eeaacc6679683e0ab0dcba89498be6d.zip?_ga=2.141661361.269357371.1556739808-1418008019.1556603459 -O shopware.zip  
sudo unzip shopware.zip  
sudo rm shopware.zip

HINWEIS: Aktualisieren Sie die Download-URL, wenn es eine neuere Version gibt.

Stellen Sie die entsprechende Eigentümerschaft bereit:

sudo chown -R www:www /usr/local/www/shopware

Erhöhen Sie memory_limit = 256M und upload_max_filesize = 6M, und setzen Sie allow_url_fopen = On, falls dies nicht bereits in der Datei /usr/local/etc/php.ini festgelegt ist:

sudo vim /usr/local/etc/php.ini

Nachdem Sie Änderungen in der Datei /etc/php/7.2/fpm/php.ini vorgenommen haben, laden Sie php-fpm.service neu:

sudo service php-fpm reload

Öffnen Sie Ihre Domain/IP im Webbrowser und folgen Sie dem Installationsassistenten. Das Backend von Shopware befindet sich unter /backend, Beispiel: http://example.com/backend.

Schritt 7 - Schließen Sie die Shopware-Installation ab

Beginnen Sie mit der Auswahl der Sprache und klicken Sie auf Weiter:

Shopware Installationsassistent

Stellen Sie als Nächstes sicher, dass Sie alle Shopware-Anforderungen erfüllen:

Shopware Systemanforderungen

Stimmen Sie den Shopware-Nutzungsbedingungen zu und klicken Sie auf Weiter:

Nutzungsbedingungen von ShopWare

Geben Sie die Datenbankanmeldeinformationen ein und klicken Sie auf Weiter:

Datenbank konfigurieren

Starten Sie die Installation, um Datenbanktabellen zu erstellen:

Datenbanktabellen erstellen

Danach sehen Sie eine Nachricht über den erfolgreichen Datenbankimport:

Installation erfolgreich

Wählen Sie eine Lizenz aus und klicken Sie auf Weiter:

Lizenzierung

Füllen Sie einige grundlegende Einstellungen aus, um die Einrichtung abzuschließen, und klicken Sie auf Weiter:

Grundlegende Shop-Einrichtung

Die Installation ist abgeschlossen.

Installation abgeschlossen

** Um auf den Admin-Bereich zuzugreifen, fügen Sie /backend zu Ihrer URL hinzu.

Shopware-Login

Sie haben Shopware erfolgreich installiert. Viel Spaß mit Ihrem neuen Online-Shop!

Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.