I was switching between working on a Laravel project and working on updating the theme for this site and I found myself starting Local by Flywheel, when I realised that I have a Homestead machine running in the background. So I figured that I should make WordPress work on Homestead as well. As it seems, it’s not all that complicated.
I develop on a windows machine so your folder structures may differ a bit, but this is how this looks for me:
homestead/— the location of the homestead machine
wp/— local root of the WordPress instance
laravel/— local root of the Laravel instance
The initial setup of the homestead machine is as follows:
- move inside the
homestead/folder, run the
composer initcommand and run through the setup.
composer require laravel/homestead --dev
vendor\\bin\\homestead make( or if you are on a Mac
php vendor/bin/homestead make)
Now we move to edit the Homestead.yml file:
- the first things I usually set differently are
memory: 4096 provider: hyperv ssl: true
- next we map the wp/ and laravel/ to the internal homestead directories:
folders: - map: 'E:\Projects\podcast-directory' to: /home/vagrant/code/podcast - map: 'E:\Projects\wp-main' to: /home/vagrant/code/wp-main
- next we map the sites
sites: - map: podcast.test to: /home/vagrant/code/podcast/public - map: wp.test to: /home/vagrant/code/wp-main
- next we set up the databases
databases: - homestead - wp-main
And the last step would be to run a
vagrant up, and that’s pretty much it.