How to manage server configurations for small projects and servers? [closed]

I have been developing a web application which recently launched. Now I am continuing with improvements and want to create a staging server similar to the production server.

I know of the existence of tools like Ansible, Puppet and Chef, however scanning through the docs seems like they are a bit overkill for my simple usecase. Of course there is the solution of completely dockerizing the application, which would be a good thing.

But other than Dockerizing the application, what would you recommend for simply recreating a production server?

All it has to do is:

  • Install a few dependencies: PHP, MySQL, Nginx, Java, Elasticsearch
  • Add database, database user
  • Add a user
  • Configure SSH keys
  • Change SSH to authorization by keyfile only
  • Add a few firewall rules

Answer

Actually puppet has a very easy to implement local config for small environments and is one of the best tools for this.

This page has info on a very very quick and easy setup.

http://projects.puppetlabs.com/projects/1/wiki/simplest_puppet_install_pattern

Attribution
Source : Link , Question Author : Machiel , Answer Author : Craig

Leave a Comment