{"id":20148626,"url":"https://github.com/ideasonpurpose/basic-wordpress-vagrant","last_synced_at":"2025-07-14T21:44:04.745Z","repository":{"id":36884803,"uuid":"41191794","full_name":"ideasonpurpose/basic-wordpress-vagrant","owner":"ideasonpurpose","description":"A fast, easy to use WordPress Vagrant environment modeled after managed WordPress hosting platforms like WP Engine and Flywheel.","archived":false,"fork":false,"pushed_at":"2021-08-11T13:41:37.000Z","size":175,"stargazers_count":25,"open_issues_count":11,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-23T21:46:01.836Z","etag":null,"topics":["vagrant","wordpress"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ideasonpurpose.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-22T05:08:01.000Z","updated_at":"2022-11-28T12:20:23.000Z","dependencies_parsed_at":"2022-09-03T00:21:02.023Z","dependency_job_id":null,"html_url":"https://github.com/ideasonpurpose/basic-wordpress-vagrant","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasonpurpose%2Fbasic-wordpress-vagrant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasonpurpose%2Fbasic-wordpress-vagrant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasonpurpose%2Fbasic-wordpress-vagrant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasonpurpose%2Fbasic-wordpress-vagrant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ideasonpurpose","download_url":"https://codeload.github.com/ideasonpurpose/basic-wordpress-vagrant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103902,"owners_count":21048244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vagrant","wordpress"],"created_at":"2024-11-13T22:38:20.031Z","updated_at":"2025-04-09T19:52:15.460Z","avatar_url":"https://github.com/ideasonpurpose.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Basic WordPress Vagrant Environment\n\n#### Version: 0.7.1\n\nAn easy to use, fast to spin up WordPress [Vagrant][] environment modeled after managed WordPress hosting platforms like WP Engine and Flywheel.\n\n## Advantages\n\nFrom a \"cold boot\" your WordPress Vagrant environment should be ready to go in about a minute, if not faster. Other WordPress Vagrant projects take much, much longer.\n\n## Requirements\n\n[Vagrant][] and [VirtualBox][] must be installed. The [vagrant-hostmanager][] plugin is highly recommended, but not required.\n\nComplete [first-time setup instructions](#complete-one-time-setup-instructions) are below.\n\n## Instructions\n\n1.  Download the [zip archive](https://github.com/ideasonpurpose/basic-wordpress-vagrant/archive/master.zip) or clone this repo\n2.  Unzip and rename the directory to something like `yoursite.test`\n3.  For existing projects, clone or copy your site into a `site` directory. New projects will create `site`.\n4.  Optionally copy a MySQL dumpfile into the project directory\n5.  Install plugins: `vagrant plugin install vagrant-hostmanager` (Mac and Linux users should also install the `vagrant-bindfs` plugin)\n6.  Run `vagrant up`\n\nWhen the Vagrant environment is provisioned a fresh install of WordPress will be applied to the `site` directory. **Any changes to core files or default themes will be lost.** Those files should really never be changed anyway, and this behavior is deliberate and intentional.\n\nTo avoid being asked for a password on every `vagrant up` (when using the [vagrant-hostmanager][] plugin), [edit the sudoers file][visudo] and add the [ lines from this gist][sudoers].\n\n#### WP Engine Specific Instructions\n\n1.  Download the [zip archive](https://github.com/ideasonpurpose/basic-wordpress-vagrant/archive/master.zip) or clone this repo\n2.  Unzip and rename the directory to `yoursite.dev`\n3.  Download a backup snapshot from your [WP Engine Dashboard](https://my.wpengine.com).\n4.  Decompress the zip archive and rename the resulting directory to `site`\n5.  Copy `site` into `yoursite.dev`, replacing the existing `site` directory.\n6.  Run `vagrant up`\n\n#### Flywheel Specific Instructions\n\n1.  Download the [zip archive](https://github.com/ideasonpurpose/basic-wordpress-vagrant/archive/master.zip) or clone this repo\n2.  Unzip and rename the directory to `yoursite.dev`\n3.  Download a backup snapshot from your [Flywheel Dashboard](https://app.getflywheel.com). Flywheel backup archives contains a `backup.sql` database dumpfile and a `files` directory.\n4.  Rename `files` to `site`\n5.  Copy `site` and `backup.sql` into `yoursite.dev`, replacing the existing `site` directory.\n6.  Run `vagrant up`\n\n## Other Uses\n\nWhile this project's main goal is to provide a fast, standard WordPress development environment based on popular managed hosts, there are times where that just won't work. For sites installed in a subdirectory or using other custom file structure, there are options to help stage those as well.\n\nThe [`config.yml`][config] file includes `wp_dir` and `wp_content` settings which can be used to override the WordPress defaults.\n\n## Complete, One-Time Setup Instructions\n\nBelow are the complete steps necessary to use the Basic WordPress Vagrant Environment on a new Mac. These steps should only need to be done once, but it's useful to review if something isn't working correctly.\n\n1.  Download the Vagrant installer from [vagrantup.com][vagrant] and install Vagrant.\n2.  Download the VirtualBox installer from [virtualbox.org][virtualbox] and install VirtualBox.\n\nThat's everything, now just follow the [Instructions](#instructions) to spin up your WordPress environment.\n\n## Upgrading\n\nOne of this project's goals is to promote [disposability](http://12factor.net/disposability): Developers should be able to spin up and tear down local development sites quickly and dependably. An ideal managed WordPress site is just a database dumpfile and whatever code exists in the `wp-content` directory. Everything outside of that should be replaceable. The only exception would be site-specific configurations in [`config.yml`][config].\n\n## Additional Settings and Customizations\n\nMany custom options can be set in [`config.yml`][config]:\n\n- `wp_download` can be used to install specific WordPress versions.\n\n- `install_plugins` toggles automatic installation of missing plugins\n\n- `wp_dir` changes the install location of WordPress, use this to install WordPress into a subdirectory.\n\n- `wp_content` remaps the `wp-content` directory. Useful for working on roots.io style installations.\n\n- `enable_xdebug` toggles [xDebug][] display\n\n- `table_prefix` maps directly to the WordPress Database Table prefix in `wp-config.php`\n\n## Extras\n\n- Missing WordPress plugins will be installed if they can be found in the [WordPress Plugin Directory](https://wordpress.org/plugins/).\n\n- All settings for [Debugging in WordPress](https://codex.wordpress.org/Debugging_in_WordPress) are enabled.\n\n- Save [`vagrant-hostmanager-nopasswd`][sudoers] to `/etc/sudoers.d/` for password-free, host-managed `vagrant up`.\n\n- File permissions are handled by managed hosts and may differ between projects. To ignore permissions for sites managed with Git, run this in your local repo: `git config core.filemode false`\n\n## White Screen of Death?\n\nLog directly into `/wp-admin` and try to activate your theme again.\n\n## Additional Notes\n\nThe [Hostmanager][vagrant-hostmanager] and [Bind-fs](https://github.com/gael-ian/vagrant-bindfs) plugins will be auto-installed on `vagrant up`.\n\nAn extensive [.gitignore file][gitignore] will be added to the site directory if one doesn't already exist. This file excludes all WordPress core files from Git.\n\nThe Ansible provisioner will search for MySQL database dumpfiles in the top five levels of the project, ignoring WordPress core and common vendor directories. The top-most (first-found) database dumpfile will be imported.\n\nA default theme can be set in `config.yml`. If no default is set, the Ansible provisioner will attempt to activate a theme whose name matches the `name` attribute in `site/package.json`. These settings help prevent white-screens when restoring a project which uses versioned theme directories.\n\nUsing Composer from `vagrant ssh` may require a GitHub OAuth token. More info: [API rate limit and OAuth tokens](https://github.com/composer/composer/blob/master/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens).\n\nFor direct MySQL access, `vagrant ssh`, then `mysql wordpress`.\n\nThe base box was generated from the [ideasonpurpose/basic-wordpress-box](https://github.com/ideasonpurpose/basic-wordpress-box) project.\n\nSome [solutions for Chrome's annoying HSTS lockout][hsts]. Try typing `badidea` on the error page.\n\n[Vagrant Hostmanager][vagrant-hostmanager] may silently fail to write to `etc/hosts` on Windows 10.\n\nMicrosoft Edge on Windows 10 will not load websites from local IP addresses. IE11, Chrome and Firefox all work correctly.\n\n## About\n\n[![iop_logo](https://avatars1.githubusercontent.com/u/2059022?s=100\u0026v=4)][iop]\n\nThis project is sponsored by and used in production at [Ideas On Purpose][iop].\n\n[iop]: http://ideasonpurpose.com\n[vagrant]: https://www.vagrantup.com\n[virtualbox]: https://www.virtualbox.org\n[ansible]: http://docs.ansible.com/ansible/intro_installation.html\n[homebrew]: http://brew.sh\n[gitignore]: https://gist.github.com/joemaller/4f7518e0d04a82a3ca16\n[vagrant-hostmanager]: https://github.com/smdahlen/vagrant-hostmanager\n[config]: https://github.com/ideasonpurpose/basic-wordpress-vagrant/blob/master/config.yml\n[windows]: https://github.com/ideasonpurpose/basic-wordpress-vagrant/issues/4\n[sudoers]: https://gist.github.com/joemaller/41912f5d027a4adc7c14\n[visudo]: http://stackoverflow.com/a/14101449\n[xdebug]: https://xdebug.org/docs/\n[hsts]: https://stackoverflow.com/questions/33268264/chromethe-website-uses-hsts-network-errors-this-page-will-probably-work-late\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideasonpurpose%2Fbasic-wordpress-vagrant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fideasonpurpose%2Fbasic-wordpress-vagrant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideasonpurpose%2Fbasic-wordpress-vagrant/lists"}