Decided on a whim to use some down time this morning to upgrade my server from Debian 7 to Debian 8. As usual, I ran into a few issues that I wasn’t anticipating (but should have been).
In Debian 8, Varnish is upgraded from 3.x to 4.x. I probably should have paid more attention to that. For me, it meant a couple of things needed to change:
- Add vcl 4.0; as your first line of your VCL
- req.grace is gone, in favor of a more broad implementation of stale-while-revalidate. I had to comment it out of my VCL.
- vcl_fetch is vcl_backend_response, and req. is now bereq.
Debian 8 brought Apache up to Apache 2.4, and a handful of things changed that impacted me.
- .htaccess files were causing my sites to blow up because I use some overrides (like setting specific redirects or ExpireActions in them). AllowOverride needed to be set per virtual host, and on a specific directory. Easy to do, but broke my sites initially.
- The LockFile directive has been replaced by Mutex (or can just be removed from your config, likely).
- NameVirtualHost is just a no-op now, so removing that line got rid of a warning on restart.
Those were the big ones that bit me. I also had to manually stop varnish, do an
apt-get upgrade; apt-get autoremove
then restart varnish to get apt to run without errors (it was borking on some stale varnish process it seemed.
All things that could have been avoided if I’d done any planning ahead of upgrading my server. But in the end, I’m happily running on Debian 8, and everything seems to be working as expected.