Skip to content

An open source Vagrant configuration for developing with WordPress

License

Notifications You must be signed in to change notification settings

BetterCollective/BCVVV

 
 

Repository files navigation

BCVVV ( Varying Vagrant Vagrants for Better Collective )

Codacy Badge Average time to resolve an issue Percentage of issues still open

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.

Prerequisities

How to use

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

Good to know

Windows

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.

.gitignore specific to BC for each new site

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.

default-config.yml

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.

.test domain

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.

nginx versus apache

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.

Private Git repository access

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.

Other

When it's done, visit http://vvv.test.

The online documentation contains more detailed installation instructions.

Click here to access the original VVV README.md.

About

An open source Vagrant configuration for developing with WordPress

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 85.7%
  • Python 8.8%
  • HTML 3.1%
  • PHP 2.4%