First Commit
Steps to start the playook 1- Add hosts in /etc/ansible/hosts 2- Create vault secret password example: ansible-vault create secret it will promot yoy to enter password inside secret file add the line: (ansible_sudo_pass: yourSudoPassword) 3- Create text file for vault secret and place inside the password of secret file from previous step 4- To execute the playbook just run the following ansible-playbook playbook_name --sudo --vault-password-file=vault.txtmaster
parent
08fef990a8
commit
a22b33e5ca
|
@ -0,0 +1,257 @@
|
||||||
|
---
|
||||||
|
- name: Playbook
|
||||||
|
hosts: ansible_client
|
||||||
|
become: yes
|
||||||
|
become_user: root
|
||||||
|
vars_files:
|
||||||
|
- secret
|
||||||
|
tasks:
|
||||||
|
- name: Download SAS4 ISO IMAGE
|
||||||
|
get_url:
|
||||||
|
url: http://192.168.240.50/sas4.iso
|
||||||
|
dest: /root/sasradius.iso
|
||||||
|
mode: '0666'
|
||||||
|
- name: create a directory for ISO image mounting point
|
||||||
|
file:
|
||||||
|
path: /mnt/sas
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
state: directory
|
||||||
|
mode: 0755
|
||||||
|
- name: Mount an ISO Temporarily
|
||||||
|
mount:
|
||||||
|
src: /root/sasradius.iso
|
||||||
|
path: /mnt/sas
|
||||||
|
fstype: iso9660
|
||||||
|
opts: ro
|
||||||
|
state: mounted
|
||||||
|
|
||||||
|
- name: updating apt cache
|
||||||
|
apt:
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 1 mc
|
||||||
|
apt:
|
||||||
|
name: mc
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 2 supervisor
|
||||||
|
apt:
|
||||||
|
name: supervisor
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 3 mysql-client
|
||||||
|
apt:
|
||||||
|
name: mysql-client
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 4 mysql-server
|
||||||
|
apt:
|
||||||
|
name: mysql-server
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 5 apache2
|
||||||
|
apt:
|
||||||
|
name: apache2
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 6 php7.2-mysql
|
||||||
|
apt:
|
||||||
|
name: php7.2-mysql
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 7 php7.2-cli
|
||||||
|
apt:
|
||||||
|
name: php7.2-cli
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 8 php7.2-gd
|
||||||
|
apt:
|
||||||
|
name: php7.2-gd
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 9 php7.2-xml
|
||||||
|
apt:
|
||||||
|
name: php7.2-xml
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 10 php-tcpdf
|
||||||
|
apt:
|
||||||
|
name: php-tcpdf
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 11 php-net-smtp
|
||||||
|
apt:
|
||||||
|
name: php-net-smtp
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 12 php-mail
|
||||||
|
apt:
|
||||||
|
name: php-mail
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 13 php7.2-json
|
||||||
|
apt:
|
||||||
|
name: php7.2-json
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 14 libmysqlcppconn7v5
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 15 libcrypto++6
|
||||||
|
apt:
|
||||||
|
name: libcrypto++6
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 16 libtalloc2
|
||||||
|
apt:
|
||||||
|
name: libtalloc2
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 17 libapache2-mod-php
|
||||||
|
apt:
|
||||||
|
name: libapache2-mod-php
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 18 jq
|
||||||
|
apt:
|
||||||
|
name: jq
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 19 openssh-server
|
||||||
|
apt:
|
||||||
|
name: openssh-server
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 20 net-tools
|
||||||
|
apt:
|
||||||
|
name: net-tools
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 21 php-mbstring
|
||||||
|
apt:
|
||||||
|
name: php-mbstring
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 22 php-zip
|
||||||
|
apt:
|
||||||
|
name: php-zip
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 23 curl
|
||||||
|
apt:
|
||||||
|
name: curl
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 24 sendemail
|
||||||
|
apt:
|
||||||
|
name: sendemail
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install debian Package 25 libcurl3-gnutls
|
||||||
|
apt:
|
||||||
|
name: libcurl3-gnutls
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install debian Package 26 libnet-ssleay-perl
|
||||||
|
apt:
|
||||||
|
name: libnet-ssleay-perl
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 27 libio-socket-ssl-perl
|
||||||
|
apt:
|
||||||
|
name: libio-socket-ssl-perl
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install debian Package 28 pptp-linux
|
||||||
|
apt:
|
||||||
|
name: pptp-linux
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 29 pptpd
|
||||||
|
apt:
|
||||||
|
name: pptpd
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install debian Package 30 at
|
||||||
|
apt:
|
||||||
|
name: at
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install debian drive package
|
||||||
|
apt:
|
||||||
|
deb: /mnt/sas/pool/extras/drive_0.3.9.1-2_amd64.deb
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 32 expect
|
||||||
|
apt:
|
||||||
|
name: expect
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install debian Package 33 libsensors4
|
||||||
|
apt:
|
||||||
|
name: libsensors4
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 34 snmp
|
||||||
|
apt:
|
||||||
|
name: snmp
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 35 libmysqlclient20
|
||||||
|
apt:
|
||||||
|
name: libmysqlclient20
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Install debian Package 36 libmysqlcppconn7v5
|
||||||
|
apt:
|
||||||
|
name: libmysqlcppconn7v5
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: create sas group
|
||||||
|
group: name=sas state=present
|
||||||
|
|
||||||
|
- name: Add sas user and add it to sudo
|
||||||
|
user: name=sas
|
||||||
|
state=present
|
||||||
|
createhome=yes
|
||||||
|
password="{{ 'sas123' | password_hash('sha512') }}"
|
||||||
|
shell="/bin/bash"
|
||||||
|
groups=sas,sudo,cdrom
|
||||||
|
append=yes
|
||||||
|
|
||||||
|
- name: add the user to sudo group
|
||||||
|
shell: "usermod -aG sudo sas"
|
||||||
|
|
||||||
|
- name: Install debian snono-sas4 package
|
||||||
|
apt:
|
||||||
|
deb: /mnt/sas/pool/extras/snonosystems-sas4.deb
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Fix missing shared libraries
|
||||||
|
command: "/sbin/ldconfig -v"
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: change directory before unmount
|
||||||
|
command: chdir=/root ls
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Unmount the ISO
|
||||||
|
mount:
|
||||||
|
path: /mnt/sas
|
||||||
|
state: unmounted
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Run First Time Script
|
||||||
|
command: "/opt/sas4/scripts/firsttime.sh"
|
||||||
|
ignore_errors: yes
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
---
|
||||||
|
- name: Checking Services Status
|
||||||
|
hosts: ansible_client
|
||||||
|
become: yes
|
||||||
|
become_user: root
|
||||||
|
vars_files:
|
||||||
|
- secret
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
- name: checking Apache2 Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services.apache2.state
|
||||||
|
|
||||||
|
- name: checking sas_sms Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_sms.service"].state
|
||||||
|
|
||||||
|
- name: checking sas_mailpoller Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_mailpoller.service"].state
|
||||||
|
|
||||||
|
- name: checking sas_crontab Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_crontab.service"].state
|
||||||
|
|
||||||
|
- name: checking sas_policymanager Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_policymanager.service"].state
|
||||||
|
|
||||||
|
- name: checking sas_trafficaccounting Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_trafficaccounting.service"].state
|
||||||
|
|
||||||
|
- name: checking supervisor Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services.supervisor.state
|
||||||
|
|
||||||
|
- name: checking sas_dispoller Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_dispoller.service"].state
|
||||||
|
|
||||||
|
- name: checking mysql Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services.mysql.state
|
||||||
|
|
||||||
|
- name: checking sas_poller Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_poller.service"].state
|
||||||
|
|
||||||
|
|
||||||
|
- name: checking sas_profilechanger Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_profilechanger.service"].state
|
||||||
|
|
||||||
|
- name: checking sas_systemmanager Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_systemmanager.service"].state
|
||||||
|
|
||||||
|
- name: checking sas_cardsgenerator Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_cardsgenerator.service"].state
|
||||||
|
|
||||||
|
- name: checking freeradius Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["freeradius.service"].state
|
||||||
|
|
||||||
|
- name: checking sas_updatemanager Service
|
||||||
|
service_facts:
|
||||||
|
- debug:
|
||||||
|
var: ansible_facts.services["sas_updatemanager.service"].state
|
||||||
|
|
||||||
|
|
||||||
|
- name: Checking system Storage
|
||||||
|
shell: "df -kh"
|
||||||
|
register: storage
|
||||||
|
- debug:
|
||||||
|
var: storage
|
||||||
|
|
||||||
|
- name: Checking system Memory
|
||||||
|
shell: "free -h"
|
||||||
|
register: memory
|
||||||
|
- debug:
|
||||||
|
var: memory
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue