Stop box checking for updates
If you want to stop your VM from checking for updates to the Vagrant box add the following immediately after the Vagrant.configure line:
# don't check for VM updates config.vm.box_check_update = false
Update Guest Additions
There is a plugin: vagrant-vbguest which will check if your VirtualBox Guest Additions are out of date in your VM and automatically update if necessary. You can install it with:
vagrant plugin install vagrant-vbguest
Once the Guest Additions have been installed you may want to use the following to prevent further updates (add just after the Vagrant.configure line):
# don't update guest additions config.vbguest.auto_update = false
Better synced folder permissions
Instead of the default synced folder settings which may cause problems when your server tries to change the files (e.g. WordPress updating itself) I use the following with Ubuntu:
config.vm.synced_folder "./", "/vagrant", id: "vagrant-root", owner: "vagrant", group: "www-data", mount_options: ["dmode=775,fmode=664"]
If you are using CentOS then the group should be apache
instead of www-data
.
Magento performance
You can boost Magento performance (or any complicated PHP app) when running from a VM by changing the PHP OPcache revalidate frequency. It defaults to 2 seconds which means when you are navigating a site all the PHP files are recompiled with every click. With tens of thousands of PHP files that’s a hefty penalty.
Changing this to something like 20 seconds means you’ll be using cached code. Do this with:
sudo nano /etc/php5/apache2/php.ini
and set
opcache_revalidate_freq = 20