Hello,
I want to propose you different options on your request
1. Automate all setup using bash script.
I can write bash script that will install and configure your software, make directories, change permissions, etc.
I propose more elegant solution - using Ansible.
Ansible is a free-software platform for configuring and managing computers which combines multi-node software deployment, task execution, and configuration management. It manages nodes over SSH.
You can specify list of IP addresses of your new servers, run ansible in your shell and it will make all job on all listed servers.
2. create a container (snapshot) of the server
Is it physical server or virtual?
What kind of virtualization is used?
We can create snapshot and deploy from it only if you have access to physical node from which virtual servers will be created.
Please contact me to discuss details.
Kind regards,
Vladimir Solovyov