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 thecomposer init
command and run through the setup. - run
composer require laravel/homestead --dev
- run
vendor\\bin\\homestead make
( or if you are on a Macphp 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.