Dieser Artikel zeigt Dir, wie Du eine virtuelle Maschine für eine lokale Shopware 6-Umgebung im Entwicklungsmodus einrichten kannst. Einige von Euch sind vielleicht über die Einschränkungen von Shopware gestolpert, wenn es um Windows als Betriebssystem geht. Jeder, der vielleicht schon einmal versucht hat, Shopware unter Windows zum Laufen zu bringen, weiß, dass es eher zum Scheitern als zum Erfolg führt. Es ist wichtig, ein Unix-basiertes System (wie Linux oder MacOS) als Umgebung für ein lokales Setup zu verwenden. Sicherlich ist aber nicht jeder so vertraut mit Linux oder hat ein Apple-Produkt, mit dem er arbeiten kann. Diese Anleitung wird Dir helfen, eine virtuelle Linux-Maschine auf Deinem lokalen Betriebssystem einzurichten, unabhängig davon, welches Betriebssystem Du gerade verwendest.
Als erstes benötigst Du eine lokale Installation von Virtual Box von Oracle. Lade diese einfach von https://www.oracle.com/de/index.html herunter und starte den Installationsvorgang. Der Hauptgrund für ein Virtual Box-Image ist, dass Du es unabhängig auf jedem von Dir genutzten Betriebssystem verwenden kannst - auch wenn Du in Zukunft z. B. von Windows zu MacOS wechselst. Da die Einstellungen innerhalb des virtuellen Images gespeichert werden, bleibt bei einer Neuinstallation Deines Laptops die Konfiguration erhalten und Du bist in wenigen Schritten nach der Installation der virtuellen Box einsatzbereit.
Diese Anleitung wird sich auf Ubuntu konzentrieren und es als Grundlage für die Einrichtung verwenden. Ubuntu ist eine verbreitete und gut dokumentierte Linux-Distribution und ist vielleicht die beste Wahl für Anfänger. Da wir nicht die gesamte Desktop-Manager-Version von Ubuntu benötigen, kannst Du einfach das Netzwerk-Installations-Image von der Ubuntu-Website herunterladen: https://ubuntu.com/download/alternative-downloads
Warte einfach, bis der Download beendet ist, und beginne dann in den nächsten Schritten mit der Konfiguration der virtuellen Box.
Als erstes msst Du Deine neu installierte Virtual Box starten. Erstelle einfach eine neue virtuelle Maschine, indem Du die Schaltfläche "Neu" auf der rechten Seite des neuen Menüs verwenden oder das obere Menü verwenden (Maschine -> Neu).
Weiter musst Du festlegen, welches Betriebssystem Du virtualisieren möchtest und wählst "Typ: Linux" und "Version: Ubuntu" im Untermenü. Den Namen für das neu erstellte Virtual Box-Image kannst Du frei wählen.
Bestätige Deine Auswahl mit "Weiter".Das nächste Kontextmenü fragt Dich nach der bevorzugten Speichergröße, wir empfehlen 2GB oder mehr für Deine Umgebung, aber das hängt stark von den verfügbaren Ressourcen auf Deinem Computer ab (wenn Du z.B. nur 4gb RAM hast, kannst Du nicht mehr als 2GB zur virtuellen Maschine hinzufügen). In unserem Fall werden wir "2048MB" als Auswahl verwenden. Bestätige, um zum nächsten Schritt zu gelangen.
Nun musst Du Deine Festplatte für die virtuelle Maschine definieren - lasse die Auswahl einfach auf "Festplatte erzeugen" stehen und bestätige dies mit dem "Erzeugen"-Button.
Innerhalb des sich neu öffnenden Fensters kannst Du die Auswahl bei "VDI (VirtualBox Disk Image") belassen und mit "Weiter" fortfahren. Das neue Image sollte in unserem Fall "Dynamisch alloziert" sein und 15-20GB sollten für die lokale Umgebung ausreichen. Die Schritte zeigen Dir umfassend, was zu tun ist. Nachdem Du die Konfiguration Deiner VM abgeschlossen hast, befindest Du Dich wieder auf dem Startbildschirm von oben.
Bevor wir unsere neu erstellte virtuelle Box starten, müssen wir einige zusätzliche Konfigurationen vornehmen. Wähle einfach die neu erstellte VM aus und öffne das Menü "Einstellungen". Wechsel in die "Netzwerk"-Konfiguration und öffne die versteckte "Erweiterte" Konfiguration. In diesem Abschnitt findest Du die "Portweiterleitung" - klicke einfach auf diese Schaltfläche und es öffnet sich folgendes Untermenü:
Füge die Konfiguration aus dem Screenshot hinzu, um Deine VM von Deinem lokalen Computer auf localhost verfügbar zu machen. Wenn Du diese Ports ändern musst, behalte diese Änderungen bitte im Hinterkopf, da wir sie später noch benötigen. Oft sind auf dem lokalen Rechner bereits Dienste vorhanden, die auf Port 22 und 80 lauschen, daher haben wir die Host-Ports auf unbenutzte Ports geändert. Bestätige Deine Auswahl und schließe die Untermenüs.
Starte einfach Deine neu erstellte virtuelle Maschine im Hauptmenü der Virtual Box. Da die virtuelle Umgebung vorerst leer ist, musst Du Deine heruntergeladene iso-Datei von Ubuntu in das Menü einfügen. Wähle diese einfach von Deiner Festplatte aus und drücke die Start-Taste.
Das System bootet von Deiner Ubuntu-ISO und zeigt den Bootloader mit einigen Auswahlmöglichkeiten an. Starte in diesem Fall die Standardinstallation.
Der Ubuntu-Installer wird gestartet und Du wirst nach Deiner bevorzugten Sprache und Region gefragt. Nachdem Du Deine Auswahl bestätigt hast, versucht das System, Deine Tastaturbelegung zu fest zu legen, dies kann automatisch oder durch Auswahl der richtigen erfolgen. Stell in jedem Fall sicher, dass Du das richtige Layout auswählst. Nachdem diese grundlegende Systemkonfiguration abgeschlossen ist, stellt der Installer eine Verbindung zu den Ubuntu-Servern her, um die benötigten Pakete für die Installation herunterzuladen. Du wirst aufgefordert, einen Hostnamen (Du kannst einen beliebigen wählen) und einen Mirror (wähle einfach den vordefinierten) anzugeben. Wenn Du einen Proxy für Deine Internetverbindung verwendest, kannst Du diesen ebenfalls konfigurieren, aber in den meisten Fällen musst Du hier nichts tun.
Der nächste Schritt ist die Einrichtung des Benutzernamens und des Passworts. In unserem Fall wählen wir als Benutzernamen "shopware" und als Passwort "shopware", Du kannst aber auch ein anderes festlegen - achte aber bitte darauf, dass Du es Dir merken kannst. Die Zeitzone wird anschließend erkannt, Du musst diese nur ändern, wenn sie wirklich von Deiner aktuellen Zeitzone abweicht.
Wähle einfach im nächsten Menü die geführte Aufteilung der Festplatte und fahre mit der Installation fort und schreibe Deine Änderungen auf die Platte. Die Grundinstallation der Software wird nun durchgeführt. Da die meisten Pakete von den Ubuntu-Servern heruntergeladen werden, wird dies je nach Internetverbindung eine Weile dauern. Wenn Du möchtest, kanns Du im nächsten Schritt Sicherheitsupdates installieren. Im weiteren Verlauf werden wir nach zusätzlicher Software gefragt, die eventuell installiert werden muss. Wähle aus diesem neuen Menü "LAMP-Server" (Apache, MySQL, PHP) und "OpenSSH-Server" (die Auswahl kann durch Drücken der Leertaste erfolgen). Der Prozess installiert die neu gewählte Software und den Bootloader (eventuell musst Du dies noch bestätigen). Beende die Installation und wir sind bereit, einige zusätzliche Konfigurationen des Systems vorzunehmen.
Entferne das Ubuntu-ISO aus der VM (durch Klicken auf das kleine CD-ROM-Symbol am unteren Rand des VM-Fensters) und fahre Dein neu erstelltes virtuelles Image herunter. Starte es erneut, während Du die "Shift"-Taste gedrückt hätst. Dadurch wird die VM im Hintergrund gestartet und wir können über SSH auf sie zugreifen. In den meisten Umgebungen ist dies über ein Terminal mit dem Befehl "ssh shopware@127.0.0.1 -p2222" möglich. Bitte achte darauf, dass Du Deinen neu angelegten Benutzer anstelle von "shopware" einträgst, falls dieser abweicht. In Windows-Umgebungen wird für SSH-Verbindungen eine Software wie Putty verwendet, aber Du kannst auch das VM-Fenster verwenden, wenn Du keine zusätzliche Software verwenden möchtest.
Zunächst einmal kannst Du Deine Installation überprüfen. Öffne einfach 127.0.0.1:8080 (beachte, dass Du diesen Port möglicherweise geändert hast) - eine Apache-Testseite sollte in Deinem Browser sichtbar sein. Im Terminal kannst Du die Installation von PHP mit "php -v" überprüfen und es wird Dir die verwendete PHP-Version angezeigt (sie sollte mindestens 7.4 sein).
Wir müssen ein Passwort für MySQL festlegen - dies kannst Du mit den folgenden Befehlen tun:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
exit
In unserem Fall werden wir das Passwort des Benutzers "root" auf "root" setzen. Möglicherweise möchtest Du dies ändern, aber denk daran, sich dieses Kennwort zu einem späteren Zeitpunkt zu merken.
Um Shopware verwenden zu können, musst Du einige zusätzliche Abhängigkeiten auf Deinem lokalen Rechner installieren. Dies kann mit den folgenden Befehlen erfolgen:
sudo apt-get install php-intl php-xml php-zip php-apcu php-mbstring php-json php-gd unzip nodejs openssh-server git php-curl curl npm
Stelle nach der Installation sicher, dass Du eine aktuelle Version von npm verwendest, indem Du diesen Befehl ausführst:
sudo npm install -g npm@latest
Für eine reibungslose Integration von Virtual Box auf Deinem Computer empfehlen wir, die Gasterweiterungen zu Deiner virtuellen Maschine hinzuzufügen. Öffne einfach Deine virtuelle Maschine (Schaltfläche "anzeigen" im Hauptmenü der Virtual Box) und füge sie über das Kontextmenü Geräte -> Gasterweiterung einlegen... hinzu. Nachdem das Image eingelegt ist, musst Du es mounten und die Installation starten:
sudo mount /dev/cdrom /mnt
cd /mnt
sudo ./VBoxLinuxAdditions.run
sudo reboot
Möglicherweise musst Du die SSH-Verbindung nach einem Neustart erneut aufbauen.
Als erstes musst Du mod-rewrite aktivieren, dies kannst Du tun, indem Du den folgenden Befehl in Deiner virtuellen Maschine ausführst:
sudo a2enmod rewrite
Danach musst Du eine neue vhost-Konfiguration hinzufügen, deaktiviere einfach die bestehende:
sudo a2dissite 000-default.conf
Und zu guter Letzt musst Du eine neue Konfiguration erstellen:
sudo nano /etc/apache2/sites-enabled/sw6.conf
Füge einfach die folgende Konfiguration in den Editor ein:
<VirtualHost *:80>
<Directory "/var/www/html/sw6/public">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/sw6/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Mit STRG + O kannst Du es speichern und mit STRG + X verlässt Du den Editor. Danach musst Du den Webserver neu starten:
sudo service apache2 restart
Da Linux ein System ist, das sehr streng mit der Rechte- und Berechtigungsverwaltung ist, müssen wir den Benutzer "shopware" zur Gruppe "www-data" hinzufügen, um Probleme mit den Berechtigungen zu vermeiden:
sudo usermod -g www-data shopware
sudo chown -R www-data:www-data /var/www/
sudo chmod 0777 -R /var/www/html
sudo reboot
Möglicherweise musst Du die SSH-Verbindung nach dem Neustart der VM neu starten.
Beachte, dass sich die Verifizierung des Installers ändern kann, daher musst Du die Befehle von der Composer-Website verwenden, um sicherzugehen, die aktuelle zu nutzen: https://getcomposer.org/download/
For Example:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Nachdem Du Composer erfolgreich heruntergeladen hast, musst Du ihn über den Befehl "composer" ausführbar machen, kopiere ihn einfach in den Ordner /bin:
sudo mv composer.phar /bin/composer
Du kannst Deine Installation überprüfen, indem Du "composer" in Deinem Terminal ausführst.
Shopware 6 gibt es in zwei verschiedenen Versionen. Es gibt ein offizielles Release-Paket für Produktionssysteme, das Dir keine Entwicklungswerkzeuge zur Verfügung stellt (z. B. zum Erstellen von Erweiterungen) und es gibt das GitHub-Repository, das Deine Entwicklungsumgebung sein wird. Wechsel das Verzeichnis in den Web-Ordner und lade Shopware 6 von Github herunter:
cd /var/www/html
git clone https://github.com/shopware/development.git sw6
Um die Installation zu starten, kannst Du einfach die folgenden Befehle ausführen, ein Assistent wird Dich durch die Installation von Shopware führen.
cd sw6
php bin/setup
Du wirst nach Deiner Umgebung (wähle "dev"), Deiner öffentlichen Url (in unserem Fall http://127.0.0.1:8080, der Port kann je nach Deiner Konfiguration abweichen), Deiner Datenbank (behalte localhost, shopware als Datenbankname und root/root als Benutzer/Passwort) gefragt.
Nachdem Du Deine Eingaben bestätigt hast, wird die Installation durchgeführt. Es dauert 37 Schritte, bis diese Installation abgeschlossen ist, daher musst Du möglicherweise ein wenig warten. Die Composer-Abhängigkeiten werden zunächst heruntergeladen.
Bei der nächsten Installation werden sie aus dem Cache geholt, was die Installation etwas beschleunigt. Wenn die Installation abgeschlossen ist, kannst Du über Deinen Browser auf die Installation in Deiner lokalen Umgebung zugreifen: http://127.0.0.1:8080. Die Administration ist mit /admin und der Benutzer/Passwort-Kombination admin/shopware erreichbar.
nano /sw6.sh
#!/bin/bash
sudo mv /var/www/html/sw6/.psh.yaml.override /var/www/html/.psh.yaml.override
sudo rm -R /var/www/html/sw6
cd /var/www/html
git clone -b master https://github.com/shopware/development.git sw6
cp /var/www/html/.psh.yaml.override /var/www/html/sw6/.psh.yaml.override
cd /var/www/html/sw6
composer install
php psh.phar install
sudo chmod +x sw6.sh
sudo mv sw6.sh /bin/sw6
git pull
composer update
php bin/console database:migrate
php bin/console database:migrate --all Storefront
php bin/console cache:clear
php psh.phar storefront:build
php psh.phar administration:build
git clone --branch v6.0.0+ea1 https://github.com/shopware/development.git
Host 127.0.0.1
HostName 127.0.0.1
User shopware
Port 2222
sudo apt-get install samba-common samba tdb-tools
sudo smbpasswd -a shopware
net usershare add VM /var/www/html/sw6 "SW6 Installation" shopware:f
sudo service smbd restart
Schalte Deine VM aus und gehe in der Virtual Box in die Netzwerkkonfiguration und öffne unter "Erweiterte Konfiguration" das Fenster "Port-Weiterleitung".
Bitte beachte, dass in dieser VM bereits eine Installation vorhanden ist. Wenn Du sichergehen willst, dass es sich um den aktuellen Master handelt, führe bitte den Befehl "sw6" innerhalb der VM aus, um die neueste Version auszuchecken.
Als einen Schritt des Installationsprozesses richten wir eine Netzwerkfreigabe ein, auf die Du direkt von Deinem lokalen Computer aus zugreifen kannst, ohne eine SSH/SFTP-Verbindung zu verwenden. Diese ist ebenfalls Teil der VM. In den nächsten Schritten zeigen wir Dir, wie Du es auf Deinem lokalen Computer verwenden kannst.
Öffne den Finder und gehe oben auf das Menü "Gehe zu". Öffne "Mit Server verbinden...". Füge in dem neuen Fenster die Adresse und den Port Deiner Netzwerkfreigabe hinzu:
smb://127.0.0.1:4455/VM
Leider ist es unter Windows nicht möglich, ein Netzlaufwerk auf eine Freigabe in der VM unter der IP 127.0.0.1 zu mappen. Hierfür sind einige Anpassungen notwendig
Netzwerk Adapter in Virtual Box
Ändere zunächst im Virtual Box Manager für die Shopware-VM den Netzwerkadapter von NAT auf Netzwerkbrücke.
(Es ist notwendig, dass die VM zu diesem Zeitpunkt ausgeschaltet ist)
Wähle unter Einstellungen > Netzwerk > Adapter 1 > Angeschlossen an: Bridged Adapter
Damit wird der VM über den DHCP-Server im Netzwerk eine neue, eigene IP-Adresse zugewiesen.
(Wenn kein DHCP-Server im Netzwerk verfügbar ist, muss der VM manuell eine IP zugewiesen werden).
Die von DHCP zugewiesene IP herausfinden
Dies ist z. B. über die im Fenster der VM angezeigte Konsole möglich.
Gebe dazu in der Konsole ipconfig ein und die IP-Einstellungen werden aufgelistet.
(Hierfür wird net-tools benötigt. Dieses ist in der vorbereiteten VM enthalten, wenn Du ein eigenes System hast, musst Du es ggf. installieren).
Jetzt ist die Verbindung über SSH über die IP der VM und Port 22 möglich
Einstellungen in Shopware anpassen
Rufe zunächst den Admin über http://IPderVM/admin auf.
Nun ist es notwendig, die URL für den Verkaufskanal "Storefront" im Bereich "Domains" auf http://IPderVM anzupassen.
Nachdem Du die URL-Änderung gespeichert hast, kannst Du über IPderVM direkt das Frontend aufrufen
Mapping des Netzlaufwerkes
Es ist nun möglich, das Netzlaufwerk in Windows einzubinden.
Gehe dazu wie folgt vor:
Öffne "Dieser PC" und klicke im Register "Computer" auf "Netzlaufwerk verbinden".
Wähle im neuen Fenster einen Laufwerksbuchstaben und gebe als Ordner "\\IPderVM\VM" ein und setze außerdem ein Häkchen bei "Verbindung mit anderen Anmeldeinformationen herstellen"
Optional kannst Du auch "Verbindung bei Anmeldung wiederherstellen" ankreuzen
Wenn Du auf die Schaltfläche Fertig stellen klickst, wird ein Fenster zur Eingabe der Anmeldedaten angezeigt.
Gebe als Benutzer "ubuntu/shopware" und als Passwort "shopware" ein.
(wenn die Verbindung bei der Anmeldung neu aufgebaut werden soll, empfiehlt es sich, die Anmeldedaten zu speichern).
Nach dem Bestätigen über die Schaltfläche OK ist die Verbindung nun hergestellt und das Netzlaufwerk verbunden.