Meine kurze Anleitung (Ubuntu 18.04):
Rechte setzen:
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) ~/.composer
sudo chown -R $(whoami) ~/_project_folder_
NPM aktualisieren (wenn nötig):
sudo npm install npm@latest -g
Starten:
./psh.phar docker start AKA docker-compose up --build -d
./psh.phar docker:ssh AKA docker exec -it <insert_id_here> bash
innerhalb des Containers dann:
./psh.phar install
Danach sollte auf localhost:8000 der Shop starten.. wenn eine MySQL Auth.-Method Fehlermeldung kommt hilft die Container zu beenden. In der Docker-Compose das DB-Image von dem MySQL-Image auf das MariaDB-Image zu ändern und noch mal die Container neu zustarten und ein wieder install durchführen.
Dann sollte alles laufen und man kann sich unter localhost:8000/admin mit admin - shopware anmelden.
Wenn man die lokalen psh.phar-Aufrufe durch die direkten Docker-Befehle ersetzt, sollte es auch unter Windows funktionieren. Innerhalb des Containers kann man natürlich wieder psh.phar verwenden.
Update:
manchaml kann auch helfen, dieses vorher einmal auszuführen, bevor man den Container startet und dort install aufruft:
php composer update --ignore-platform-reqs
User
annonyme
Date
2019-06-21 09:45
Tags
build , composer , docker , hannes pries , install , linux , mariadb , npm , psh , shopware , shopware 6 , windows
Es ist an sich ganz einfach bei der Installation oder des Updates seines Plugins auch gleich sich alle benötigten Freittextfelder anlegen zu lassen.
Hier ein kleines Beispiel aus meinem POS-Plugin:
public function install(InstallContext $context)
{
parent::install($context);
/** @var CrudService $service */
$service = $this->container->get('shopware_attribute.crud_service');
$list = $service->getList('s_user_attributes');
$balance = false;
$overdue = false;
/** @var ConfigurationStruct $item */
foreach ($list as $item){
if($item->getColumnName() == 'hpr_balance'){
$balance = true;
}
else if($item->getColumnName() == 'hpr_overdue'){
$overdue = true;
}
}
if(!$balance){
$service->update('s_user_attributes', 'hpr_balance', 'float',
[
'label' => 'Prepaid Guthaben',
'displayInBackend' => true,
]
);
}
if(!$overdue){
$service->update('s_user_attributes', 'hpr_overdue', 'boolean',
[
'label' => 'Guthaben überschreitbar',
'displayInBackend' => true,
]
);
}
}
Manchmal ist es nötig das Generieren der Doctrine Models selbst zu erzwingen. Das geht dann so:
Shopware()->Models()->generateAttributeModels(['s_user_attributes']);
Ich mache grundsätzlich, weil es doch einige Male nicht ganz von allein funktioniert hat.
Mehr braucht man nicht um mit Ubuntu ein LAMP-System einzurichten. Danach kann man direkt seine conf in sites-available anlegen und loslegen.
sudo apt-get install apache2 libapache2-mod-php7.1 php7.1 php7.1-mysql mysql-server openssh-server
sudo apt-get install phpmyadmin
sudo a2enmod rewrite
Bei der phpmyadmin Installation nicht vergessen nochmal Apache wirklich mit Space auszuwählen, es ist nur markiert aber nicht ausgewählt.
phpmyadmin ist optional Java und Oracle SQL-Developer oder einfach die MySQL Workbench würden auch gehen.
User
annonyme
Date
2018-02-02 18:54
Tags
a2enmod , apache , apt get , hannes pries , install , lamp , linux , openssh , phpmyadmin , server , ubuntu