In this example, we use geerlinguy
’s role, which is a software developer involved in many open-source development communities. The latest version will be downloaded if you do not specify which one you want to download. Add the version after the role name to specify a version. Example: geerlingguy.apache,1.0.0
or geerlingguy.mysql,1.0.0
.
If you want to use other roles, check out geerlinguy’s Ansible profile.
Getting Started with Ansible Galaxy
- ansible
- ansible-galaxy
In this tutorial, we show you how to use Ansible Galaxy. Ansible Galaxy is a tool that seeks to give visibility to one of Ansible’s most exciting features: reusable roles for server configuration or the installation of applications. Many users share roles on Ansible Galaxy.
Ansible roles consist of playbooks that group multiple tasks into one container. They allow the performance of automation tasks with clean directory structures.
Before you start
To complete the actions presented below, you must have:
- A Scaleway account logged into the console
- Owner status or IAM permissions allowing you to perform actions in the intended Organization
- An Instance running Ubuntu Linux
- Basic knowledge of Ansible and Ansible-Apache
- Ansible-Apache installed on your local computer
Creating a LAMP server with Ansible roles
To use roles in Ansible playbooks, you must first download them.
- Install Apache, MySQL, and PHP.
ansible-galaxy install geerlingguy.apache geerlingguy.mysql geerlingguy.phpNote
- Create an Ansible playbook named
lamp.yml
with the following contents:---- hosts: allroles:- geerlingguy.mysql- geerlingguy.apache- geerlingguy.php - Run the playbook against a host
ansible-playbook lamp.yml
The LAMP server is now created.
Creating a Solr server with Ansible roles
Apache Solr is a fast open-source Java search server. Solr enables you to easily create search engines that search websites, databases, and files.
For more information on Solr, refer to the Solr official documentation.
- Install Java, tomcat6, Solr with an ansible-galaxy command. We will use the role of
geerlinguy
who is a software developer involved in many open-source development communities. Check geerlinguy for many other roles.ansible-galaxy install geerlingguy.java geerlingguy.tomcat6 geerlingguy.solr - Create a playbook named
solr.yml
with the following contents:---- hosts: allroles:- geerlingguy.java- geerlingguy.tomcat6- geerlingguy.solr - Run the playbook against a host
ansible-playbook solr.yml
The Solr server is now created.
Helpful Galaxy commands
Some other helpful ansible-galaxy
commands are:
ansible-galaxy list
displays a list of installed roles, with version numbersansible-galaxy remove [role]
removes an installed roleansible-galaxy init
can be used to create a role template suitable for submission to Ansible Galaxy
Additionally, you can configure the default path where Ansible roles are downloaded by editing your ansible.cfg
configuration file (normally located in /etc/ansible/ansible.cfg
) and setting a roles_path in the [defaults] section.
For more information on Galaxy commands, refer to the official documentation.