We use Ansible to manage many of our servers, especially the important production servers. Ansible allows us to manage the servers in a structured manner, and prevent human error, or conflicts between changes from different sysadmins. It allows us to automate the whole process of installing and configuring software on a server in a repeatable fashion, and manage the scripts and configuration in a github repository, so any changes can be rolled back, and we can trace what was changed when by whom. Ansible has a good introduction page in their documentation if you need to learn more.
To get started with ansible you need to do the following:
- Install git and ansible
- Clone the nightowl ansible repository from gitlab to a folder of your computer with
git clone https://gitlab.com/nightowlph/ansible
- Now inside that folder, clone the roles from Dolfs github account into a folder called "roles" with
git clone https://github.com/dolfandringa/ansible-roles ./roles
- If everything is ok, you should now have a folder called "ansible" with a bunch of .yml files and a file called "hosts". And in the ansible folder there should be a folder called "roles" with a bunch of folders in there like this:
- Now you should be able to "ansible-playbook -i hosts <playbook file>.yml"