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