Shopware Plattform / 6 / Playground lokal ohne Docker

Wie auch immer die neue Shopware Version heißen mag - Ist es auch möglich das Shopware Platform / Dev Repo ohne Docker zum laufen zu bringen?

Irgendwie habe ich dazu nichts gefunden und bekomme es auf die schnelle gerade auch nicht hin :slight_smile:

Hi,

so müsste es laufen: https://docs.shopware.com/en/shopware-platform-en/getting-started/dev-setup?category=shopware-platform-en/getting-started#ubuntu-18-04-lts

Viele Grüße aus Schöppingen

cool Michael Telgmann

2 Likes

@Michael Telgmann schrieb:

Hi,

so müsste es laufen: https://docs.shopware.com/en/shopware-platform-en/getting-started/dev-setup?category=shopware-platform-en/getting-started#ubuntu-18-04-lts

Viele Grüße aus Schöppingen

cool Michael Telgmann

Das hatte ich bereits gelesen - Aber wie es mir scheint müsste ich wohl einfach bin/setup ausführen auf meiner lokalen Umgebung. Das Ubuntu Setup macht ja net viel anders, ausser das nötige PHP Gedöns und die Vhost & Co. anzulegen. Klappt noch nicht ganz alles mit valet-plus bei mir lokal, aber ich versuche es erst einmal weiter :) 

Danke dir  Thumb-Up  

Hi @Shopwareianer‍,

würde mich auch interessieren, ob du mit dem Guide weiterkommst. Ich habe gestern vergeblich versucht ein System in meinem Standard Setting aufzusetzen. Bin nun hingegangen und habe Step by Step die Schritte in dem Guide befolgt und komme hier nur von Fehler zu Fehler. Immerhin geht jetzt schon mal die Adminstration.

Ggf. für dich dann auch interessant:
https://forum.shopware.com/discussion/59722/shopware-development

VG Dennis

@dreischild‍ Ja, ich aktuell auch. Muss hier mehr am System rum schrauben und Fehler ausbügeln :smiley:

Aber ich schaue mal, vielleicht klappt es nachher. Versuche erstmal die MySQL Fehler beim Setup zu fixen. Bin ich aber wohl auch selber schuld, da ich mehrere Versionen installiert hab … Anyway: Ich gebe auf jeden Fall später mal bescheid, ob das alles funzt, oder net.

@dreischild‍ [@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann “Michael Telgmann”)‍  So, nachdem ich mein Datenbank Chaos gelöst habe, lief nun alles ohne Probleme durch. Ohne Docker, ohne Ubuntu.

Ich nutze Valet-Plus auf meinen OSX Rechner. Allerdings scheint es wohl ein Problem mit dem UTF coding zu geben.

Die Tabelle ist: utf8mb4

Im Frontend bekomme ich teilweise nur:

InvalidArgumentException

Malformed UTF-8 characters, possibly incorrectly encoded

So sieht die Datenbank aus:

Imgur

PS: Was ist den das default pw? admin, adminadmin oder password funktioniert nicht :slight_smile:
In der Doku finde ich dazu nichts. 

Passwort müsste shopware sein,

Viele Grüße

Andre

@AndreHerking schrieb:

Passwort müsste shopware sein,

Viele Grüße

Andre

Jap. Nach Login passiert allerdings nicht viel. Der Error ist:

Uncaught PHP Exception ErrorException: " Notice: Use of undefined constant PASSWORD_ARGON2I - assumed ‚PASSWORD_ARGON2I‘" at /Users/me/Desktop/code/shopware-dev/vendor/shopware/platform/src/Core/Framework/DataAbstractionLayer/Field/PasswordField.php line 24 

Habe dieses Thema gefunden: Critical: Argon2 algorithm not working in latest PHP 7.2 · Issue #237 · cloudfoundry/php-buildpack · GitHub

Ich nutze PHP 7.2.15. Hängt es hiermit evtl. zusammen? Wobei es ja laut issue eigentlich behoben ist.

Evtl muss ich es wohl nochmal mit –with-password-argon2 installieren. Mal schauen …

@Shopwareianer schrieb:

Ich nutze PHP 7.2.15. Hängt es hiermit evtl. zusammen?

Nutze ich auch, hab damit keine Probleme. Glaube ich also nicht.

Mein Setup ist php-7.2.15fpm, Apache, mariaDB 10.3.13

Ich hab mir ein einfaches script gemacht zum aufsetzen:

#!/bin/bash
rm -R /var/www/html/development
echo 'Alte Installation geloescht'
git clone https://github.com/shopware/development.git
echo 'neue Installation heruntergeladen'
cp /var/www/html/.psh.yaml.override development/
echo 'Konfiguration kopiert'
chmod 0777 -R /var/www/html/development
chown -R www-data:www-data /var/www/html/development
echo 'Verzeichnisrechte angepasst'
cd /var/www/html/development
composer install
echo 'Abhaengigkeiten aufgeloest'
./psh.phar install
echo 'Installation abgeschlossen'
./psh.phar storefront:install
./psh.phar storefront:prod
echo 'Storefront gebaut'

Habe selbst zwar ein Docker-Setup, hab das aber so auch schon auf einer einfachen Ubuntu-Maschine mit LAMP-Stack gemacht.

Ich benutze eine vorgefertigte yml.override um das vorzubereiten:

const:
  APP_ENV: "dev"
  APP_URL: "http://development"
  DB_HOST: "database"
  DB_PORT: "3306"
  DB_NAME: "next"
  DB_USER: "root"
  DB_PASSWORD: "root"

 

Ja, Sollte ja in PHP 7.2.X funktionieren und drin sein. Bekomme im Backend nach Login aber:  Foot-in-Mouth

Notice: Use of undefined constant PASSWORD_ARGON2I - assumed ‘PASSWORD_ARGON2I’

Oder hängt es vielleicht mit dem falschen Encoding der DB zusammen, sodass es falsch gespeichert wird? Welches wäre denn für die Datenbank korrekt? Denn die Datenbank speichert ja zum Teil nur Hyroglyphen wie oben im Bild zu sehen.  MySQL ist übrigens  5.7.22

Sicher, dass das nicht einfach binary Felder sind? Die kann PHPMyAdmin glaube noch nicht lesen. Adminer bspw. kann das. Mein aktuelles PHPMyAdmin zeigt aber dennoch keine Hyroglyphen an.

So sieht meine DB aus.

@Moritz Naczenski schrieb:

Sicher, dass das nicht einfach binary Felder sind? Die kann PHPMyAdmin glaube noch nicht lesen. Adminer bspw. kann das. Mein aktuelles PHPMyAdmin zeigt aber dennoch keine Hyroglyphen an.

image

So sieht meine DB aus.

Ich nutze Sequal Pro. Sowie ich das sehe speichert oder hat er alles als Hyroglyphen drin, was irgendwie mit einer ID zu tun hat. 

Kann mir aber eben den Fehler im Backend mit

Uncaught PHP Exception ErrorException: " Notice: Use of undefined constant PASSWORD_ARGON2I - assumed ‘PASSWORD_ARGON2I’" at /Users/me/Desktop/code/shopware-dev/vendor/shopware/platform/src/Core/Framework/DataAbstractionLayer/Field/PasswordField.php line 24 

nicht erklären …

Und im Frontend bzgl. des Endcodings bekomme ich eben den Fehler:

(1/1) InvalidArgumentException

Malformed UTF-8 characters, possibly incorrectly encoded

in JsonResponse.php line 152at JsonResponse->setData(false)in JsonResponse.php line 50at JsonResponse->__construct(array(‘errors’ => array(array(‘code’ => ‘0’, ‘status’ => ‘500’, ‘title’ => ‘Internal Server Error’, ‘detail’ => 'Notice: Use of undefined constant PASSWORD_ARGON2I … usw

Da muss also irgendwo was nicht stimmen - Im Setup. 

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

Bzgl. deines Scripts von oben:
Hast du hier ggf. eine komplette Aufstellung, welche Schritte du hier von einem komplett neuem Ubuntu 18.04 bis zu einer aufgesetzten Testumgebung machst? Also inkl. Hosteintrag, APT Get Installs etc.? Das sollte ja eigentlich durch eurern DEV Guide der Fall sein. Dies funktioniert nur leider nicht ganz.

@dreischild schrieb:

Bzgl. deines Scripts von oben:
Hast du hier ggf. eine komplette Aufstellung, welche Schritte du hier von einem komplett neuem Ubuntu 18.04 bis zu einer aufgesetzten Testumgebung machst? Also inkl. Hosteintrag, APT Get Installs etc.? Das sollte ja eigentlich durch eurern DEV Guide der Fall sein. Dies funktioniert nur leider nicht ganz.

Also mein  Docker-Setup ist kein Ubuntu.

Bei den anderen hab ich als Ausgangsbasis ein Standardsetup für SW5 genutzt und dann noch nodejs nachinstalliert. Also da ist nicht wirklich ein Unterschied. 

Im Prinzip also ein Standard LAMP-Setup + mysql_group_concat anpassen. Composer installieren und ein aktuelles nodejs. Da muss man nichts groß konfigurieren.

@Shopwareianer schrieb:

Ich nutze Sequal Pro. Sowie ich das sehe speichert oder hat er alles als Hyroglyphen drin, was irgendwie mit einer ID zu tun hat. 

Sicher, dass das Programm mit binary Feldern umgehen kann? Bspw. mysql workbench kann das auch nicht.

Die Felder haben halt keine „einfachen“ Daten. In PHPMyAdmin sehen die so aus:

 

@Moritz Naczenski schrieb:

@Shopwareianer schrieb:

Ich nutze Sequal Pro. Sowie ich das sehe speichert oder hat er alles als Hyroglyphen drin, was irgendwie mit einer ID zu tun hat. 

Sicher, dass das Programm mit binary Feldern umgehen kann? Bspw. mysql workbench kann das auch nicht.

Die Felder haben halt keine „einfachen“ Daten. In PHPMyAdmin sehen die so aus:

  image

Unabhängig davon ob Sequal Pro es korrekt anzeigen kann oder nicht, müsste ja das Backend funktionieren. Und auch im Frontend bekomme ich ja diesen Encoding Fehler - Irgendwas scheint da eben nicht zu stimmen … Ich weiß nur net was … :frowning:
Ob SP das kann, weiß ich gar net. Sehe ich gerade zum ersten mal den Fehler. Auch mit dem PW Hash :D 

Sollten die Datenbank und die Tabellen nicht ut8_unicode_ci sein? Oder unterstützt die zukünftige Version Multibyte?

Ich hatte mir auch unter Version 5 schon Staging- und Backup-Umgebungen falsch aufgesetzt, weil ich ut8mb4_unicode_ci statt ut8_unicode_ci verwendet hatte. (Die Verbindung darf ruhig ut8mb4_unicode_ci sein.)

@Shopwareianer schrieb:

@Moritz Naczenski schrieb:

@Shopwareianer schrieb:

Ich nutze Sequal Pro. Sowie ich das sehe speichert oder hat er alles als Hyroglyphen drin, was irgendwie mit einer ID zu tun hat. 

Sicher, dass das Programm mit binary Feldern umgehen kann? Bspw. mysql workbench kann das auch nicht.

Die Felder haben halt keine “einfachen” Daten. In PHPMyAdmin sehen die so aus:

  image

Unabhängig davon ob Sequal Pro es korrekt anzeigen kann oder nicht, müsste ja das Backend funktionieren. Und auch im Frontend bekomme ich ja diesen Encoding Fehler - Irgendwas scheint da eben nicht zu stimmen … Ich weiß nur net was … :(
Ob SP das kann, weiß ich gar net. Sehe ich gerade zum ersten mal den Fehler. Auch mit dem PW Hash :D 

Vielleicht liegt es am Encoding der Dateien?
Die Storefront zieht die Snippets auch aus JSON-Dateien, der Fehler kann also auch aus der Datei für die Textbausteine kommen, da dort die Umlaute falsch formatiert sind. Eigentlich sollte aber bei einem “git clone” da kein Problem entstehen.

Nachstellen kann ich das zumindest lokal nicht, das Setup was ich habe läuft schon mehrere Monate stabil. 

[@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

dreischild@dreischild:~/shopware-dev/custom/plugins/SwagExample$ ls -al
insgesamt 24
drwxr-xr-x 4 dreischild www-data 4096 Mär 20 12:50 .
drwxr-sr-x 3 dreischild www-data 4096 Mär 20 12:40 ..
-rw-r--r-- 1 dreischild dreischild 268 Mär 20 12:50 composer.json
drwxr-xr-x 2 dreischild www-data 4096 Dez 24 08:18 Controller
drwxr-xr-x 2 dreischild www-data 4096 Dez 24 10:17 Resources
-rw-r--r-- 1 dreischild www-data 130 Dez 21 10:43 SwagExample.php
dreischild@dreischild:~/shopware-dev/custom/plugins/SwagExample$ ../../../bin/console plugin:refresh

Shopware Plugin Service
=======================


In FieldExceptionStack.php line 22:
                                                                                    
  Mapping failed, got 1 failure(s). Array                                           
  (                                                                                 
      [/translations/20080911ffff4fffafffffff19830531/label] => Array               
          (                                                                         
              [validation-error-violation-error] => Array                           
                  (                                                                 
                      [0] => Array                                                  
                          (                                                         
                              [message] => This value should not be blank.          
                              [messageTemplate] => This value should not be blank.  
                              [parameters] => Array                                 
                                  (                                                 
                                      [{{ value }}] => null                         
                                  )                                                 
                                                                                    
                              [propertyPath] => label                               
                          )                                                         
                                                                                    
                  )                                                                 
                                                                                    
          )                                                                         
                                                                                    
  )