From a22b33e5caabd43ea6af9b71645f7fe919a82356 Mon Sep 17 00:00:00 2001 From: "ibrahim.tarik" Date: Tue, 7 Sep 2021 13:20:39 +0000 Subject: [PATCH] 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.txt --- sas4_vps_installation.yml | 257 ++++++++++++++++++++++++++++++++++++++ services_check.yml | 99 +++++++++++++++ 2 files changed, 356 insertions(+) create mode 100644 sas4_vps_installation.yml create mode 100644 services_check.yml diff --git a/sas4_vps_installation.yml b/sas4_vps_installation.yml new file mode 100644 index 0000000..39679a7 --- /dev/null +++ b/sas4_vps_installation.yml @@ -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 + diff --git a/services_check.yml b/services_check.yml new file mode 100644 index 0000000..ba7a6ff --- /dev/null +++ b/services_check.yml @@ -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 + +