paulgibbs / wordpress-meta-environment

A collection of scripts that provision the official WordPress.org websites into a Varying Vagrant Vagrants installation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WordPress Meta Environment

WME aims to make it easier to contribute to the network of official WordPress.org websites by automatically setting up a local development environment that is already provisioned with everything you need to get started on a patch. The environment will contain all of the open-source code that runs each supported site, as well as some sample data that mimics the production site.

WME is built on top of Varying Vagrant Vagrants, and works by provisioning the WordPress.org sites into an existing VVV installation. You can find a lot of documentation and resources for working with VVV on its homepage.

You can find more information about contributing to the official WordPress websites from the Meta team's handbook.

Available Sites

The goal is to eventually include all of the sites in the network.

Setup

  1. Setup Varying Vagrant Vagrants. If you choose to not install the vagrant-hostsupdater plugin then you will need to manually add each of the site's hostnames to your local hosts file.
  2. Clone this repository as a subdirectory of VVV's www folder -- e.g., git clone https://github.com/iandunn/wordpress-meta-environment.git vagrant-local/www/wordpress-meta-environment. If you choose to name the directory something other than wordpress-meta-environment, then you'll need to update the paths in each site's vvv-nginx.conf file before you provision VVV in the next step.
  3. Restart and re-provision VVV with vagrant halt && vagrant up --provision.
  4. Visit http://wp-meta.dev for links to all the available sites. You can log in to any of them with with username admin and password password.

Updating

When new sites are added to the repository, you'll need to re-provision your local copy in order to obtain the new site.

  1. If the new site is not part of an existing multisite/multi-network installation, then you can simply run vagrant halt && vagrant up --provision.
  2. If the new site is part of an existing installation (like wordpressorg.dev), then you'll need to delete the public_html folder and database for that site, and then run vagrant halt && vagrant up --provision. Don't forget to backup any uncommitted patches that you're working on.

If you're upgrading from an older copy of WME -- prior to December 4, 2014 -- then the best way to upgrade is just to start from scratch, since the repository has changed so much. Prior to the 4th, WME was a full fork of Varying Vagrant Vagrants, including the virtual machine, rather than just a collection of scripts that runs in an existing VVV installation.

Notes

  • Subversion client version conflicts: Subversion repositories are checked out using version 1.8 inside the virtual machine, and the 1.8 repository format is not compatible with the svn 1.7 client. If you have an older client and try to run any svn commands, you'll get a The client is too old to work with the working copy error. Unfortunately there is no way to downgrade the repository format, but you can work around the issue by either, 1) Upgrading your svn client to version 1.8+; or 2) Work with svn from inside the virtual machine.
  • Developer.WordPressorg.dev WP-Parser memory errors: You may need to increase the amount of RAM that the virtual machine has in order to run the parser for developer.wordpress.dev. To do that, open VVV's Vagrantfile, locate the line that contains v.customize ["modifyvm", :id, "--memory", 512], and change 512 to 1024. Once you've done that, run vagrant halt && vagrant up to make the change take effect.
  • WordPressTV.dev video upload errors: The WPTV uploader integrates with VideoPress, which requires a connection to WordPress.com and a paid VideoPress subscription, so it isn't enabled.

Support

If you run into any problems, check the Notes section above. If that doesn't help, feel free to open an issue or ping iandunn in the #meta channel on WordPress's Slack server.

Contributing

Pull requests are welcome. Check out the TODO file for things that need some help, or open an issue to suggest something that's not on the list.

Before you make any database changes for a pull request, please make sure that you delete your local copy of the database and import the latest version. That will make merging much easier and helps avoid regressions.

About

A collection of scripts that provision the official WordPress.org websites into a Varying Vagrant Vagrants installation.


Languages

Language:PHP 64.9%Language:Shell 34.6%Language:CSS 0.5%