Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shopware5/shopware-vagrant

A Vagrant setup ready for shopware development
https://github.com/shopware5/shopware-vagrant

shopware vagrant

Last synced: about 1 month ago
JSON representation

A Vagrant setup ready for shopware development

Awesome Lists containing this project

README

        

Vagrant Shopware Box
====================

## Installation

Virtualbox and Vagrant (min. Version 2.0) have to be installed on your local machine:

- [Virtualbox](https://www.virtualbox.org/wiki/Downloads)
- [Vagrant](https://www.vagrantup.com/downloads.html)

### Vagrant installation for Debian / Ubuntu

$ wget https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.deb
$ sudo dpkg -i vagrant_2.0.1_x86_64.deb

## Usage

Clone the repository to your local machine.

$ git clone https://github.com/shopwareLabs/shopware-vagrant
$ cd shopware-vagrant

Boot up your vagrant virtual machine:

$ vagrant up

The first boot may take a while, so feel free to get a cup of coffee.

Your machine will be available at [http://192.168.33.10/](http://192.168.33.10/)
All required tools like the LAMP stack are already installed.

- Adminer (DB-Administration): [http://192.168.33.10/adminer.php](http://192.168.33.10/adminer.php)
- MySQL user: `root`, password: `shopware`

To SSH into the created VM:

$ vagrant ssh

If you use Putty the ssh configuration can be obtained via:

$ vagrant ssh-config

To reprovision your machine:

$ vagrant provision

## Access files on Host machine

To start local development, it is recommended to sync the source shopware folder to a local folder.
To do this, uncomment one of the config.vm.synced_folder lines in the Vagrantfile file.

#config.vm.synced_folder "../src", "/home/vagrant/www/shopware", create: true, type: "smb"
#config.vm.synced_folder "../src", "/home/vagrant/www/shopware", create: true, type: "nfs"
#config.vm.synced_folder "../src", "/home/vagrant/www/shopware", create: true;

For example, for MacOS:

config.vm.synced_folder "src", "/home/vagrant/www/shopware", create: true, type: "nfs"

After editing the vagrant file, make sure to reload your instance.

$ vagrant reload

### Troubleshooting

- Error message "The 'ansible_local' provisioner could not be found.":

Make sure vagrant is at least at version 2.0:

$ vagrant -v

- Unable to mount directory (MacOS), given error message:

Got different reports about installed GuestAdditions version:
Virtualbox on your host claims: 5.0.18
VBoxService inside the vm claims: 6.0.8
Going on, assuming VBoxService is correct..."

Make sure GuestAdditions are same versions:

$ vagrant vbguest --do install
$ vagrant reload

## Change PHP Version

The following PHP Versions are installed by default:

- PHP 7.0
- PHP 7.1
- PHP 7.2

Call one of the following commands to change the PHP Version:

$ changephp_7.0
$ changephp_7.1
$ changephp_7.2

This will change the PHP Version used by the Apache webserver as well as the Version of the `php` command.

You can also call the PHP versions directly using their full path

$ /usr/bin/php7.0 -v
$ /usr/bin/php7.1 -v
$ /usr/bin/php7.2 -v

## Installing Shopware

SSH first into your VM:

$ vagrant ssh

Call the `install_shopware` script:

$ install_shopware

This will download the latest git version of shopware and install it into `/home/vagrant/www/shopware`.

Download test images:

$ cd /home/vagrant/www/shopware
$ wget -O test_images.zip http://releases.s3.shopware.com/test_images_since_5.1.zip
$ unzip test_images.zip

Configure your online store in a web browser with the credentials demo/demo:

- Backend: [http://192.168.33.10/shopware/backend/](http://192.168.33.10/shopware/backend/)

You can then access your storefront at:

- Front-end: [http://192.168.33.10/shopware/](http://192.168.33.10/shopware/)

## Notes for Arch Linux users

$ sudo pacman -S virtualbox ansible net-tools nfs-utils
$ sudo modprobe -a vboxdrv vboxnetadp vboxnetflt
$ sudo systemctl start nfs-server

## License

The MIT License (MIT). Please see [License File](LICENSE) for more information.