Shopware Plattform / 6 / Playground lokal ohne Docker

Moin! Der Fehler mit ARGON2 kommt dann, wenn php ohne argon2 kompiliert wurde. Eigentlich sollte das bei PHP 7.2 standardmäßig so sein.

Das phpmyadmin und andere Clients die Daten nicht korrekt anzeigen musste wir leider auch schon feststellen. Es handelt sich bei den Feldern um UUIDs, welche binär abgespeichert wurden. Ich persönliche nutze https://www.adminer.org/, da klappt die Darstellung problemlos.

 

Aktuell ändert sich noch einiges, es kann daher vorkommen, das die Plugins nicht immer up to date sind.

1 Like

@Jens_K schrieb:

Moin! Der Fehler mit ARGON2 kommt dann, wenn php ohne argon2 kompiliert wurde. Eigentlich sollte das bei PHP 7.2 standardmäßig so sein.

Das phpmyadmin und andere Clients die Daten nicht korrekt anzeigen musste wir leider auch schon feststellen. Es handelt sich bei den Feldern um UUIDs, welche binär abgespeichert wurden. Ich persönliche nutze https://www.adminer.org/, da klappt die Darstellung problemlos.

 

Aktuell ändert sich noch einiges, es kann daher vorkommen, das die Plugins nicht immer up to date sind.

mh … Nutzt jemand von euch OSX mit Homebrew? Ich glaube auch, dass es bei PHP 7.2 bereits drin sein müsste. Habe es nun versucht 7.2 zu reinstallen mit --with-argon2. Bekomme dan allerdings: Error: invalid option: --with-argon2 

Argo2 ist widerrum installiert, aber anscheinend PHP damit nicht kompiliert:

brew install argon2

Warning: argon2 20171227 is already installed and up-to-date

Ich habe nichts dazu gefunden, da es mir komplett neu ist: Aber kann ich irgendwo sehen/testen, ob Argon2 installiert ist? Habe dazu nichts gefunden.

Mit Laravel bspw. klappt der Argon Hash. Vielleicht nutzt Laravel da auch irgendein weiteres Package, keine Ahnung.

Wenn ich bspw. password_hash(‘somepassword’, PASSWORD_ARGON2I, [‘memory_cost’ => 2048, ‘time_cost’ => 4, ‘threads’ => 3]); ausgeben lassen will, derselbe Fehler wie bei Shopware.

@dreischild schrieb:

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍:

Okay. Ich muss einfach noch mal etwas testen. 
Macht es denn überhaupt Sinn jetzt schon mit der Geschichte zu starten? Ich habe gerade bspw. mal versucht eines der Beispiel-Plugins zu installieren. Auch dies geht leider nicht. Er meckert, dass er eine composer.json im Plugin-Ordner nicht laden kann, die im Beispiel überhaupt nicht vorgesehen ist. Wenn ich die Anlege geht es weiter mit den Fehlern

Ein Kollege hatte noch ein Script für Ubuntu, was bei ihm funktioniert. Vielleicht hilft dir das:

set -e

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt install -y php7.2 libapache2-mod-php php-cli
apt install -y mysql-server apache2
apt install -y composer nodejs npm chromium-browser default-jre-headless git
apt install -y php-gd php-intl php-iconv php-mbstring php-mysql php-xml php-zip php-json
 
/etc/init.d/mysql start 

mysql << EndOfMessage
CREATE USER 'app'@'localhost' IDENTIFIED BY 'app';
GRANT ALL PRIVILEGES ON shopware.* TO 'app'@'localhost';
GRANT ALL PRIVILEGES ON shopware_test.* TO 'app'@'localhost';
GRANT ALL PRIVILEGES ON shopware_e2e.* TO 'app'@'localhost';
FLUSH PRIVILEGES;
EndOfMessage

git clone https://github.com/shopware/development.git $HOME/shopware-dev
cd $HOME/shopware-dev

##todo: entspricht nicht manuellem setup
tee .psh.yaml.override << EndOfMessage
const:
  APP_ENV: "dev"
  APP_URL: "http://shopware.test:8000"
  DB_HOST: "localhost"
  DB_PORT: "3306"
  DB_NAME: "shopware"
  DB_USER: "app"
  DB_PASSWORD: "app"
  CHROME_BIN: "chromium-browser"
EndOfMessage

git clone --depth=1 https://github.com/shopware/platform.git
composer install
npm install -g npm
npm install in vendor/shopware/platform/src/Administration/Resources/administration/

./psh.phar init
./psh.phar administration:init
./psh.phar administration:build

usermod -a -G www-data $(whoami)
chgrp -R www-data $HOME/shopware-dev
find $HOME/shopware-dev -type d -exec chmod g+s '{}' \;
#chmod g+w -R $HOME/shopware-dev/{var,public/{media,thumbnail}}
chmod g+w -R $HOME/shopware-dev/var
#chmod g+w -R $HOME/shopware-dev/public/thumbnail
chmod g+w -R $HOME/shopware-dev/public/media


echo "127.0.0.1 shopware.test" | tee --append /etc/hosts
ln -s $HOME/shopware-dev /var/www/shopware.test

/etc/init.d/apache2 restart

echo "LISTEN 8000


    DocumentRoot "/var/www/shopware.test/public"
    ServerName shopware.test
    
        AllowOverride All
    
" > /etc/apache2/sites-available/shopware.test.conf

# enable shopware vhost
a2ensite shopware.test.conf
# disable default vhost
a2dissite 000-default.conf
# enable mod_rewrite
a2enmod rewrite
# restart apache (changed)
/etc/init.d/apache2 restart

curl http://shopware.test:8000/admin

 

Moin Dennis ( @dreischild‍  ),

wir sind momentan schon dabei die Dokumentation anzupassen und haben für viele Szenarien mittlerweile Beispiel Plugins.
Ich habe dir hier mal ein Beispiel Plugin angehangen, welches nichts wirklich macht, aber vieles einmal anreißt. (Testing suite, Services, Controller, Subscriber, Plugin Config, …)
Das wird so in der Form mal in einem “Plugin quick start” Guide auftauchen - daher auch der Name. :slight_smile:

Hilft dir das erstmal weiter?


@Shopwareianer‍:
Ich nutze das Setup mit MacOS und habe damit absolut keine Probleme.
Tatsächlich konnte ich da auch grob den Ubuntu Guide nutzen - man muss halt nur wissen, wie das jeweilige MacOS Pendant heißt / funktioniert.
Den von dir beschriebenen Fehler habe ich “leider” nicht.
Ich hatte übrigens diesen Guide genutzt, um mehrere PHP Versionen auf meinem System zu installieren - wie hast du das denn gemacht?

1 Like

Zu dem Fehler mit der Passwort Konstante gibt es auch ein Issue auf GitHub Argument 3 passed to PasswordField::__construct() must be of the type integer, string given · Issue #21 · shopware/platform · GitHub Wir müssen hier vielleicht noch mal schauen, ob wir eine andere Verschlüsselung als Default nehmen. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 Like

[@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl “Patrick Stahl”)‍ Ich nutze Valet Plus. Nur installiert man hier PHP 7.2 per default. Und da scheint wohl Argon nicht mit bei zu sein. Ich habe ebenfalls Argon über Homebrew insatlliert wie hier beschrieben: argon2 Installation on Mac with Brew | BrewInstall.org

Allerdings scheint es, dass ich eben die Homebrew 7.2 Version mit Argon2 kompilieren muss. Nur finde ich dazu keine Infos … :frowning:

 

[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann “Michael Telgmann”)‍ Der Workaround vom Issue hat tatsächlich funktioniert, danke dafür. Ist natürlich keine Dauerlösung. Ich muss mal schauen, wie ich Argon mit kompiliert bekomme … Ich komme nun auf jeden Fall ins Backnd und das Frontend scheint auch halbwegs zu funktionieren.

Im Frontend habe ich jetzt nur noch den Fehler, dass die Javascript Datei auf einen Port referenziert “http://shopware-dev.test:9999/js/main.bundle.js” Da ich Docker & Co. nicht nutze ist dieser nicht erreichbar.

Wie kann ich den Port entfernen, sodass das Frontend hier http://shopware-dev.test/js/main.bundle.js ausgibt? Und: Wofür ist der Port notwendig, für irgendein hot-reloading? Irgendwelche Nachteile, wenn man es entfernt?

PS: Habe es in im vendor storefront base.twig Template gefunden. Allerdings auch wenn ich es entferne und die JS Datei im Frontend geladen wird, scheint das Frontend nicht zu funktionieren. Muss mal schauen, woran es dann hier wieder hapert :smiley:

PS: So sieht übrigens das Frontend bei mir aus. CSS & JS Datei lassen sich über den Quelltext aufrufen.

Imgur

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍:
Vielen Dank erstmal für das Script. Das ist super lieb und ich werde es nachher direkt mal testen. 

Mich wundert jedoch, dass er sagt, dass es bei ihm funktioniert, da weder der mysql_group_concat Wert erhöht wird noch NPM direkt bezogen wird. So müsste er dann eine veraltete NPM Version haben, die nicht kompatibel ist.

Melde mich dann nach dem Test noch einmal.

Ich konnte das Problem mit Valet / Homebrew & PHP 7.2 lösen.

Auf der Console wurde mir 7.2 ausgegeben, phpinfo() hat trotzdem weiterhin 7.1 ausgeschmissen. Das ganze lief also weiterhin auf PHP 7.1 ohne Argon.

Ich musste erst noch einmal 7.1 stoppen mit  brew services stop php71, obwohl es bereits deinstalliert war. Nun klappt es auch mit Argon2 :slight_smile:

@dreischild schrieb:

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍:
Vielen Dank erstmal für das Script. Das ist super lieb und ich werde es nachher direkt mal testen. 

Mich wundert jedoch, dass er sagt, dass es bei ihm funktioniert, da weder der mysql_group_concat Wert erhöht wird noch NPM direkt bezogen wird. So müsste er dann eine veraltete NPM Version haben, die nicht kompatibel ist.

Melde mich dann nach dem Test noch einmal.

Ja, sagte er mir noch dazu, dass man NPM noch updaten muss, ganz vergessen zu schreiben. 

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski „Moritz Naczenski“)‍
Danke, probiere ich mal!
[@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl „Patrick Stahl“)‍
Danke! :wink: Das Plugin ist ein guter Ansatzpunkt!

Bzgl. NPM. Ihr benötigt Version v6.5.0 (Release v6.5.0 · npm/cli · GitHub). Wir hatten hier auch schon entsprechende Issue gehabt: `npm clean-install` requires npm >= v6.5.0 · Issue #20 · shopware/platform · GitHub

Viele Grüße,
Stephan Pohl  Shopware 

@Shopwareianer‍ Richtig, der Port wird für den Hot Module Replacement Server von Webpack verwendet. Diesen kannst du im “base.html.twig” Template über die Variable “isHMRMode” togglen. Die Storefront wird noch nicht als gebaute Variante ausgeliefert, diese muss noch von deiner Seite aus kompiliert wird.

1 Like

@Stephan Pohl schrieb:

@Shopwareianer‍ Richtig, der Port wird für den Hot Module Replacement Server von Webpack verwendet. Diesen kannst du im „base.html.twig“ Template über die Variable „isHMRMode“ togglen. Die Storefront wird noch nicht als gebaute Variante ausgeliefert, diese muss noch von deiner Seite aus kompiliert wird.

Die Variable hatte ich bereits gefunden, danke.

Ah okay, bzgl. der Kompilierung, super - Dank dir :slight_smile:

Bei mir sieht die Storefront jetzt wie folgt aus ( ziemlich unfertig, checkout nur eine weiße seite usw. ), ist das korrekt - Oder immer noch fehlerhaft?

Imgur

@Shopwareianer schrieb:

Die Variable hatte ich bereits gefunden, danke.

Ah okay, bzgl. der Kompilierung, super - Dank dir :)

Bei mir sieht die Storefront jetzt wie folgt aus ( ziemlich unfertig, checkout nur eine weiße seite usw. ), ist das korrekt - Oder immer noch fehlerhaft?

Das ist korrekt. An der Storefront wird auch noch heftig gearbeitet, da steht bishe rnur die Basis. 

1 Like

@Moritz Naczenski schrieb:

@Shopwareianer schrieb:

Die Variable hatte ich bereits gefunden, danke.

Ah okay, bzgl. der Kompilierung, super - Dank dir :)

Bei mir sieht die Storefront jetzt wie folgt aus ( ziemlich unfertig, checkout nur eine weiße seite usw. ), ist das korrekt - Oder immer noch fehlerhaft?

Das ist korrekt. An der Storefront wird auch noch heftig gearbeitet, da steht bishe rnur die Basis. 

Okay, super.

Wenn an der Storefront noch gearbeitet wird, gehe ich davon aus, dass es derzeit auch noch nicht möglich ist ein eigenes custom Theme zu beginnen? 

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍
Nachdem ich nun ein paar Stellen angepasst habe funktioniert es bei mir, sodass ich auch eine Storefront habe und auch sonst erstmal alles zu funktionieren scheint. Vielen Dank noch mal für das Script.

[@Stephan Pohl](http://forum.shopware.com/profile/2/Stephan Pohl “Stephan Pohl”)‍
@Shopwareianer‍
Bei mir sieht die Storefront nun so aus wie in @Shopwareianer‍ Comment:
https://forum.shopware.com/discussion/comment/243936/#Comment_243936

Welche Schritte sind dann hier genau erforderlich, um die Ressourcen zu laden?

@dreischild‍ Du musst die Asset Dateien erst kompilieren, schau mal hier: https://docs.shopware.com/en/shopware-platform-en/getting-started/dev-setup?category=shopware-platform-en/getting-started#common-tasks

./psh.phar storefront:install  und ./psh.phar storefront:dev wären die Commands welche du benötigst. Dann werden alle Dateien für die Storefront kompiliert. Mit ./psh.phar bekommst du alle verfügbaren Commands.

@Shopwareianer‍
Ich habe nun einmal die folgenden Commands ausgeführt:

  • init
  • storefront:install
  • storefront:dev

Das Ergebnis ist das gleiche.

Im Quellcode wird aber auch bpsw.: 

@dreischild‍  Ist denn deine Installation über shopware.test:8000 erreichbar?

Ich habe bei mir in der base.html.twig die isHMRMode Variable auf false gesetzt im Footer - Sodass eben ohne das Hot Reload ads ganze geladen wird / ohne Port. Sprich http://shopware.test/js/main.bundle.js

Das wird bei dir wohl das gleiche sein.