While I have a good deal of familiarity with Linux and UNIX systems, this is a bit new for me:"; I don't even quite know what exact terms to search for. I've always set up my new installs by hand, one thing at a time, but I understand that a better approach is to script it, particularly since I may need to set up the same VPS and/or VMs multiple times. It seems software like puppet/chef/ansible fill this niche, but I'm not really sure they're for me for they seem to be geared toward high volume and my needs are not.
Given a minimal install of, say Debian, I need a script that:
- creates a secondary user (predetermined name)
- sets up its ssh key and configs it as a sudoer
- sets up SSH to allow only key logins; configures SSH to use a different port
- installs Fail2Ban
- installs and configures a firewall
- installs and configures nginx, Python, etc
- configures postfix or exim
- configures DNS records
- etc
Once I configure one of these machines once, i'd like to be able to just bring another machine up, run the script and thus have it ready by the time it's done.
So what exactly should I be googling for? Or what software should I be looking at?
[link] [comments]