Introduction
Without applications, a server is just a very expensive space heater. In this chapter, I'll present some recipes to manage some specific software with Puppet: MariaDB, Apache, NGINX, and Ruby. I hope the recipes will be useful to you in themselves. However, the patterns and techniques they use are applicable to almost any software, so you can adapt them to your own purposes without much difficulty. One thing that these applications have in common is: they are common. Most Puppet installations will have to deal with a web server, either Apache or NGINX. Most, if not all, will have databases and some of those will have MariaDB. When everyone has to deal with a problem, community solutions are generally better tested and more thorough than homegrown solutions. We'll use modules from the Puppet Forge in this chapter to manage these applications.
When you are writing your own Apache
or NGINX
modules from scratch, you'll have to pay attention to the nuances of the distributions you...