Shopware 6 Entwicklungsumgebung auf Windows WSL installieren
Es sollte wie gewohnt ein Nginx Server installiert sein.
Einfach mal nach "Nginx WSL installieren" suchen.
Natürlich brauchen wir auch PHP ab 7.4, Node 16.x und NPM 8.x.
Vergewissert euch, dass localhost über Windows erreichbar ist.
Dieser Beitrag hat bei mir ein Problem gelöst um localhost per Port 80 zu erreichen.
Nginx einrichten
Nginx Site anlegen:
sudo nano /etc/nginx/sites-available/shopware6.wsl
Typische Shopware 6 konfiguration für Nginx:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
include snippets/snakeoil.conf;
# Handle / to index.php
index index.php;
# Our server name
server_name shopware6.wsl;
# Where the code is located
root /var/www/shopware6/public;
# Needed for Shopware install / update
location /recovery/install {
index index.php;
try_files $uri /recovery/install/index.php$is_args$args;
}
location /recovery/update/ {
if (!-e $request_filename){
rewrite . /recovery/update/index.php last;
}
}
# Forward any not found file to index.php. Also allows to have beautiful urls like /homemade-products/
location / {
try_files $uri /index.php$is_args$args;
}
# Let php-fpm handle .php files
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 300s;
client_body_buffer_size 128k;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
http2_push_preload on;
}
}
Die Domain zur Verfügung stellen und Nginx neu laden:
sudo ln -s /etc/nginx/sites-available/shopware6.wsl /etc/nginx/sites-enabled/shopware6.wsl && sudo nginx reload
Shopware 6 installieren
Es wird der Ordner benötigt, auf den auch Nginx verweist.
In diesen Ordner wird Shopware 6 installiert.
mkdir -p /var/www/shopware6
Jetzt können wir die Repositories ziehen:
cd /var/www/shopware6
git clone https://github.com/shopware/development.git .
rm -rf ./platform && git clone https://github.com/shopware/platform.git
Wir checken uns noch in eine Version (development und platform) aus:
git checkout v6.4.14.0 && cd ./platform && git checkout v6.4.14.0 && ../
Bevor installiert wird brauchen wir noch eine Konfigdatei:
nano .psh.yaml.override
In dieser Datei wird die URL und die Datenbank konfiguriert.
const:
APP_ENV: "dev"
APP_URL: "http://shopware6.wsl"
DB_HOST: "localhost"
DB_PORT: "3306"
DB_NAME: ""
DB_USER: ""
DB_PASSWORD: ""
DEVPORT: "8080"
Jetzt installieren wir SW 6:
./psh.phar install
Es sollten keine Fehler auftreten.
Sonst mal "var/cache/dev*" löschen und es erneut probieren.
In der Theorie läuft nun Shopware 6, aber wir erreichen "shopware6.wsl" nicht, da es die Domain ja nicht gibt.
Also sagen wir Windows einfach, dass die Domain "shopware6.wsl" im localhost zu finden ist.
Öffnet die Datei "C:\Windows\System32\drivers\etc\hosts" als Admin und fügt folgendes hinzu:
127.0.0.1 shopware6.wsl
::1 shopware6.wsl
Das war's!
Ihr solltet nun shopware6.wsl aufrufen können.
Für die Entwickler unter uns noch paar nützliche Befehle:
# storefront watch
./psh.phar storefront:hot-proxy
# storefront build
rm -rf ./var/cache/* && ./psh.phar storefront:build
# admin watch
./psh.phar administration:watch
# admin build
rm -rf ./var/cache/* && ./psh.phar administration:build
# clear cache, install assets, compile and refresh theme
rm -rf ./var/cache/* && ./bin/console asset:install && ./bin/console theme:compile && ./bin/console theme:refresh