BCVVV is a fork of VVV. We strive to stick as much as possible to the origin repository, but setup a guideline for configuration and development.
Local development environment and guideline for Wordpress at Better Collective.
Always refer to the official VVV documentation, ./config/default-config.yml, and DevOps documentation.
Be aware that 'existing site' refer to a site that is already hosted on Plesk that you want to develop on, and 'new site' refer to a site that is NOT already Plesk, however, that you want to add.
This util is not meant as a configuration manager, but as a guideline and a place to get started.
- VirtualBox (latest)
- Vagrant (latest)
- Python 3
Clone this repository, enter the directory, and run the following.
vagrant plugin install --local
vagrant up --provision
Install requirements:
pip3 install -r ./requirements.txt
Run bcvvv.py
, read notes, and follow instructions carefully:
./bcvvv.py
Preferably run bcvvv.py
and Vagrant with the Git Bash terminal, and make sure to install it with MinTTY and not Windows' default console. Allow any belonging app (cli.exe, VirtualBox, etc.) that wants access to your local harddrive. The reason is that Windwos does not support unix sockets, but with Git Bash you will be able to use e.g., the ssh-agent
command to forward your key, or pip
to install necessary Python modules.
This repository contains a file in the root folder called gitignore-sample
that will be copied into each sites webroot when a new site is added with the bcvvv.py
script. In case you want to configure sites manually, you can copy the contents of this into a file called .gitignore
to achieve the same configuration on initiating a new site migration in Plesk.
This repository contains a file in ./config/
called default-config.yml
that contains an example of a configured site. This has commented lines that can be useful. Refer to this file for further configuration of sites, but stick to the official VVV documentation.
For each site created, both new and existing, .test
tld will be appended automatically as an optional domain name. An example could be guidedupari.com.test
.
A discrepancy that we have to be aware of in this local development environment and our Plesk farm, is that our Plesk farm uses Apache for all sites, and the local development environment uses Nginx. This can create discrepancy in regards of custom Apache configuration particularly for .htaccess
that will not be applied for sites developed in this environment. The nginx configuration is configured for Wordpress to a high degree, and it should not be a problem. If you are suspicious that problems occur due to the discprenancy of nginx versus apache please contact DevOps.
Run ssh-agent
to ensure the ssh forwarding agent is running. Run ssh-add -K [private-key-path]
to add it and ssh-add -L
to list forwarded keys. This is necessary when you have to work with VVV and a private Git repository. An example of the VVV configuration can be found in ./config/default-config.yml
.
When it's done, visit http://vvv.test.
The online documentation contains more detailed installation instructions.