Installing Ansible on Centos 7 is quite straightforward. Firstly, make sure that you have epel repository installed. If not, run the command below to install EPEL repository.
yum install epel-release
Another prerequisite to install and run Ansible is Python. If you have not got Python installed, install Python before installing Ansible.
Then you can begin to install ansible.
[root@localhost /]# yum install ansible
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.mirror.serversaustralia.com.au
* epel: mirror.intergrid.com.au
* extras: mirror.ventraip.net.au
* updates: centos.mirror.serversaustralia.com.au
Resolving Dependencies
–> Running transaction check
—> Package ansible.noarch 0:2.2.1.0-1.el7 will be installed
–> Processing Dependency: sshpass for package: ansible-2.2.1.0-1.el7.noarch
–> Processing Dependency: python-paramiko for package: ansible-2.2.1.0-1.el7.noarch
–> Processing Dependency: python-keyczar for package: ansible-2.2.1.0-1.el7.noarch
–> Processing Dependency: python-jinja2 for package: ansible-2.2.1.0-1.el7.noarch
–> Processing Dependency: python-httplib2 for package: ansible-2.2.1.0-1.el7.noarch
–> Processing Dependency: PyYAML for package: ansible-2.2.1.0-1.el7.noarch
–> Running transaction check
—> Package PyYAML.x86_64 0:3.10-11.el7 will be installed
–> Processing Dependency: libyaml-0.so.2()(64bit) for package: PyYAML-3.10-11.el7.x86_64
—> Package python-httplib2.noarch 0:0.7.7-3.el7 will be installed
—> Package python-jinja2.noarch 0:2.7.2-2.el7 will be installed
–> Processing Dependency: python-babel >= 0.8 for package: python-jinja2-2.7.2-2.el7.noarch
–> Processing Dependency: python-markupsafe for package: python-jinja2-2.7.2-2.el7.noarch
—> Package python-keyczar.noarch 0:0.71c-2.el7 will be installed
–> Processing Dependency: python-crypto for package: python-keyczar-0.71c-2.el7.noarch
—> Package python2-paramiko.noarch 0:1.16.1-2.el7 will be installed
–> Processing Dependency: python2-ecdsa for package: python2-paramiko-1.16.1-2.el7.noarch
—> Package sshpass.x86_64 0:1.06-1.el7 will be installed
–> Running transaction check
—> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed
—> Package python-babel.noarch 0:0.9.6-8.el7 will be installed
—> Package python-markupsafe.x86_64 0:0.11-10.el7 will be installed
—> Package python2-crypto.x86_64 0:2.6.1-13.el7 will be installed
–> Processing Dependency: libtomcrypt.so.0()(64bit) for package: python2-crypto-2.6.1-13.el7.x86_64
—> Package python2-ecdsa.noarch 0:0.13-4.el7 will be installed
–> Running transaction check
—> Package libtomcrypt.x86_64 0:1.17-23.el7 will be installed
–> Processing Dependency: libtommath >= 0.42.0 for package: libtomcrypt-1.17-23.el7.x86_64
–> Processing Dependency: libtommath.so.0()(64bit) for package: libtomcrypt-1.17-23.el7.x86_64
–> Running transaction check
—> Package libtommath.x86_64 0:0.42.0-4.el7 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================================================
Installing:
ansible noarch 2.2.1.0-1.el7 epel 4.6 M
Installing for dependencies:
PyYAML x86_64 3.10-11.el7 base 153 k
libtomcrypt x86_64 1.17-23.el7 epel 224 k
libtommath x86_64 0.42.0-4.el7 epel 35 k
libyaml x86_64 0.1.4-11.el7_0 base 55 k
python-babel noarch 0.9.6-8.el7 base 1.4 M
python-httplib2 noarch 0.7.7-3.el7 epel 70 k
python-jinja2 noarch 2.7.2-2.el7 base 515 k
python-keyczar noarch 0.71c-2.el7 epel 218 k
python-markupsafe x86_64 0.11-10.el7 base 25 k
python2-crypto x86_64 2.6.1-13.el7 epel 476 k
python2-ecdsa noarch 0.13-4.el7 epel 83 k
python2-paramiko noarch 1.16.1-2.el7 epel 258 k
sshpass x86_64 1.06-1.el7 epel 21 k
Transaction Summary
============================================================================================================================================================================================================================================
Install 1 Package (+13 Dependent packages)
Total download size: 8.0 M
Installed size: 36 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/epel/packages/libtommath-0.42.0-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY ] 455 kB/s | 1.0 MB 00:00:15 ETA
Public key for libtommath-0.42.0-4.el7.x86_64.rpm is not installed
(1/14): libtommath-0.42.0-4.el7.x86_64.rpm | 35 kB 00:00:01
(2/14): libyaml-0.1.4-11.el7_0.x86_64.rpm | 55 kB 00:00:01
(3/14): PyYAML-3.10-11.el7.x86_64.rpm | 153 kB 00:00:01
(4/14): python-httplib2-0.7.7-3.el7.noarch.rpm | 70 kB 00:00:00
(5/14): libtomcrypt-1.17-23.el7.x86_64.rpm | 224 kB 00:00:02
(6/14): python-markupsafe-0.11-10.el7.x86_64.rpm | 25 kB 00:00:00
(7/14): python2-crypto-2.6.1-13.el7.x86_64.rpm | 476 kB 00:00:01
(8/14): python2-ecdsa-0.13-4.el7.noarch.rpm | 83 kB 00:00:00
(9/14): python-keyczar-0.71c-2.el7.noarch.rpm | 218 kB 00:00:02
(10/14): python2-paramiko-1.16.1-2.el7.noarch.rpm | 258 kB 00:00:00
(11/14): sshpass-1.06-1.el7.x86_64.rpm | 21 kB 00:00:00
(12/14): python-jinja2-2.7.2-2.el7.noarch.rpm | 515 kB 00:00:04
(13/14): python-babel-0.9.6-8.el7.noarch.rpm | 1.4 MB 00:00:05
(14/14): ansible-2.2.1.0-1.el7.noarch.rpm | 4.6 MB 00:00:09
——————————————————————————————————————————————————————————————————————————————–
Total 880 kB/s | 8.0 MB 00:00:09
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid : “Fedora EPEL (7) <epel@fedoraproject.org>”
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package : epel-release-7-9.noarch (@extras)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : sshpass-1.06-1.el7.x86_64 1/14
Installing : python-babel-0.9.6-8.el7.noarch 2/14
Installing : libtommath-0.42.0-4.el7.x86_64 3/14
Installing : libtomcrypt-1.17-23.el7.x86_64 4/14
Installing : python2-crypto-2.6.1-13.el7.x86_64 5/14
Installing : python-keyczar-0.71c-2.el7.noarch 6/14
Installing : python2-ecdsa-0.13-4.el7.noarch 7/14
Installing : python2-paramiko-1.16.1-2.el7.noarch 8/14
Installing : python-httplib2-0.7.7-3.el7.noarch 9/14
Installing : python-markupsafe-0.11-10.el7.x86_64 10/14
Installing : python-jinja2-2.7.2-2.el7.noarch 11/14
Installing : libyaml-0.1.4-11.el7_0.x86_64 12/14
Installing : PyYAML-3.10-11.el7.x86_64 13/14
Installing : ansible-2.2.1.0-1.el7.noarch 14/14
Verifying : python-keyczar-0.71c-2.el7.noarch 1/14
Verifying : libyaml-0.1.4-11.el7_0.x86_64 2/14
Verifying : python-jinja2-2.7.2-2.el7.noarch 3/14
Verifying : python-markupsafe-0.11-10.el7.x86_64 4/14
Verifying : python-httplib2-0.7.7-3.el7.noarch 5/14
Verifying : python2-ecdsa-0.13-4.el7.noarch 6/14
Verifying : libtomcrypt-1.17-23.el7.x86_64 7/14
Verifying : ansible-2.2.1.0-1.el7.noarch 8/14
Verifying : python2-paramiko-1.16.1-2.el7.noarch 9/14
Verifying : libtommath-0.42.0-4.el7.x86_64 10/14
Verifying : PyYAML-3.10-11.el7.x86_64 11/14
Verifying : python-babel-0.9.6-8.el7.noarch 12/14
Verifying : sshpass-1.06-1.el7.x86_64 13/14
Verifying : python2-crypto-2.6.1-13.el7.x86_64 14/14
Installed:
ansible.noarch 0:2.2.1.0-1.el7
Dependency Installed:
PyYAML.x86_64 0:3.10-11.el7 libtomcrypt.x86_64 0:1.17-23.el7 libtommath.x86_64 0:0.42.0-4.el7 libyaml.x86_64 0:0.1.4-11.el7_0 python-babel.noarch 0:0.9.6-8.el7 python-httplib2.noarch 0:0.7.7-3.el7
python-jinja2.noarch 0:2.7.2-2.el7 python-keyczar.noarch 0:0.71c-2.el7 python-markupsafe.x86_64 0:0.11-10.el7 python2-crypto.x86_64 0:2.6.1-13.el7 python2-ecdsa.noarch 0:0.13-4.el7 python2-paramiko.noarch 0:1.16.1-2.el7
sshpass.x86_64 0:1.06-1.el7
Complete!
Now you can verify your installation by the CLI below:
[root@localhost /]# ansible –version
ansible 2.2.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
[root@localhost /]#