Shopware 6 – Instalación usando Reward

Este post documenta como instalar Shopware 6 con el orquestador de docker Reward.

Reward esta inspirado en Warden pero me parece un poco mas flexible para lo que suelo necesitar en mi estación local para el desarrollo con PHP, Magento 2, Shopware o WordPress.

Si estas interesado en conocer mas sobre Reward o como instalarlo la documentación es bastante clara.

Para crear un host usando Reward es imprescindible haberlo levantado, si no lo tenemos corriendo lo hacemos con:

reward svc up

Creamos el directorio para el proyecto y entramos en el:

mkdir ~/www/testshopware
cd ~/www/testshopware

Inicializamos el proyecto:

reward env-init testshopware --environment-type=shopware

Creamos el certificado para poder trabajar con HTTPS

reward sign-certificate testshopware.test

Cambiamos el directorio raiz a donde se apunta el dominio por “webroot”:

sed -i.old -e 's#^REWARD_WEB_ROOT.*#REWARD_WEB_ROOT=/webroot#' .env

Clonamos la plantilla “Production” en el web root donde estará nuestro proyecto:

git clone https://github.com/shopware/production.git ~/www/testshopware/webroot

NOTA: El orquestador “Reward” (y “Warden” también) crean un archivo “.env” en el directorio del proyecto, como Shopware 6 también requiere de un archivo “.env” con variables de entorno necesitamos que nuestro código este en una sub carpeta del proyecto. En este caso “webroot”

Iniciamos los contenedores del proyecto Reward:

reward env up

Ingresamos al contenedor de la aplicación:

reward shell

Cambiamos la versión de composer a 2:

sudo alternatives --set composer /usr/bin/composer2

NOTA: por defecto la versión de Reward con la que estoy trabajando instala para el proyecto de tipo “Shopware” composer 1.x pero necesitamos la versión 2.

Instalamos las dependencias con composer:

composer install

Creamos un archivo “.env” con la variable de entorno “APP_URL” setada con el dominio local de nuestro proyecto.

echo 'APP_URL="https://testshopware.test"' >> .env

Corremos el setup con el parámetro “–force” para, mediante el wizard, setear las otras variables de entorno en el archivo “.env

bin/console system:setup --force

Para el “host” de la base de datos usar “mysql” en lugar de “localhost” y “app” como password.

El ultimo paso es correr el instalador:

bin/console system:install --create-database --basic-setup

Si todo salio bien tendremos

Front end: https://testshopware.test

Backend : https://testshopware.test/admin/

Usuario: admin

Password: shopware

Salimos del contenedor con :

exit

Si necesitamos detener el proyecto

reward env stop

Y si queremos reiniciarlo

reward env start

Para este ejemplo se ha utilizado:

Ubuntu 20.04, Docker 20.10, Reward 0.2.0-beta, Shopware 6.4

Reward: https://rewardenv.readthedocs.io/en/latest/index.html

Shpware 6: https://www.shopware.com

Leave a Reply

Your email address will not be published. Required fields are marked *