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
			
			
This commit is contained in:
		
							parent
							
								
									08fef990a8
								
							
						
					
					
						commit
						a22b33e5ca
					
				
							
								
								
									
										257
									
								
								sas4_vps_installation.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										257
									
								
								sas4_vps_installation.yml
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										99
									
								
								services_check.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								services_check.yml
									
									
									
									
									
										Normal file
									
								
							@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user